| author | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-10-06 19:46:10 UTC |
| committer | Stephen Paul Weber
<singpolyma@singpolyma.net> 2026-10-06 19:46:10 UTC |
| parent | 9b4e911750681308892c6d1e92805969fd081c0a |
| Sources/Borogove/Borogove.swift | +304 | -88 |
| Sources/c_borogove/iinclude/Array.h | +429 | -72 |
| Sources/c_borogove/iinclude/Dynamic.h | +76 | -49 |
| Sources/c_borogove/iinclude/Enum.h | +6 | -6 |
| Sources/c_borogove/iinclude/Lambda.h | +3 | -0 |
| Sources/c_borogove/iinclude/StringTools.h | +3 | -0 |
| Sources/c_borogove/iinclude/Xml.h | +3 | -0 |
| Sources/c_borogove/iinclude/borogove/AttachmentUploadError.h | +59 | -0 |
| Sources/c_borogove/iinclude/borogove/AvailableChat.h | +5 | -3 |
| Sources/c_borogove/iinclude/borogove/Channel.h | +39 | -3 |
| Sources/c_borogove/iinclude/borogove/ChannelPinger.h | +84 | -0 |
| Sources/c_borogove/iinclude/borogove/Chat.h | +19 | -11 |
| Sources/c_borogove/iinclude/borogove/ChatAttachment.h | +16 | -0 |
| Sources/c_borogove/iinclude/borogove/ChatMessage.h | +22 | -4 |
| Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h | +17 | -6 |
| Sources/c_borogove/iinclude/borogove/ChatMessageCombiner.h | +73 | -0 |
| Sources/c_borogove/iinclude/borogove/Client.h | +52 | -5 |
| Sources/c_borogove/iinclude/borogove/Command.h | +1 | -1 |
| Sources/c_borogove/iinclude/borogove/CommandSession.h | +1 | -1 |
| Sources/c_borogove/iinclude/borogove/DirectChat.h | +2 | -2 |
| Sources/c_borogove/iinclude/borogove/EncryptionInfo.h | +3 | -3 |
| Sources/c_borogove/iinclude/borogove/FormOption.h | +12 | -12 |
| Sources/c_borogove/iinclude/borogove/Hash.h | +13 | -0 |
| Sources/c_borogove/iinclude/borogove/IncrementalHash.h | +59 | -0 |
| Sources/c_borogove/iinclude/borogove/Member.h | +6 | -0 |
| Sources/c_borogove/iinclude/borogove/MessageStanza.h | +3 | -0 |
| Sources/c_borogove/iinclude/borogove/MessageSync.h | +3 | -0 |
| Sources/c_borogove/iinclude/borogove/ModerationAction.h | +14 | -12 |
| Sources/c_borogove/iinclude/borogove/MucSettingsCommand.h | +56 | -0 |
| Sources/c_borogove/iinclude/borogove/MucSettingsCommandSession.h | +58 | -0 |
| Sources/c_borogove/iinclude/borogove/Notification.h | +4 | -0 |
| Sources/c_borogove/iinclude/borogove/Participant.h | +0 | -92 |
| Sources/c_borogove/iinclude/borogove/Persistence.h | +23 | -9 |
| Sources/c_borogove/iinclude/borogove/Persistence__Companion.h | +5 | -3 |
| Sources/c_borogove/iinclude/borogove/SerializedChat.h | +7 | -6 |
| Sources/c_borogove/iinclude/borogove/Sha1.h | +74 | -0 |
| Sources/c_borogove/iinclude/borogove/Stanza.h | +15 | -6 |
| Sources/c_borogove/iinclude/borogove/StanzaError.h | +5 | -5 |
| Sources/c_borogove/iinclude/borogove/_Source/Source_Impl_.h | +66 | -0 |
| Sources/c_borogove/iinclude/borogove/_XEP0454/XEP0454_Fields_.h | +73 | -0 |
| Sources/c_borogove/iinclude/borogove/persistence/Dummy.h | +14 | -3 |
| Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h | +8 | -6 |
| Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h | +4 | -2 |
| Sources/c_borogove/iinclude/borogove/persistence/MediaStore__Companion.h | +4 | -2 |
| Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h | +43 | -3 |
| Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h | +2 | -0 |
| Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h | +3 | -4 |
| Sources/c_borogove/iinclude/borogove/queries/MucSettingsGet.h | +64 | -0 |
| Sources/c_borogove/iinclude/borogove/queries/MucSettingsSubmit.h | +64 | -0 |
| Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h | +4 | -0 |
| Sources/c_borogove/iinclude/cpp/CppInt32__.h | +4 | -4 |
| Sources/c_borogove/iinclude/cpp/FastIterator.h | +14 | -9 |
| Sources/c_borogove/iinclude/cpp/Pointer.h | +11 | -2 |
| Sources/c_borogove/iinclude/cpp/Variant.h | +53 | -28 |
| Sources/c_borogove/iinclude/cpp/VirtualArray.h | +71 | -19 |
| Sources/c_borogove/iinclude/cpp/encoding/Ascii.hpp | +24 | -0 |
| Sources/c_borogove/iinclude/cpp/encoding/Utf16.hpp | +27 | -0 |
| Sources/c_borogove/iinclude/cpp/encoding/Utf8.hpp | +26 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/Boxed.hpp | +39 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/Definitions.inc | +330 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/Marshal.hpp | +521 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/PointerReference.hpp | +170 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/PointerType.hpp | +68 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/RootHandle.hpp | +46 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/ValueReference.hpp | +140 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/ValueType.hpp | +74 | -0 |
| Sources/c_borogove/iinclude/cpp/marshal/View.hpp | +136 | -0 |
| Sources/c_borogove/iinclude/cpp/vm/Gc.h | +62 | -0 |
| Sources/c_borogove/iinclude/cpp/vm/WeakRef.h | +81 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/Aes.h | +107 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/CBC.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/CCM.h | +86 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/CFB.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/CMAC.h | +71 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/CTR.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/EAX.h | +74 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/ECB.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/GCM.h | +89 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/GCMSIV.h | +92 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/OFB.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/PCBC.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/mode/SIV.h | +86 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/AnsiX923.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/BitPadding.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/ISO10126.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/NoPadding.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/NullPadding.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/PKCS7.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/SpacePadding.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/padding/TBC.h | +68 | -0 |
| Sources/c_borogove/iinclude/haxe/crypto/random/SecureRandom.h | +10 | -0 |
| Sources/c_borogove/iinclude/haxe/io/Input.h | +3 | -0 |
| Sources/c_borogove/iinclude/haxe/io/Output.h | +0 | -3 |
| Sources/c_borogove/iinclude/haxe/io/Path.h | +3 | -0 |
| Sources/c_borogove/iinclude/hx/Anon.h | +24 | -24 |
| Sources/c_borogove/iinclude/hx/CFFILoader.h | +1 | -1 |
| Sources/c_borogove/iinclude/hx/CFFIPrime.h | +69 | -64 |
| Sources/c_borogove/iinclude/hx/Class.h | +7 | -7 |
| Sources/c_borogove/iinclude/hx/Debug.h | +11 | -0 |
| Sources/c_borogove/iinclude/hx/DynamicImpl.h | +232 | -145 |
| Sources/c_borogove/iinclude/hx/DynamicImpl.tpl | +35 | -28 |
| Sources/c_borogove/iinclude/hx/ErrorCodes.h | +9 | -9 |
| Sources/c_borogove/iinclude/hx/FieldRef.h | +11 | -11 |
| Sources/c_borogove/iinclude/hx/Functions.h | +401 | -3 |
| Sources/c_borogove/iinclude/hx/GC.h | +28 | -28 |
| Sources/c_borogove/iinclude/hx/GcTypeInference.h | +8 | -0 |
| Sources/c_borogove/iinclude/hx/GenMacro.hx | +7 | -5 |
| Sources/c_borogove/iinclude/hx/HxcppMain.h | +16 | -7 |
| Sources/c_borogove/iinclude/hx/Invoker.h | +193 | -0 |
| Sources/c_borogove/iinclude/hx/LessThanEq.h | +59 | -4 |
| Sources/c_borogove/iinclude/hx/Macros.h | +378 | -244 |
| Sources/c_borogove/iinclude/hx/Macros.tpl | +58 | -32 |
| Sources/c_borogove/iinclude/hx/MacrosFixed.h | +8 | -8 |
| Sources/c_borogove/iinclude/hx/MacrosJumbo.h | +551 | -295 |
| Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl | +18 | -8 |
| Sources/c_borogove/iinclude/hx/Native.h | +2 | -2 |
| Sources/c_borogove/iinclude/hx/ObjcHelpers.h | +12 | -12 |
| Sources/c_borogove/iinclude/hx/Object.h | +10 | -5 |
| Sources/c_borogove/iinclude/hx/Operators.h | +18 | -5 |
| Sources/c_borogove/iinclude/hx/Scriptable.h | +34 | -26 |
| Sources/c_borogove/iinclude/hx/StackContext.h | +1 | -1 |
| Sources/c_borogove/iinclude/hx/StdLibs.h | +115 | -14 |
| Sources/c_borogove/iinclude/hx/StringAlloc.h | +9 | -1 |
| Sources/c_borogove/iinclude/hx/Telemetry.h | +0 | -1 |
| Sources/c_borogove/iinclude/hx/TelemetryTracy.h | +3 | -3 |
| Sources/c_borogove/iinclude/hx/Thread.h | +21 | -20 |
| Sources/c_borogove/iinclude/hx/Tls.h | +8 | -8 |
| Sources/c_borogove/iinclude/hx/thread/ConditionVariable.hpp | +30 | -0 |
| Sources/c_borogove/iinclude/hx/thread/CountingSemaphore.hpp | +27 | -0 |
| Sources/c_borogove/iinclude/hx/thread/RecursiveMutex.hpp | +27 | -0 |
| Sources/c_borogove/iinclude/hx/thread/Scratch.hpp | +33 | -0 |
| Sources/c_borogove/iinclude/hx/thread/Thread.hpp | +30 | -0 |
| Sources/c_borogove/iinclude/hx/thread/ThreadLocal.hpp | +26 | -0 |
| Sources/c_borogove/iinclude/hx/zip/Compress.hpp | +19 | -0 |
| Sources/c_borogove/iinclude/hx/zip/Uncompress.hpp | +17 | -0 |
| Sources/c_borogove/iinclude/hx/zip/Zip.hpp | +36 | -0 |
| Sources/c_borogove/iinclude/hxMath.h | +26 | -1 |
| Sources/c_borogove/iinclude/hxString.h | +27 | -3 |
| Sources/c_borogove/iinclude/hxcpp.h | +35 | -10 |
| Sources/c_borogove/iinclude/null.h | +21 | -8 |
| Sources/c_borogove/iinclude/sys/FileSystem.h | +3 | -0 |
| Sources/c_borogove/iinclude/sys/io/File.h | +0 | -4 |
| Sources/c_borogove/iinclude/tink/core/OutcomeTools.h | +63 | -0 |
| Sources/c_borogove/iinclude/tink/http/ContentType.h | +65 | -0 |
| Sources/c_borogove/iinclude/tink/http/Header.h | +3 | -0 |
| Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h | +6 | -0 |
| Sources/c_borogove/iinclude/tink/streams/StreamBase.h | +3 | -0 |
| Sources/c_borogove/iinclude/tink/streams/StreamObject.h | +4 | -0 |
| Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h | +0 | -4 |
| Sources/c_borogove/iinclude/tink/streams/_Stream/Mapping_Impl_.h | +64 | -0 |
| Sources/c_borogove/iinclude/tink/url/_Portion/Portion_Impl_.h | +67 | -0 |
| Sources/c_borogove/iinclude/tink/url/_Query/QueryStringParser.h | +69 | -0 |
| Sources/c_borogove/include/borogove.h | +179 | -25 |
| Sources/c_borogove/src/Array.cpp | +306 | -119 |
| Sources/c_borogove/src/Dynamic.cpp | +68 | -56 |
| Sources/c_borogove/src/HaxeCBridge.cpp | +166 | -166 |
| Sources/c_borogove/src/Lambda.cpp | +21 | -0 |
| Sources/c_borogove/src/Math.cpp | +59 | -0 |
| Sources/c_borogove/src/String.cpp | +301 | -70 |
| Sources/c_borogove/src/StringTools.cpp | +25 | -14 |
| Sources/c_borogove/src/Xml.cpp | +32 | -0 |
| Sources/c_borogove/src/_HaxeCBridge/HaxeArray_Impl_.cpp | +29 | -29 |
| Sources/c_borogove/src/_HaxeCBridge/HaxeOpaqueArray_Impl_.cpp | +23 | -23 |
| Sources/c_borogove/src/_HaxeCBridge/HaxeStringArray_Impl_.cpp | +33 | -33 |
| Sources/c_borogove/src/_HaxeCBridge/Internal.cpp | +7 | -7 |
| Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp | +882 | -112 |
| Sources/c_borogove/src/__boot__.cpp | +169 | -20 |
| Sources/c_borogove/src/borogove/AttachmentUploadError.cpp | +192 | -0 |
| Sources/c_borogove/src/borogove/Autolink.cpp | +7 | -1 |
| Sources/c_borogove/src/borogove/AvailableChat.cpp | +61 | -46 |
| Sources/c_borogove/src/borogove/AvailableChatIterator.cpp | +103 | -100 |
| Sources/c_borogove/src/borogove/Caps.cpp | +324 | -301 |
| Sources/c_borogove/src/borogove/CapsRepo.cpp | +4 | -7 |
| Sources/c_borogove/src/borogove/Channel.cpp | +2519 | -1754 |
| Sources/c_borogove/src/borogove/ChannelPinger.cpp | +325 | -0 |
| Sources/c_borogove/src/borogove/Chat.cpp | +1183 | -960 |
| Sources/c_borogove/src/borogove/ChatAttachment.cpp | +180 | -62 |
| Sources/c_borogove/src/borogove/ChatMessage.cpp | +951 | -751 |
| Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp | +443 | -337 |
| Sources/c_borogove/src/borogove/ChatMessageCombiner.cpp | +296 | -0 |
| Sources/c_borogove/src/borogove/Client.cpp | +4172 | -2919 |
| Sources/c_borogove/src/borogove/CommandSession.cpp | +6 | -3 |
| Sources/c_borogove/src/borogove/DirectChat.cpp | +676 | -577 |
| Sources/c_borogove/src/borogove/EncryptionInfo.cpp | +37 | -37 |
| Sources/c_borogove/src/borogove/Form.cpp | +18 | -15 |
| Sources/c_borogove/src/borogove/FormField.cpp | +86 | -83 |
| Sources/c_borogove/src/borogove/FormLayoutSection.cpp | +16 | -13 |
| Sources/c_borogove/src/borogove/FormOption.cpp | +25 | -22 |
| Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp | +10 | -13 |
| Sources/c_borogove/src/borogove/GenericStream.cpp | +10 | -7 |
| Sources/c_borogove/src/borogove/Hash.cpp | +146 | -79 |
| Sources/c_borogove/src/borogove/Html.cpp | +36 | -24 |
| Sources/c_borogove/src/borogove/Identity.cpp | +58 | -52 |
| Sources/c_borogove/src/borogove/IncrementalHash.cpp | +165 | -0 |
| Sources/c_borogove/src/borogove/LinkMetadata.cpp | +19 | -19 |
| Sources/c_borogove/src/borogove/Member.cpp | +199 | -138 |
| Sources/c_borogove/src/borogove/MemberUpdate.cpp | +9 | -12 |
| Sources/c_borogove/src/borogove/Message.cpp | +912 | -760 |
| Sources/c_borogove/src/borogove/MessageStanza.cpp | +17 | -2 |
| Sources/c_borogove/src/borogove/MessageSync.cpp | +194 | -133 |
| Sources/c_borogove/src/borogove/ModerationAction.cpp | +30 | -18 |
| Sources/c_borogove/src/borogove/MucSettingsCommand.cpp | +189 | -0 |
| Sources/c_borogove/src/borogove/MucSettingsCommandSession.cpp | +200 | -0 |
| Sources/c_borogove/src/borogove/Notification.cpp | +81 | -10 |
| Sources/c_borogove/src/borogove/Participant.cpp | +0 | -596 |
| Sources/c_borogove/src/borogove/Persistence.cpp | +29 | -14 |
| Sources/c_borogove/src/borogove/Persistence__Companion.cpp | +55 | -63 |
| Sources/c_borogove/src/borogove/ProfileBuilder.cpp | +2 | -2 |
| Sources/c_borogove/src/borogove/PubsubEvent.cpp | +9 | -6 |
| Sources/c_borogove/src/borogove/Push.cpp | +119 | -82 |
| Sources/c_borogove/src/borogove/ReactionUpdate.cpp | +3 | -3 |
| Sources/c_borogove/src/borogove/SerializedChat.cpp | +132 | -115 |
| Sources/c_borogove/src/borogove/Sha1.cpp | +440 | -0 |
| Sources/c_borogove/src/borogove/Stanza.cpp | +524 | -416 |
| Sources/c_borogove/src/borogove/StanzaError.cpp | +5 | -5 |
| Sources/c_borogove/src/borogove/Status.cpp | +11 | -5 |
| Sources/c_borogove/src/borogove/Util.cpp | +43 | -43 |
| Sources/c_borogove/src/borogove/XEP0393.cpp | +17 | -14 |
| Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp | +7 | -4 |
| Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp | +24 | -21 |
| Sources/c_borogove/src/borogove/_Presence/Presence_Impl_.cpp | +17 | -14 |
| Sources/c_borogove/src/borogove/_Source/Source_Impl_.cpp | +103 | -0 |
| Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp | +30 | -30 |
| Sources/c_borogove/src/borogove/_XEP0454/XEP0454_Fields_.cpp | +340 | -0 |
| Sources/c_borogove/src/borogove/calls/Group.cpp | +11 | -8 |
| Sources/c_borogove/src/borogove/calls/IceCandidate.cpp | +19 | -19 |
| Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp | +121 | -121 |
| Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp | +594 | -609 |
| Sources/c_borogove/src/borogove/calls/Media.cpp | +79 | -77 |
| Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp | +132 | -135 |
| Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp | +26 | -26 |
| Sources/c_borogove/src/borogove/calls/SessionDescription.cpp | +8 | -2 |
| Sources/c_borogove/src/borogove/calls/TransportInfo.cpp | +8 | -2 |
| Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp | +19 | -16 |
| Sources/c_borogove/src/borogove/persistence/Dummy.cpp | +135 | -86 |
| Sources/c_borogove/src/borogove/persistence/MediaStore.cpp | +6 | -0 |
| Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp | +162 | -78 |
| Sources/c_borogove/src/borogove/persistence/MediaStore__Companion.cpp | +61 | -60 |
| Sources/c_borogove/src/borogove/persistence/Sqlite.cpp | +2765 | -2195 |
| Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp | +120 | -90 |
| Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp | +9 | -6 |
| Sources/c_borogove/src/borogove/queries/BoB.cpp | +10 | -7 |
| Sources/c_borogove/src/borogove/queries/CommandExecute.cpp | +25 | -19 |
| Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp | +13 | -7 |
| Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp | +10 | -4 |
| Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp | +8 | -2 |
| Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp | +42 | -60 |
| Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp | +9 | -3 |
| Sources/c_borogove/src/borogove/queries/MAMQuery.cpp | +20 | -17 |
| Sources/c_borogove/src/borogove/queries/MucSettingsGet.cpp | +225 | -0 |
| Sources/c_borogove/src/borogove/queries/MucSettingsSubmit.cpp | +217 | -0 |
| Sources/c_borogove/src/borogove/queries/PubsubGet.cpp | +12 | -6 |
| Sources/c_borogove/src/borogove/queries/Push2Disable.cpp | +8 | -2 |
| Sources/c_borogove/src/borogove/queries/Push2Enable.cpp | +15 | -15 |
| Sources/c_borogove/src/borogove/queries/RosterGet.cpp | +10 | -39 |
| Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp | +8 | -2 |
| Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp | +358 | -311 |
| Sources/c_borogove/src/cpp/vm/Gc.cpp | +88 | -0 |
| Sources/c_borogove/src/cpp/vm/WeakRef.cpp | +143 | -0 |
| Sources/c_borogove/src/haxe/crypto/Aes.cpp | +1020 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/CBC.cpp | +146 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/CCM.cpp | +446 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/CFB.cpp | +150 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/CMAC.cpp | +239 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/CTR.cpp | +135 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/EAX.cpp | +266 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/ECB.cpp | +113 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/GCM.cpp | +427 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/GCMSIV.cpp | +625 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/OFB.cpp | +125 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/PCBC.cpp | +151 | -0 |
| Sources/c_borogove/src/haxe/crypto/mode/SIV.cpp | +342 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/AnsiX923.cpp | +117 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/BitPadding.cpp | +133 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/ISO10126.cpp | +123 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/NoPadding.cpp | +105 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/NullPadding.cpp | +132 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/PKCS7.cpp | +138 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/SpacePadding.cpp | +132 | -0 |
| Sources/c_borogove/src/haxe/crypto/padding/TBC.cpp | +140 | -0 |
| Sources/c_borogove/src/haxe/crypto/random/SecureRandom.cpp | +104 | -0 |
| Sources/c_borogove/src/haxe/io/Input.cpp | +23 | -0 |
| Sources/c_borogove/src/haxe/io/Output.cpp | +0 | -20 |
| Sources/c_borogove/src/haxe/io/Path.cpp | +26 | -11 |
| Sources/c_borogove/src/hx/CFFI.cpp | +57 | -13 |
| Sources/c_borogove/src/hx/Debug.cpp | +19 | -16 |
| Sources/c_borogove/src/hx/Hash.h | +22 | -22 |
| Sources/c_borogove/src/hx/Lib.cpp | +78 | -40 |
| Sources/c_borogove/src/hx/Object.cpp | +12 | -10 |
| Sources/c_borogove/src/hx/Thread.cpp | +81 | -609 |
| Sources/c_borogove/src/hx/gc/Immix.cpp | +104 | -146 |
| Sources/c_borogove/src/hx/libs/regexp/Build.xml | +3 | -3 |
| Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp | +3 | -3 |
| Sources/c_borogove/src/hx/libs/sqlite/Build.xml | +1 | -1 |
| Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp | +6 | -5 |
| Sources/c_borogove/src/hx/libs/ssl/SSL.cpp | +48 | -0 |
| Sources/c_borogove/src/hx/libs/std/File.cpp | +42 | -5 |
| Sources/c_borogove/src/hx/libs/std/Process.cpp | +2 | -2 |
| Sources/c_borogove/src/hx/libs/std/Random.cpp | +1 | -1 |
| Sources/c_borogove/src/hx/libs/std/Socket.cpp | +38 | -17 |
| Sources/c_borogove/src/hx/libs/std/Sys.cpp | +2 | -2 |
| Sources/c_borogove/src/hx/thread/ConditionVariable.cpp | +55 | -0 |
| Sources/c_borogove/src/hx/thread/CountingSemaphore.apple.cpp | +48 | -0 |
| Sources/c_borogove/src/hx/thread/RecursiveMutex.cpp | +35 | -0 |
| Sources/c_borogove/src/hx/thread/Scratch.cpp | +74 | -0 |
| Sources/c_borogove/src/hx/thread/ThreadImpl.cpp | +188 | -0 |
| Sources/c_borogove/src/hx/thread/ThreadImpl.hpp | +58 | -0 |
| Sources/c_borogove/src/hx/thread/ThreadImpl.noop.cpp | +15 | -0 |
| Sources/c_borogove/src/hx/thread/ThreadLocal.cpp | +67 | -0 |
| Sources/c_borogove/src/sys/FileSystem.cpp | +11 | -0 |
| Sources/c_borogove/src/sys/io/File.cpp | +0 | -18 |
| Sources/c_borogove/src/tink/core/OutcomeTools.cpp | +100 | -0 |
| Sources/c_borogove/src/tink/http/ContentType.cpp | +219 | -0 |
| Sources/c_borogove/src/tink/http/Header.cpp | +19 | -0 |
| Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp | +85 | -0 |
| Sources/c_borogove/src/tink/streams/StreamBase.cpp | +14 | -0 |
| Sources/c_borogove/src/tink/streams/StreamObject.cpp | +1 | -0 |
| Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp | +0 | -35 |
| Sources/c_borogove/src/tink/streams/_Stream/Mapping_Impl_.cpp | +125 | -0 |
| Sources/c_borogove/src/tink/url/_Portion/Portion_Impl_.cpp | +131 | -0 |
| Sources/c_borogove/src/tink/url/_Query/QueryStringParser.cpp | +249 | -0 |
diff --git a/Sources/Borogove/Borogove.swift b/Sources/Borogove/Borogove.swift
index 5a0f6bf..732320d 100644
--- a/Sources/Borogove/Borogove.swift
+++ b/Sources/Borogove/Borogove.swift
@@ -1,6 +1,6 @@
import c_borogove
-public func setup(_ handler: @convention(c) @escaping (UnsafePointer<CChar>?)->Void) {
+public func setup(_ handler: @convention(c) @escaping @Sendable (UnsafePointer<CChar>?)->Void) {
c_borogove.borogove_setup(handler)
}
@@ -180,25 +180,22 @@ public class Html: SDKObject, @unchecked Sendable {
}
public protocol MediaStore: SDKObject {
- func hasMedia(hashAlgorithm: String, hash: Array<UInt8>) async -> Bool
+ func hasMedia(hash: Hash) async -> String?
func removeMedia(hashAlgorithm: String, hash: Array<UInt8>) async -> Bool
- func storeMedia(mime: String, bytes: Array<UInt8>) async -> Bool
-
}
public extension MediaStore {
- func hasMedia(hashAlgorithm: String, hash: Array<UInt8>) async -> Bool {
+ func hasMedia(hash: Hash) async -> String? {
return await withUnsafeContinuation { cont in
let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
let __result = c_borogove.borogove_persistence_media_store_has_media(
self.o,
- hashAlgorithm,
- hash, hash.count,
+ hash.o,
{ (a, ctx) in
- let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
- cont.resume(returning: a)
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<String?, Never>
+ cont.resume(returning: useString(a))
},
__cont_ptr
)
@@ -223,23 +220,6 @@ public extension MediaStore {
}
}
- func storeMedia(mime: String, bytes: Array<UInt8>) async -> Bool {
- return await withUnsafeContinuation { cont in
- let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
- let __result = c_borogove.borogove_persistence_media_store_store_media(
- self.o,
- mime,
- bytes, bytes.count,
- { (a, ctx) in
- let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
- cont.resume(returning: a)
- },
- __cont_ptr
- )
- return __result
- }
- }
-
}
public class AnyMediaStore: MediaStore {
@@ -446,6 +426,14 @@ public class Hash: SDKObject, @unchecked Sendable {
return __result
}
+ public func equals(other: Hash) -> Bool {
+ let __result = c_borogove.borogove_hash_equals(
+ self.o,
+ other.o
+ )
+ return __result
+ }
+
deinit {
c_borogove.borogove_release(o)
}
@@ -476,6 +464,15 @@ public class ChatAttachment: SDKObject, @unchecked Sendable {
)!)
}
+ /**
+ Location of the data in cache, if present
+ */
+ public var cachedAt: String? {
+ get {
+ useString(c_borogove.borogove_chat_attachment_cached_at(o))
+ }
+ }
+
/**
Filename
*/
@@ -679,6 +676,12 @@ public class ChatMessage: SDKObject, @unchecked Sendable {
c_borogove.borogove_set_finalizer(ptr, releaseContexts)
}
+ public static func combineCorrections(messages: Array<ChatMessage>) -> Array<ChatMessage> {
+ {var __ret: UnsafeMutablePointer<UnsafeMutableRawPointer?>? = nil;let __ret_length = c_borogove.borogove_chat_message_combine_corrections(
+ messages.map { $0.o }, messages.count
+ , &__ret);return { let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: __ret, count: __ret_length).map({ChatMessage($0!)});c_borogove.borogove_release(__ret);return __r;}();}()
+ }
+
/**
The ID as set by the creator of this message
*/
@@ -716,11 +719,25 @@ public class ChatMessage: SDKObject, @unchecked Sendable {
}
/**
- The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ The timestamp this message was sent, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+
+ If the exact time is not known, the received time may be used
*/
- public var timestamp: String {
+ public var timeSent: String {
+ get {
+ useString(c_borogove.borogove_chat_message_time_sent(o))!
+ }
+ }
+
+ /**
+ The timestamp this message was received, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+
+ This will be the time received by our server, if known, or the time
+ received at the client otherwise.
+ */
+ public var timeReceived: String {
get {
- useString(c_borogove.borogove_chat_message_timestamp(o))!
+ useString(c_borogove.borogove_chat_message_time_received(o))!
}
}
@@ -980,6 +997,33 @@ public class ChatMessage: SDKObject, @unchecked Sendable {
return __result
}
+ /**
+ Fetch data for a ChatAttachment into local media cache
+
+ If cachedAt is already filled in for this ChatAttachment, it is simply returned.
+
+ @param attachment ChatAttachment to fetch
+ @param client Client to use when fetching
+ @returns Promise resolving to a ChatAttachment with cachedAt filled in, if possible
+ */
+ public func fetchAttachment(attachment: ChatAttachment, client: Client, storeIfNeeded: Bool = true) async -> ChatAttachment {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ let __result = c_borogove.borogove_chat_message_fetch_attachment(
+ self.o,
+ attachment.o,
+ client.o,
+ storeIfNeeded,
+ { (a, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<ChatAttachment, Never>
+ cont.resume(returning: ChatAttachment(a!))
+ },
+ __cont_ptr
+ )
+ return __result
+ }
+ }
+
deinit {
c_borogove.borogove_release(o)
}
@@ -1287,7 +1331,7 @@ public class Status: SDKObject, @unchecked Sendable {
}
}
-public class Member: Identifiable, SDKObject, @unchecked Sendable {
+public class Member: SDKObject, Identifiable, @unchecked Sendable {
public let o: UnsafeMutableRawPointer
internal init(_ ptr: UnsafeMutableRawPointer) {
@@ -1295,6 +1339,15 @@ public class Member: Identifiable, SDKObject, @unchecked Sendable {
c_borogove.borogove_set_finalizer(ptr, releaseContexts)
}
+ /**
+ A placeholder member suitable for moderated messages
+ */
+ public var MODERATED: Member {
+ get {
+ Member(c_borogove.borogove_member_moderated()!)
+ }
+ }
+
/**
A unique id for this member
*/
@@ -2046,11 +2099,13 @@ public class Chat: EventEmitter, @unchecked Sendable {
Send a message to this Chat
@param message the ChatMessageBuilder to send
+ @param e2eePreference optional explicit End-to-End Encryption preference for this message. If Default, uses the client's preferred allowed E2EE method.
*/
- public func sendMessage(message: ChatMessageBuilder) -> Void {
+ public func sendMessage(message: ChatMessageBuilder, e2eePreference: OutgoingE2EEPreference = OutgoingE2EEPreference.Default) -> Void {
let __result = c_borogove.borogove_chat_send_message(
self.o,
- message.o
+ message.o,
+ e2eePreference
)
return __result
}
@@ -2393,6 +2448,16 @@ public class Chat: EventEmitter, @unchecked Sendable {
return __result
}
+ /**
+ Has the user ever read this chat?
+ */
+ public func hasEverRead() -> Bool {
+ let __result = c_borogove.borogove_chat_has_ever_read(
+ self.o
+ )
+ return __result
+ }
+
/**
An ID of the last message displayed to the user
*/
@@ -2464,6 +2529,19 @@ public class Chat: EventEmitter, @unchecked Sendable {
return __result
}
+ /**
+ Set tags on this Chat
+
+ @param tags The tags to set
+ */
+ public func setTags(tags: Array<String>) -> Void {
+ withArrayOfCStrings(tags) { __tags in let __result = c_borogove.borogove_chat_set_tags(
+ self.o,
+ __tags, tags.count
+ )
+ return __result}
+ }
+
/**
Set if this chat is to be trusted with our presence, etc
@@ -2582,16 +2660,6 @@ public class Chat: EventEmitter, @unchecked Sendable {
return __result
}
- /**
- Get encryption mode for this chat
- */
- public func encryptionMode() -> String {
- let __result = useString(c_borogove.borogove_chat_encryption_mode(
- self.o
- ))!
- return __result
- }
-
/**
Can the user send messages to this chat?
*/
@@ -2781,20 +2849,10 @@ public protocol Persistence: SDKObject {
/**
Check whether a media blob is already stored
- @param hashAlgorithm hash algorithm for the content ID
- @param hash raw hash bytes
- @returns Promise resolving to true when the media exists
- */
- func hasMedia(hashAlgorithm: String, hash: Array<UInt8>) async -> Bool
-
- /**
- Store media bytes and any metadata needed to retrieve them later
-
- @param mime MIME type of the media
- @param bytes raw media bytes
- @returns Promise resolving to true when storage succeeded
+ @param hash hash of the media we're looking for
+ @returns Promise resolving to an ID when the media exists, null when it does not
*/
- func storeMedia(mime: String, bytes: Array<UInt8>) async -> Bool
+ func hasMedia(hash: Hash) async -> String?
/**
Delete previously stored media
@@ -2811,10 +2869,11 @@ public protocol Persistence: SDKObject {
@param accountId the account to store login state for
@param clientId negotiated client ID
@param displayName last known display name
- @param token persisted token or null to clear it
+ @param rosterVer roster version string if known
+ @param token persisted token or null to keep the current value
@returns Promise resolving to true when store succeeded
*/
- func storeLogin(accountId: String, clientId: String, displayName: String, token: String?) async -> Bool
+ func storeLogin(accountId: String, clientId: String, displayName: String, rosterVer: String?, token: String?) async -> Bool
/**
Remove stored data for an account
@@ -2978,33 +3037,15 @@ public extension Persistence {
}
}
- func hasMedia(hashAlgorithm: String, hash: Array<UInt8>) async -> Bool {
+ func hasMedia(hash: Hash) async -> String? {
return await withUnsafeContinuation { cont in
let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
let __result = c_borogove.borogove_persistence_has_media(
self.o,
- hashAlgorithm,
- hash, hash.count,
- { (a, ctx) in
- let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
- cont.resume(returning: a)
- },
- __cont_ptr
- )
- return __result
- }
- }
-
- func storeMedia(mime: String, bytes: Array<UInt8>) async -> Bool {
- return await withUnsafeContinuation { cont in
- let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
- let __result = c_borogove.borogove_persistence_store_media(
- self.o,
- mime,
- bytes, bytes.count,
+ hash.o,
{ (a, ctx) in
- let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
- cont.resume(returning: a)
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<String?, Never>
+ cont.resume(returning: useString(a))
},
__cont_ptr
)
@@ -3029,7 +3070,7 @@ public extension Persistence {
}
}
- func storeLogin(accountId: String, clientId: String, displayName: String, token: String?) async -> Bool {
+ func storeLogin(accountId: String, clientId: String, displayName: String, rosterVer: String?, token: String?) async -> Bool {
return await withUnsafeContinuation { cont in
let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
let __result = c_borogove.borogove_persistence_store_login(
@@ -3037,6 +3078,7 @@ public extension Persistence {
accountId,
clientId,
displayName,
+ rosterVer,
token,
{ (a, ctx) in
let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Bool, Never>
@@ -3199,6 +3241,15 @@ public class ChatMessageBuilder: SDKObject, @unchecked Sendable {
o = (c_borogove.borogove_chat_message_builder_new())
}
+ /**
+ Create a new ChatMessageBuilder from an existing ChatMessage
+ */
+ public static func fromMessage(m: ChatMessage) -> ChatMessageBuilder {
+ ChatMessageBuilder(c_borogove.borogove_chat_message_builder_from_message(
+ m.o
+ )!)
+ }
+
/**
The ID as set by the creator of this message
*/
@@ -3248,14 +3299,31 @@ public class ChatMessageBuilder: SDKObject, @unchecked Sendable {
}
/**
- The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ The timestamp this message was sent, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+
+ If the exact time is not known, the received time may be used
*/
- public var timestamp: String? {
+ public var timeSent: String? {
get {
- useString(c_borogove.borogove_chat_message_builder_timestamp(o))
+ useString(c_borogove.borogove_chat_message_builder_time_sent(o))
}
set {
- c_borogove.borogove_chat_message_builder_set_timestamp(o, newValue)
+ c_borogove.borogove_chat_message_builder_set_time_sent(o, newValue)
+ }
+ }
+
+ /**
+ The timestamp this message was received, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+
+ This will be the time received by our server, if known, or the time
+ received at the client otherwise.
+ */
+ public var timeReceived: String? {
+ get {
+ useString(c_borogove.borogove_chat_message_builder_time_received(o))
+ }
+ set {
+ c_borogove.borogove_chat_message_builder_set_time_received(o, newValue)
}
}
@@ -3443,10 +3511,10 @@ public class ChatMessageBuilder: SDKObject, @unchecked Sendable {
@returns sender ID for this message
*/
- public func get_senderId() -> String {
+ public func get_senderId() -> String? {
let __result = useString(c_borogove.borogove_chat_message_builder_get_sender_id(
self.o
- ))!
+ ))
return __result
}
@@ -3816,6 +3884,19 @@ public class Client: EventEmitter, @unchecked Sendable {
super.init(c_borogove.borogove_client_new(accountId, persistence.o))
}
+ /**
+ If true, the client will block and return a policy-violation error for
+ any incoming chat message that is not end-to-end encrypted.
+ */
+ public var blockIncomingWithoutE2EE: Bool {
+ get {
+ c_borogove.borogove_client_block_incoming_without_e_2_ee(o)
+ }
+ set {
+ c_borogove.borogove_client_set_block_incoming_without_e_2_ee(o, newValue)
+ }
+ }
+
/**
Start this client running and trying to connect to the server
*/
@@ -3896,6 +3977,21 @@ public class Client: EventEmitter, @unchecked Sendable {
return __result
}
+ /**
+ Set the current profile photo for this account on the server
+
+ @param photo to set
+ @param publicAccess set the access for the photo to public
+ */
+ public func setPhoto(source: AttachmentSource, publicAccess: Bool) -> Void {
+ let __result = c_borogove.borogove_client_set_photo(
+ self.o,
+ source.o,
+ publicAccess
+ )
+ return __result
+ }
+
/**
Set the current profile for this account on the server
@@ -3928,18 +4024,51 @@ public class Client: EventEmitter, @unchecked Sendable {
return __result
}
+ /**
+ Adjusts the outgoing E2EE preference list to prioritize the specified preference.
+ This ensures that the client will attempt to use this E2EE protocol first when sending messages.
+
+ @param preference the OutgoingE2EEPreference to prioritize
+ */
+ public func preferE2ee(preference: OutgoingE2EEPreference) -> Void {
+ let __result = c_borogove.borogove_client_prefer_e_2_ee(
+ self.o,
+ preference
+ )
+ return __result
+ }
+
+ /**
+ Removes the specified E2EE preference from the allowed outgoing preferences.
+ The client will no longer use this protocol for outgoing messages.
+
+ @param preference the OutgoingE2EEPreference to ban
+ */
+ public func banE2ee(preference: OutgoingE2EEPreference) -> Void {
+ let __result = c_borogove.borogove_client_ban_e_2_ee(
+ self.o,
+ preference
+ )
+ return __result
+ }
+
/**
Turn a file into a ChatAttachment for attaching to a ChatMessage
@param source The AttachmentSource to use
- @returns Promise resolving to a ChatAttachment or null
+ @param encrypt Should the data be encrypted with a fresh key?
+ @returns Promise resolving to a ChatAttachment
+ @throws AttachmentUploadError when no upload service is available or all
+ discovered services fail. Inspect `code` and, for
+ `all-services-failed`, the per-service `failures`.
*/
- public func prepareAttachment(source: AttachmentSource) async -> ChatAttachment? {
+ public func prepareAttachment(source: AttachmentSource, encrypt: Bool = true) async -> ChatAttachment? {
return await withUnsafeContinuation { cont in
let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
let __result = c_borogove.borogove_client_prepare_attachment(
self.o,
source.o,
+ encrypt,
{ (a, ctx) in
let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<ChatAttachment?, Never>
cont.resume(returning: (a).map({ ChatAttachment($0) }))
@@ -4553,6 +4682,28 @@ public class Channel: Chat, @unchecked Sendable {
return __result
}
+ /**
+ Can the user set the Channel subject?
+ */
+ public func canSetSubject() -> Bool {
+ let __result = c_borogove.borogove_channel_can_set_subject(
+ self.o
+ )
+ return __result
+ }
+
+ /**
+ Set the Channel subject, or subject of a thread
+ */
+ public func setSubject(subject: String, threadId: String? = nil) -> Void {
+ let __result = c_borogove.borogove_channel_set_subject(
+ self.o,
+ subject,
+ threadId
+ )
+ return __result
+ }
+
/**
Description of this Channel
*/
@@ -4563,6 +4714,39 @@ public class Channel: Chat, @unchecked Sendable {
return __result
}
+ /**
+ If the user is muted by local policy, send a request to moderators
+ */
+ public func requestToSend() -> Void {
+ let __result = c_borogove.borogove_channel_request_to_send(
+ self.o
+ )
+ return __result
+ }
+
+ /**
+ Can the user set the photo of this channel?
+ */
+ public func canSetPhoto() -> Bool {
+ let __result = c_borogove.borogove_channel_can_set_photo(
+ self.o
+ )
+ return __result
+ }
+
+ /**
+ Set the current photo for this channel on the server, if user is an owner
+
+ @param photo to set
+ */
+ public func setPhoto(source: AttachmentSource) -> Void {
+ let __result = c_borogove.borogove_channel_set_photo(
+ self.o,
+ source.o
+ )
+ return __result
+ }
+
/**
Whether this channel is members-only/private.
*/
@@ -4573,6 +4757,36 @@ public class Channel: Chat, @unchecked Sendable {
return __result
}
+ /**
+ List of current voice requests we are aware of
+ */
+ public func voiceRequests() async -> Array<Member> {
+ return await withUnsafeContinuation { cont in
+ let __cont_ptr = UnsafeMutableRawPointer(Unmanaged.passRetained(cont as AnyObject).toOpaque())
+ let __result = c_borogove.borogove_channel_voice_requests(
+ self.o,
+ { (a, a_length, ctx) in
+ let cont = Unmanaged<AnyObject>.fromOpaque(ctx!).takeRetainedValue() as! UnsafeContinuation<Array<Member>, Never>
+ cont.resume(returning: { let __r = UnsafeMutableBufferPointer<UnsafeMutableRawPointer?>(start: a, count: a_length).map({Member($0!)});c_borogove.borogove_release(a);return __r;}())
+ },
+ __cont_ptr
+ )
+ return __result
+ }
+ }
+
+ /**
+ Respond to a particular voice request
+ */
+ public func voiceRequestRespond(member: Member, canSend: Bool) -> Void {
+ let __result = c_borogove.borogove_channel_voice_request_respond(
+ self.o,
+ member.o,
+ canSend
+ )
+ return __result
+ }
+
}
public class DirectChat: Chat, @unchecked Sendable {
@@ -4700,6 +4914,8 @@ public typealias UiState = borogove_ui_state
public typealias ShowPresence = borogove_show_presence
+public typealias OutgoingE2EEPreference = borogove_outgoing_e_2_ee_preference
+
public typealias MessageType = borogove_message_type
public typealias MessageStatus = borogove_message_status
diff --git a/Sources/c_borogove/iinclude/Array.h b/Sources/c_borogove/iinclude/Array.h
index ed6f738..72e5804 100644
--- a/Sources/c_borogove/iinclude/Array.h
+++ b/Sources/c_borogove/iinclude/Array.h
@@ -39,6 +39,8 @@ template<> struct ReturnNull<double> { typedef Dynamic type; };
template<> struct ReturnNull<float> { typedef Dynamic type; };
template<> struct ReturnNull<bool> { typedef Dynamic type; };
template<> struct ReturnNull<char> { typedef Dynamic type; };
+template<> struct ReturnNull<char16_t> { typedef Dynamic type; };
+template<> struct ReturnNull<char32_t> { typedef Dynamic type; };
template<> struct ReturnNull<signed char> { typedef Dynamic type; };
template<> struct ReturnNull<unsigned char> { typedef Dynamic type; };
template<> struct ReturnNull<short> { typedef Dynamic type; };
@@ -76,18 +78,18 @@ public:
ArrayIterator(Array<FROM> inArray) : mArray(inArray), mIdx(0) { }
// Fast versions ...
- bool hasNext() { return mIdx < mArray->length; }
+ bool hasNext() HXCPP_OVERRIDE { return mIdx < mArray->length; }
inline TO toTo(const Dynamic &inD) { return inD.StaticCast<TO>(); }
template<typename T>
inline TO toTo(T inT) { return inT; }
- TO next() { return toTo(mArray->__get(mIdx++)); }
+ TO next() HXCPP_OVERRIDE { return toTo(mArray->__get(mIdx++)); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mArray,"mArray"); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mArray,"mArray"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER_NAME(mArray,"mArray"); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER_NAME(mArray,"mArray"); }
#endif
int mIdx;
@@ -103,7 +105,7 @@ public:
ArrayKeyValueIterator(Array<FROM> inArray) : mArray(inArray), mIdx(0) { }
- bool hasNext() { return mIdx < mArray->length; }
+ bool hasNext() HXCPP_OVERRIDE { return mIdx < mArray->length; }
inline TO toTo(const Dynamic &inD) { return inD.StaticCast<TO>(); }
@@ -111,11 +113,11 @@ public:
inline TO toTo(T inT) { return inT; }
- Dynamic next();
+ Dynamic next() HXCPP_OVERRIDE;
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mArray,"mArray"); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mArray,"mArray"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER_NAME(mArray,"mArray"); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER_NAME(mArray,"mArray"); }
#endif
int mIdx;
@@ -147,6 +149,30 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayCommon : public hx::Object
class HXCPP_EXTERN_CLASS_ATTRIBUTES ArrayBase : public ArrayCommon
{
public:
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<int(Dynamic, Dynamic)>
+#else
+ Dynamic
+#endif
+ DynamicSorterFunc;
+
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<bool(Dynamic)>
+#else
+ Dynamic
+#endif
+ DynamicFilterFunc;
+
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<Dynamic(Dynamic)>
+#else
+ Dynamic
+#endif
+ DynamicMappingFunc;
+
ArrayBase(int inSize,int inReserve,int inElementSize,bool inAtomic);
// Defined later so we can use "Array"
@@ -165,14 +191,14 @@ public:
inline char * getBase() const { return mBase; }
- hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) { return null(); }
+ hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return null(); }
static hx::Class __mClass;
static hx::Class &__SGetClass() { return __mClass; }
- hx::Class __GetClass() const { return __mClass; }
- String toString();
- String __ToString() const;
- int __Compare(const hx::Object *inRHS) const;
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __mClass; }
+ String toString() HXCPP_OVERRIDE;
+ String __ToString() const HXCPP_OVERRIDE;
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE;
void setData(void *inData, int inElements)
@@ -191,14 +217,14 @@ public:
}
- int __GetType() const { return vtArray; }
+ int __GetType() const HXCPP_OVERRIDE { return vtArray; }
inline size_t size() const { return length; }
- inline int __length() const { return (int)length; }
+ inline int __length() const HXCPP_OVERRIDE { return (int)length; }
virtual String ItemString(int inI) = 0;
- const char * __CStr() const { return mBase; }
+ const char * __CStr() const HXCPP_OVERRIDE { return mBase; }
inline const char *GetBase() const { return mBase; }
inline char *GetBase() { return mBase; }
@@ -225,7 +251,7 @@ public:
Dynamic __unsafe_get(const Dynamic &i);
Dynamic __unsafe_set(const Dynamic &i, const Dynamic &val);
- void safeSort(Dynamic sorter, bool isString);
+ void safeSort(DynamicSorterFunc sorter, bool isString);
inline void __unsafeStringReference(String inString)
{
@@ -240,7 +266,12 @@ public:
// Dynamic interface
- hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp);
+#if (HXCPP_API_LEVEL>=500)
+ hx::Val __pointerToBase();
+ hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) override = 0;
+#else
+ hx::Val __Field(const String& inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
+#endif
inline void ____SetSize(int len) { resize(len); }
inline void ____SetSizeExact(int len) { __SetSizeExact(len); }
@@ -264,20 +295,21 @@ public:
virtual Dynamic __shift() = 0;
virtual hx::ArrayBase *__slice(const Dynamic &a0,const Dynamic &a1) = 0;
virtual hx::ArrayBase *__splice(const Dynamic &a0,const Dynamic &a1) = 0;
- virtual void __sort(const Dynamic &a0) = 0;
+ virtual void __sort(const DynamicSorterFunc& a0) = 0;
virtual ::String __toString() = 0;
virtual void __unshift(const Dynamic &a0) = 0;
- virtual cpp::VirtualArray_obj *__map(const Dynamic &func) = 0;
- virtual hx::ArrayBase *__filter(const Dynamic &func) = 0;
+ virtual cpp::VirtualArray_obj *__map(const DynamicMappingFunc &func) = 0;
+ virtual hx::ArrayBase *__filter(const DynamicFilterFunc &func) = 0;
virtual void __blit(int inDestElement,const cpp::VirtualArray &inSourceArray,int inSourceElement,int inElementCount) = 0;
virtual int __memcmp(const cpp::VirtualArray &a0) = 0;
inline void __zero(const Dynamic &a0,const Dynamic &a1) { zero(a0,a1); }
- virtual void __qsort(Dynamic inCompare) = 0;
+ virtual void __qsort(DynamicSorterFunc inCompare) = 0;
virtual void __resize(int inLen) = 0;
virtual void set(int inIdx, const cpp::Variant &inValue) = 0;
virtual void setUnsafe(int inIdx, const cpp::Variant &inValue) = 0;
+#if (HXCPP_API_LEVEL<500)
Dynamic concat_dyn();
Dynamic copy_dyn();
Dynamic insert_dyn();
@@ -308,6 +340,7 @@ public:
Dynamic zero_dyn();
Dynamic memcmp_dyn();
Dynamic resize_dyn();
+#endif
void Realloc(int inLen) const;
@@ -431,6 +464,8 @@ template<> struct ArrayClassId<unsigned char> { enum { id=hx::clsIdArrayByte };
template<> struct ArrayClassId<signed char> { enum { id=hx::clsIdArrayByte }; };
template<> struct ArrayClassId<unsigned short> { enum { id=hx::clsIdArrayShort }; };
template<> struct ArrayClassId<signed short> { enum { id=hx::clsIdArrayShort }; };
+template<> struct ArrayClassId<char16_t> { enum { id = hx::clsIdArrayShort }; };
+template<> struct ArrayClassId<char32_t> { enum { id = hx::clsIdArrayInt }; };
template<> struct ArrayClassId<unsigned int> { enum { id=hx::clsIdArrayInt }; };
template<> struct ArrayClassId<signed int> { enum { id=hx::clsIdArrayInt }; };
template<> struct ArrayClassId<float> { enum { id=hx::clsIdArrayFloat32 }; };
@@ -460,6 +495,29 @@ class Array_obj : public hx::ArrayBase
typedef hx::ObjectPtr< Array_obj<ELEM_> > ObjPtr;
typedef typename hx::ReturnNull<ELEM_>::type NullType;
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<int(Elem, Elem)>
+#else
+ Dynamic
+#endif
+ SorterFunc;
+
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<bool(Elem)>
+#else
+ Dynamic
+#endif
+ FilterFunc;
+
+#if (HXCPP_API_LEVEL>=500)
+ template<class TO>
+ using MappingFunc = ::hx::Callable<TO(Elem)>;
+#else
+ typedef Dynamic MappingFunc;
+#endif
+
public:
enum { _hx_ClassId = ArrayClassId<ELEM_>::id };
@@ -473,15 +531,51 @@ public:
static Array<ELEM_> __newConstWrapper(ELEM_ *inData,int inSize);
static Array<ELEM_> fromData(const ELEM_ *inData,int inCount);
- bool _hx_isInstanceOf(int inClassId)
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<Array<ELEM_>(Array<ELEM_>)> concat_dyn();
+ ::hx::Callable<Array<ELEM_>()> copy_dyn();
+ ::hx::Callable<void(int, ELEM_)> insert_dyn();
+ ::hx::Callable<::Dynamic()> iterator_dyn();
+ ::hx::Callable<::Dynamic()> keyValueIterator_dyn();
+ ::hx::Callable<::String(::String)> join_dyn();
+ ::hx::Callable<::Dynamic()> pop_dyn();
+ ::hx::Callable<int(ELEM_)> push_dyn();
+ ::hx::Callable<bool(ELEM_)> contains_dyn();
+ ::hx::Callable<bool(ELEM_)> remove_dyn();
+ ::hx::Callable<bool(int)> removeAt_dyn();
+ ::hx::Callable<int(ELEM_, ::Dynamic)> indexOf_dyn();
+ ::hx::Callable<int(ELEM_, ::Dynamic)> lastIndexOf_dyn();
+ ::hx::Callable<void()> reverse_dyn();
+ ::hx::Callable<::Dynamic()> shift_dyn();
+ ::hx::Callable<Array<ELEM_>(int, ::Dynamic)> slice_dyn();
+ ::hx::Callable<Array<ELEM_>(int, int)> splice_dyn();
+ ::hx::Callable<void(SorterFunc)> sort_dyn();
+ ::hx::Callable<::String()> toString_dyn();
+ ::hx::Callable<void(ELEM_)> unshift_dyn();
+ template<class TO>
+ ::hx::Callable<Array<TO>(MappingFunc<TO>)> map_dyn();
+ ::hx::Callable<Array<ELEM_>(FilterFunc)> filter_dyn();
+ ::hx::Callable<void(int)> __SetSize_dyn();
+ ::hx::Callable<void(int)> __SetSizeExact_dyn();
+ ::hx::Callable<ELEM_& (int)> __unsafe_get_dyn();
+ ::hx::Callable<ELEM_& (int, ELEM_)> __unsafe_set_dyn();
+ ::hx::Callable<void(int, Array<ELEM_>, int, int)> blit_dyn();
+ ::hx::Callable<void(::Dynamic, ::Dynamic)> zero_dyn();
+ ::hx::Callable<void(Array<ELEM_>)> memcmp_dyn();
+ ::hx::Callable<void(int)> resize_dyn();
+
+ hx::Val __Field(const String& inString, hx::PropertyAccess inCallProp) override;
+#endif
+
+ bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE
{
return inClassId==1 || inClassId==(int)hx::clsIdArrayBase || inClassId==(int)_hx_ClassId;
}
- virtual bool AllocAtomic() const { return !hx::ContainsPointers<ELEM_>(); }
+ bool AllocAtomic() const HXCPP_OVERRIDE { return !hx::ContainsPointers<ELEM_>(); }
- virtual Dynamic __GetItem(int inIndex) const { return __get(inIndex); }
- virtual Dynamic __SetItem(int inIndex,Dynamic inValue)
+ Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE { return __get(inIndex); }
+ Dynamic __SetItem(int inIndex, Dynamic inValue) HXCPP_OVERRIDE
{
ELEM_ &elem = Item(inIndex);
elem = inValue;
@@ -541,7 +635,7 @@ public:
}
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
if (mAlloc>0) hx::MarkAlloc((void *)mBase, __inCtx );
if (length && hx::ContainsPointers<ELEM_>())
@@ -552,7 +646,7 @@ public:
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
if (mAlloc>0) __inCtx->visitAlloc((void **)&mBase);
if (hx::ContainsPointers<ELEM_>())
@@ -568,9 +662,9 @@ public:
inline Array<ELEM_> __SetSizeExact(int inLen);
- int GetElementSize() const { return sizeof(ELEM_); }
+ int GetElementSize() const HXCPP_OVERRIDE { return sizeof(ELEM_); }
- String ItemString(int inI)
+ String ItemString(int inI) HXCPP_OVERRIDE
{
String result(__get(inI));
if (result==null()) return HX_CSTRING("null");
@@ -722,9 +816,13 @@ public:
{
hx::ArrayBase::Splice(0,inPos,len);
}
-
- cpp::VirtualArray map(Dynamic inFunc);
- Array<ELEM_> filter(Dynamic inFunc);
+ #if (HXCPP_API_LEVEL>=500)
+ template<class TO>
+ Array<TO> map(MappingFunc<TO> inFunc);
+ #else
+ cpp::VirtualArray map(MappingFunc inFunc);
+ #endif
+ Array<ELEM_> filter(FilterFunc inFunc);
void insert(int inPos, ELEM_ inValue)
{
@@ -776,23 +874,27 @@ public:
struct Sorter
{
- Sorter(Dynamic inFunc) : mFunc(inFunc) { }
+ Sorter(SorterFunc inFunc) : mFunc(inFunc) { }
bool operator()(const ELEM_ &inA, const ELEM_ &inB)
{
+#if (HXCPP_API_LEVEL>=500)
+ return mFunc(inA, inB) < 0;
+#else
return mFunc( Dynamic(inA), Dynamic(inB))->__ToInt() < 0;
+#endif
}
- Dynamic mFunc;
+ SorterFunc mFunc;
};
- inline void qsort(Dynamic inSorter)
+ inline void qsort(SorterFunc inSorter)
{
ELEM_ *e = (ELEM_ *)mBase;
std::sort(e, e+length, Sorter(inSorter) );
}
- void sort(Dynamic inSorter)
+ void sort(SorterFunc inSorter)
{
if ( (int)hx::ArrayTraits<ELEM_>::StoreType==(int)hx::arrayObject ||
(int)hx::ArrayTraits<ELEM_>::StoreType==(int)hx::arrayString)
@@ -815,8 +917,8 @@ public:
template<typename TO>
Dynamic keyValueIteratorFast() { return new hx::ArrayKeyValueIterator<ELEM_,TO>(this); }
-
- virtual hx::ArrayStore getStoreType() const
+
+ hx::ArrayStore getStoreType() const HXCPP_OVERRIDE
{
return (hx::ArrayStore) hx::ArrayTraits<ELEM_>::StoreType;
}
@@ -830,45 +932,49 @@ public:
// Dynamic interface
- virtual hx::ArrayBase *__concat(const cpp::VirtualArray &a0) { return concat(a0).mPtr; }
- virtual hx::ArrayBase *__copy() { return copy().mPtr; }
- virtual void __insert(int inIndex,const Dynamic &a1) { insert(inIndex,a1);}
- virtual Dynamic __iterator() { return iterator(); }
- virtual Dynamic __keyValueIterator() { return keyValueIterator(); }
- virtual ::String __join(::String a0) { return join(a0); }
- virtual Dynamic __pop() { return pop(); }
- virtual int __push(const Dynamic &a0) { return push(a0);}
- virtual bool __contains(const Dynamic &a0) { return contains(a0); }
- virtual bool __remove(const Dynamic &a0) { return remove(a0); }
- virtual bool __removeAt(int inIndex) { return removeAt(inIndex); }
- virtual int __indexOf(const Dynamic &a0,const Dynamic &a1) { return indexOf(a0, a1); }
- virtual int __lastIndexOf(const Dynamic &a0,const Dynamic &a1) { return lastIndexOf(a0, a1); }
- virtual void __reverse() { reverse(); }
- virtual Dynamic __shift() { return shift(); }
- virtual hx::ArrayBase *__slice(const Dynamic &a0,const Dynamic &a1) { return slice(a0,a1).mPtr; }
- virtual hx::ArrayBase *__splice(const Dynamic &a0,const Dynamic &a1) { return splice(a0,a1).mPtr; }
- virtual void __sort(const Dynamic &a0) { sort(a0); }
- virtual ::String __toString() { return toString(); }
- virtual void __unshift(const Dynamic &a0) { unshift(a0); }
- virtual cpp::VirtualArray_obj *__map(const Dynamic &func) { return map(func).mPtr; }
- virtual void __resize(int inLen) { resize(inLen); }
-
- virtual hx::ArrayBase *__filter(const Dynamic &func) { return filter(func).mPtr; }
- virtual void __blit(int inDestElement,const cpp::VirtualArray &inSourceArray,int inSourceElement,int inElementCount)
+ hx::ArrayBase* __concat(const cpp::VirtualArray& a0) HXCPP_OVERRIDE { return concat(a0).mPtr; }
+ hx::ArrayBase *__copy() HXCPP_OVERRIDE { return copy().mPtr; }
+ void __insert(int inIndex,const Dynamic &a1) HXCPP_OVERRIDE { insert(inIndex,a1);}
+ Dynamic __iterator() HXCPP_OVERRIDE { return iterator(); }
+ Dynamic __keyValueIterator() HXCPP_OVERRIDE { return keyValueIterator(); }
+ ::String __join(::String a0) HXCPP_OVERRIDE { return join(a0); }
+ Dynamic __pop() HXCPP_OVERRIDE { return pop(); }
+ int __push(const Dynamic &a0) HXCPP_OVERRIDE { return push(a0);}
+ bool __contains(const Dynamic &a0) HXCPP_OVERRIDE { return contains(a0); }
+ bool __remove(const Dynamic &a0) HXCPP_OVERRIDE { return remove(a0); }
+ bool __removeAt(int inIndex) HXCPP_OVERRIDE { return removeAt(inIndex); }
+ int __indexOf(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return indexOf(a0, a1); }
+ int __lastIndexOf(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return lastIndexOf(a0, a1); }
+ void __reverse() HXCPP_OVERRIDE { reverse(); }
+ Dynamic __shift() HXCPP_OVERRIDE { return shift(); }
+ hx::ArrayBase *__slice(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return slice(a0,a1).mPtr; }
+ hx::ArrayBase *__splice(const Dynamic &a0,const Dynamic &a1) HXCPP_OVERRIDE { return splice(a0,a1).mPtr; }
+ void __sort(const DynamicSorterFunc& a0) HXCPP_OVERRIDE { sort(a0); }
+ ::String __toString() HXCPP_OVERRIDE { return toString(); }
+ void __unshift(const Dynamic &a0) HXCPP_OVERRIDE { unshift(a0); }
+#if (HXCPP_API_LEVEL>=500)
+ cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) override { return cpp::VirtualArray(map<Dynamic>(func)).mPtr; }
+#else
+ cpp::VirtualArray_obj* __map(const DynamicMappingFunc& func) HXCPP_OVERRIDE { return map(func).mPtr; }
+#endif
+ void __resize(int inLen) HXCPP_OVERRIDE { resize(inLen); }
+
+ hx::ArrayBase *__filter(const DynamicFilterFunc &func) HXCPP_OVERRIDE { return filter(func).mPtr; }
+ void __blit(int inDestElement,const cpp::VirtualArray &inSourceArray,int inSourceElement,int inElementCount) HXCPP_OVERRIDE
{
blit(inDestElement,inSourceArray,inSourceElement,inElementCount);
}
- virtual int __memcmp(const cpp::VirtualArray &a0) { return memcmp(a0); }
- virtual void __qsort(Dynamic inCompare) { this->qsort(inCompare); };
+ int __memcmp(const cpp::VirtualArray &a0) HXCPP_OVERRIDE { return memcmp(a0); }
+ void __qsort(DynamicSorterFunc inCompare) HXCPP_OVERRIDE { this->qsort(inCompare); };
- virtual void set(int inIndex, const cpp::Variant &inValue) {
+ void set(int inIndex, const cpp::Variant &inValue) HXCPP_OVERRIDE {
ELEM_ &elem = Item(inIndex);
elem = ELEM_(inValue);
if (hx::ContainsPointers<ELEM_>()) {
HX_OBJ_WB_GET(this, hx::PointerOf(elem));
}
}
- virtual void setUnsafe(int inIndex, const cpp::Variant &inValue) {
+ void setUnsafe(int inIndex, const cpp::Variant& inValue) HXCPP_OVERRIDE {
ELEM_ &elem = *(ELEM_ *)(mBase + inIndex*sizeof(ELEM_));
elem = ELEM_(inValue);
if (hx::ContainsPointers<ELEM_>()) { HX_OBJ_WB_GET(this,hx::PointerOf(elem)); }
@@ -1125,7 +1231,7 @@ Array<ELEM_> Array_obj<ELEM_>::splice(int inPos, int len)
template<typename ELEM_>
-Array<ELEM_> Array_obj<ELEM_>::filter(Dynamic inFunc)
+Array<ELEM_> Array_obj<ELEM_>::filter(FilterFunc inFunc)
{
Array_obj *result = new Array_obj(0,0);
for(int i=0;i<length;i++)
@@ -1174,13 +1280,264 @@ inline typename ARRAY::Elem _hx_array_unsafe_get(ARRAY inArray, int inIndex)
#include "cpp/VirtualArray.h"
#endif
+#if (HXCPP_API_LEVEL>=500)
+template<typename ELEM_>
+template<class TO>
+Array<TO> Array_obj<ELEM_>::map(MappingFunc<TO> inFunc)
+{
+ auto result = Array_obj<TO>::__new(length, 0);
+ for (int i = 0; i < length; i++)
+ result->__unsafe_set(i, inFunc(__unsafe_get(i)));
+ return result;
+}
+#else
template<typename ELEM_>
-cpp::VirtualArray Array_obj<ELEM_>::map(Dynamic inFunc)
+cpp::VirtualArray Array_obj<ELEM_>::map(MappingFunc inFunc)
{
- cpp::VirtualArray result = cpp::VirtualArray_obj::__new(length,0);
+ cpp::VirtualArray result = cpp::VirtualArray_obj::__new(length, 0);
for(int i=0;i<length;i++)
result->__unsafe_set(i,inFunc(__unsafe_get(i)));
return result;
}
-#endif
\ No newline at end of file
+#endif
+
+#ifdef HXCPP_VISIT_ALLOCS
+#define ARRAY_VISIT_FUNC \
+ void __Visit(::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
+#else
+#define ARRAY_VISIT_FUNC
+#endif
+
+
+#if (HXCPP_API_LEVEL>=500)
+
+// For some reason this forward declared template type is needed for clang,
+// MSVC and GCC have no problem finding it when it used in the closures below.
+// Don't know who's "right" or "wrong".
+namespace hx
+{
+ template<typename T1, typename T2>
+ bool IsPointerEq(const T1& v1, const T2& v2);
+}
+
+#define HX_ARRAY_ARG_LIST0
+#define HX_ARRAY_ARG_LIST1(arg0) arg0
+#define HX_ARRAY_ARG_LIST2(arg0, arg1) arg0, arg1
+#define HX_ARRAY_ARG_LIST3(arg0, arg1, arg2) arg0, arg1, arg2
+#define HX_ARRAY_ARG_LIST4(arg0, arg1, arg2, arg3) arg0, arg1, arg2, arg3
+
+#define HX_ARRAY_FUNC_LIST0
+#define HX_ARRAY_FUNC_LIST1(arg0) arg0 inArg0
+#define HX_ARRAY_FUNC_LIST2(arg0, arg1) arg0 inArg0, arg1 inArg1
+#define HX_ARRAY_FUNC_LIST3(arg0, arg1, arg2) arg0 inArg0, arg1 inArg1, arg2 inArg2
+#define HX_ARRAY_FUNC_LIST4(arg0, arg1, arg2, arg3) arg0 inArg0, arg1 inArg1, arg2 inArg2, arg3 inArg3
+
+#define HX_ARRAY_FUNC(ret, value, name, args_list, func_list, args_call) \
+ template<class ELEM_> \
+ ::hx::Callable<value(args_list)> Array_obj<ELEM_>::name##_dyn() \
+ { \
+ struct _hx_array_##name final : public ::hx::AutoCallable_obj<value(args_list)> \
+ { \
+ ::Array<ELEM_> mThis; \
+ _hx_array_##name(::Array<ELEM_> inThis) : mThis(inThis) \
+ { \
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
+ } \
+ value HX_LOCAL_RUN(func_list) override \
+ { \
+ ret mThis->name(args_call); \
+ } \
+ void *__GetHandle() const override { return mThis.GetPtr(); } \
+ void __Mark(::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \
+ ARRAY_VISIT_FUNC \
+ int __Compare(const ::hx::Object* inRhs) const override \
+ { \
+ auto casted = dynamic_cast<const _hx_array_##name *>(inRhs); \
+ if (!casted) return 1; \
+ if (!::hx::IsPointerEq(mThis, casted->mThis)) return -1; \
+ return 0; \
+ } \
+ }; \
+ return new _hx_array_##name(this); \
+ }
+
+HX_ARRAY_FUNC(return, Array<ELEM_>, concat, HX_ARRAY_ARG_LIST1(Array<ELEM_>), HX_ARRAY_FUNC_LIST1(Array<ELEM_>), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, Array<ELEM_>, copy, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(, void, insert, HX_ARRAY_ARG_LIST2(int, ELEM_), HX_ARRAY_FUNC_LIST2(int, ELEM_), HX_ARG_LIST2);
+HX_ARRAY_FUNC(return, ::Dynamic, iterator, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(return, ::Dynamic, keyValueIterator, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(return, ::String, join, HX_ARRAY_ARG_LIST1(::String), HX_ARRAY_FUNC_LIST1(::String), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, ::Dynamic, pop, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(return, int, push, HX_ARRAY_ARG_LIST1(ELEM_), HX_ARRAY_FUNC_LIST1(ELEM_), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, bool, contains, HX_ARRAY_ARG_LIST1(ELEM_), HX_ARRAY_FUNC_LIST1(ELEM_), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, bool, remove, HX_ARRAY_ARG_LIST1(ELEM_), HX_ARRAY_FUNC_LIST1(ELEM_), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, bool, removeAt, HX_ARRAY_ARG_LIST1(int), HX_ARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, int, indexOf, HX_ARRAY_ARG_LIST2(ELEM_, ::Dynamic), HX_ARRAY_FUNC_LIST2(ELEM_, ::Dynamic), HX_ARG_LIST2);
+HX_ARRAY_FUNC(return, int, lastIndexOf, HX_ARRAY_ARG_LIST2(ELEM_, ::Dynamic), HX_ARRAY_FUNC_LIST2(ELEM_, ::Dynamic), HX_ARG_LIST2);
+HX_ARRAY_FUNC(, void, reverse, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(return, ::Dynamic, shift, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(return, Array<ELEM_>, splice, HX_ARRAY_ARG_LIST2(int, int), HX_ARRAY_FUNC_LIST2(int, int), HX_ARG_LIST2);
+HX_ARRAY_FUNC(return, Array<ELEM_>, slice, HX_ARRAY_ARG_LIST2(int, ::Dynamic), HX_ARRAY_FUNC_LIST2(int, ::Dynamic), HX_ARG_LIST2);
+HX_ARRAY_FUNC(, void, sort, HX_ARRAY_ARG_LIST1(hx::Callable<int(ELEM_, ELEM_)>), HX_ARRAY_FUNC_LIST1(hx::Callable<int(ELEM_, ELEM_)>), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, ::String, toString, HX_ARRAY_ARG_LIST0, HX_ARRAY_FUNC_LIST0, HX_ARG_LIST0);
+HX_ARRAY_FUNC(, void, unshift, HX_ARRAY_ARG_LIST1(ELEM_), HX_ARRAY_FUNC_LIST1(ELEM_), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, Array<ELEM_>, filter, HX_ARRAY_ARG_LIST1(hx::Callable<bool(ELEM_)>), HX_ARRAY_FUNC_LIST1(hx::Callable<bool(ELEM_)>), HX_ARG_LIST1);
+template<class ELEM_>
+template<class TO>
+::hx::Callable<Array<TO>(::hx::Callable<TO(ELEM_)>)> Array_obj<ELEM_>::map_dyn()
+{
+ struct _hx_array_map final : public ::hx::AutoCallable_obj<Array<TO>(::hx::Callable<TO(ELEM_)>)>
+ {
+ Array<ELEM_> mThis;
+ _hx_array_map(Array<ELEM_> inThis) : mThis(inThis)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+ Array<TO> _hx_run(::hx::Callable<TO(ELEM_)> inArg0) override
+ {
+ return mThis->map(inArg0);
+ }
+ void __Mark(hx::MarkContext* __inCtx) override
+ {
+ hx::MarkMember(mThis, __inCtx);
+ }
+ ARRAY_VISIT_FUNC
+ int __Compare(const ::hx::Object* inRhs) const override
+ {
+ auto casted = dynamic_cast<const _hx_array_map*>(inRhs);
+ if (!casted) return 1;
+ if (mThis != casted->mThis) return -1;
+ return 0;
+ }
+ void* __GetHandle() const override
+ {
+ return mThis.GetPtr();
+ }
+ };
+
+ return new _hx_array_map(this);
+}
+HX_ARRAY_FUNC(, void, __SetSize, HX_ARRAY_ARG_LIST1(int), HX_ARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+HX_ARRAY_FUNC(, void, __SetSizeExact, HX_ARRAY_ARG_LIST1(int), HX_ARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, ELEM_&, __unsafe_get, HX_ARRAY_ARG_LIST1(int), HX_ARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+HX_ARRAY_FUNC(return, ELEM_&, __unsafe_set, HX_ARRAY_ARG_LIST2(int, ELEM_), HX_ARRAY_FUNC_LIST2(int, ELEM_), HX_ARG_LIST2);
+HX_ARRAY_FUNC(, void, blit, HX_ARRAY_ARG_LIST4(int, Array<ELEM_>, int, int), HX_ARRAY_FUNC_LIST4(int, Array<ELEM_>, int, int), HX_ARG_LIST4);
+HX_ARRAY_FUNC(, void, zero, HX_ARRAY_ARG_LIST2(::Dynamic, ::Dynamic), HX_ARRAY_FUNC_LIST2(::Dynamic, ::Dynamic), HX_ARG_LIST2);
+HX_ARRAY_FUNC(, void, memcmp, HX_ARRAY_ARG_LIST1(Array<ELEM_>), HX_ARRAY_FUNC_LIST1(Array<ELEM_>), HX_ARG_LIST1);
+HX_ARRAY_FUNC(, void, resize, HX_ARRAY_ARG_LIST1(int), HX_ARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+
+template<class ELEM_>
+hx::Val Array_obj<ELEM_>::__Field(const String& inString, hx::PropertyAccess inCallProp)
+{
+#define ARRAY_RUN_FUNC(ret,func,dynamic_arg_list,arg_list) \
+ ::Dynamic __run(dynamic_arg_list) \
+ { \
+ ret mThis->__##func(arg_list); return ::Dynamic(); \
+ }
+
+#define DEFINE_ARRAY_FUNC(ret,func,array_list,run_func,ARG_C) \
+ struct Reflective_##func : public ::hx::Object \
+ { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ bool __IsFunction() const { return true; } \
+ ::Array_obj<ELEM_> *mThis; \
+ Reflective_##func(::Array_obj<ELEM_> *inThis) : mThis(inThis) { } \
+ ::String toString() override { return HX_CSTRING(#func) ; } \
+ ::String __ToString() const override { return HX_CSTRING(#func) ; } \
+ int __GetType() const override { return vtFunction; } \
+ void *__GetHandle() const override { return mThis; } \
+ int __ArgCount() const override { return ARG_C; } \
+ void __Mark(::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \
+ ARRAY_VISIT_FUNC \
+ ::Dynamic __Run(const ::Array<::Dynamic> &inArgs) override \
+ { \
+ ret mThis->__##func(array_list); return ::Dynamic(); \
+ } \
+ run_func \
+ int __Compare(const ::hx::Object *inRHS) const override \
+ { \
+ if (!dynamic_cast<const Reflective_##func *>(inRHS)) return -1; \
+ return (mThis==inRHS->__GetHandle() ? 0 : -1); \
+ } \
+ };
+
+
+#define DEFINE_ARRAY_FUNC0(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST0,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0),0)
+#define DEFINE_ARRAY_FUNC1(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST1,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1),1)
+#define DEFINE_ARRAY_FUNC2(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST2,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2),2)
+#define DEFINE_ARRAY_FUNC3(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST3,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST3,HX_ARG_LIST3),3)
+#define DEFINE_ARRAY_FUNC4(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST4,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST4,HX_ARG_LIST4),4)
+
+ DEFINE_ARRAY_FUNC1(, __SetSize);
+ DEFINE_ARRAY_FUNC1(, __SetSizeExact);
+ DEFINE_ARRAY_FUNC2(, insert);
+ DEFINE_ARRAY_FUNC0(, reverse);
+ DEFINE_ARRAY_FUNC1(, sort);
+ DEFINE_ARRAY_FUNC1(, unshift);
+ DEFINE_ARRAY_FUNC4(, blit);
+ DEFINE_ARRAY_FUNC2(, zero);
+ DEFINE_ARRAY_FUNC1(, resize);
+ DEFINE_ARRAY_FUNC1(return, concat);
+ DEFINE_ARRAY_FUNC0(return, iterator);
+ DEFINE_ARRAY_FUNC0(return, keyValueIterator);
+ DEFINE_ARRAY_FUNC1(return, join);
+ DEFINE_ARRAY_FUNC0(return, pop);
+ DEFINE_ARRAY_FUNC0(return, copy);
+ DEFINE_ARRAY_FUNC1(return, push);
+ DEFINE_ARRAY_FUNC1(return, contains);
+ DEFINE_ARRAY_FUNC1(return, remove);
+ DEFINE_ARRAY_FUNC1(return, removeAt);
+ DEFINE_ARRAY_FUNC2(return, indexOf);
+ DEFINE_ARRAY_FUNC2(return, lastIndexOf);
+ DEFINE_ARRAY_FUNC0(return, shift);
+ DEFINE_ARRAY_FUNC2(return, slice);
+ DEFINE_ARRAY_FUNC2(return, splice);
+ DEFINE_ARRAY_FUNC0(return, toString);
+ DEFINE_ARRAY_FUNC1(return, map);
+ DEFINE_ARRAY_FUNC1(return, filter);
+ DEFINE_ARRAY_FUNC1(return, __unsafe_get);
+ DEFINE_ARRAY_FUNC2(return, __unsafe_set);
+ DEFINE_ARRAY_FUNC1(return, memcmp);
+
+ if (inString == HX_CSTRING("length")) return (int)size();
+ if (inString == HX_CSTRING("concat")) return new Reflective_concat(this);
+ if (inString == HX_CSTRING("insert")) return new Reflective_insert(this);
+ if (inString == HX_CSTRING("copy")) return new Reflective_copy(this);
+ if (inString == HX_CSTRING("iterator")) return new Reflective_iterator(this);
+ if (inString == HX_CSTRING("keyValueIterator")) return new Reflective_keyValueIterator(this);
+ if (inString == HX_CSTRING("join")) return new Reflective_join(this);
+ if (inString == HX_CSTRING("pop")) return new Reflective_pop(this);
+ if (inString == HX_CSTRING("push")) return new Reflective_push(this);
+ if (inString == HX_CSTRING("contains")) return new Reflective_contains(this);
+ if (inString == HX_CSTRING("remove")) return new Reflective_remove(this);
+ if (inString == HX_CSTRING("removeAt")) return new Reflective_removeAt(this);
+ if (inString == HX_CSTRING("indexOf")) return new Reflective_indexOf(this);
+ if (inString == HX_CSTRING("lastIndexOf")) return new Reflective_lastIndexOf(this);
+ if (inString == HX_CSTRING("reverse")) return new Reflective_reverse(this);
+ if (inString == HX_CSTRING("shift")) return new Reflective_shift(this);
+ if (inString == HX_CSTRING("splice")) return new Reflective_splice(this);
+ if (inString == HX_CSTRING("slice")) return new Reflective_slice(this);
+ if (inString == HX_CSTRING("sort")) return new Reflective_sort(this);
+ if (inString == HX_CSTRING("toString")) return new Reflective_toString(this);
+ if (inString == HX_CSTRING("unshift")) return new Reflective_unshift(this);
+ if (inString == HX_CSTRING("filter")) return new Reflective_filter(this);
+ if (inString == HX_CSTRING("map")) return new Reflective_map(this);
+ if (inString == HX_CSTRING("__SetSize")) return new Reflective___SetSize(this);
+ if (inString == HX_CSTRING("__SetSizeExact")) return new Reflective___SetSizeExact(this);
+ if (inString == HX_CSTRING("__unsafe_get")) return new Reflective___unsafe_get(this);
+ if (inString == HX_CSTRING("__unsafe_set")) return new Reflective___unsafe_set(this);
+ if (inString == HX_CSTRING("blit")) return new Reflective_blit(this);
+ if (inString == HX_CSTRING("zero")) return new Reflective_zero(this);
+ if (inString == HX_CSTRING("memcmp")) return new Reflective_memcmp(this);
+ if (inString == HX_CSTRING("_hx_storeType")) return (int)getStoreType();
+ if (inString == HX_CSTRING("_hx_elementSize")) return (int)GetElementSize();
+ if (inString == HX_CSTRING("_hx_pointer")) return __pointerToBase();
+ if (inString == HX_CSTRING("resize")) return new Reflective_resize(this);
+ return null();
+}
+
+#endif
+
+
+#endif
diff --git a/Sources/c_borogove/iinclude/Dynamic.h b/Sources/c_borogove/iinclude/Dynamic.h
index b586516..1414347 100644
--- a/Sources/c_borogove/iinclude/Dynamic.h
+++ b/Sources/c_borogove/iinclude/Dynamic.h
@@ -1,6 +1,8 @@
#ifndef HX_DYNAMIC_H
#define HX_DYNAMIC_H
+#include <hx/OS.h>
+
// --- Dynamic ---------------------------------------------------------------
//
// The Dynamic class views all classes through the hx::Object interface, and
@@ -24,13 +26,14 @@ public:
Dynamic(unsigned short inVal);
Dynamic(unsigned char inVal);
Dynamic(signed char inVal);
+ Dynamic(char16_t inVal);
+ Dynamic(char32_t inVal);
Dynamic(const cpp::CppInt32__ &inVal);
Dynamic(bool inVal);
Dynamic(double inVal);
Dynamic(float inVal);
Dynamic(cpp::Int64 inVal);
Dynamic(cpp::UInt64 inVal);
- Dynamic(unsigned long inVal);
Dynamic(hx::Object *inObj) : super(inObj) { }
Dynamic(const String &inString);
Dynamic(const null &inNull) : super(0) { }
@@ -42,6 +45,9 @@ public:
#if !defined(__GNUC__) || defined(__MINGW32__) || (defined(__WORDSIZE) && (__WORDSIZE != 64))
Dynamic(long inVal);
#endif
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
+ Dynamic(unsigned long inVal);
+ #endif
#ifdef __OBJC__
#ifdef HXCPP_OBJC
Dynamic(const id inObjc);
@@ -71,10 +77,15 @@ public:
inline operator unsigned char () const { return mPtr ? mPtr->__ToInt() : 0; }
inline operator char () const { return mPtr ? mPtr->__ToInt() : 0; }
inline operator signed char () const { return mPtr ? mPtr->__ToInt() : 0; }
+ inline operator char16_t () const { return mPtr ? mPtr->__ToInt() : 0; }
+ inline operator char32_t () const { return mPtr ? mPtr->__ToInt() : 0; }
inline operator bool() const { return mPtr && mPtr->__ToInt(); }
inline operator cpp::Int64() const { return mPtr ? mPtr->__ToInt64() : 0; }
inline operator cpp::UInt64() const { return mPtr ? mPtr->__ToInt64() : 0; }
+ inline operator ::hx::Object*() const { return mPtr; }
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
inline operator unsigned long() const { return mPtr ? mPtr->__ToInt64() : 0; }
+ #endif
// Conversion to generic pointer requires you to tag the class with a typedef
template<typename T>
@@ -161,10 +172,10 @@ public:
#define DYNAMIC_COMPARE_OP( op ) \
- bool operator op (const String &inRHS) const { return mPtr && ((String)(*this) op inRHS); } \
+ bool operator op (const ::String &inRHS) const { return mPtr && ((::String)(*this) op inRHS); } \
bool operator op (double inRHS) const { return IsNumeric() && ((double)(*this) op inRHS); } \
- bool operator op (cpp::Int64 inRHS) const { return IsNumeric() && ((cpp::Int64)(*this) op inRHS); } \
- bool operator op (cpp::UInt64 inRHS) const { return IsNumeric() && ((cpp::Int64)(*this) op inRHS); } \
+ bool operator op (::cpp::Int64 inRHS) const { return IsNumeric() && ((::cpp::Int64)(*this) op inRHS); } \
+ bool operator op (::cpp::UInt64 inRHS) const { return IsNumeric() && ((::cpp::UInt64)(*this) op inRHS); } \
bool operator op (float inRHS) const { return IsNumeric() && ((double)(*this) op inRHS); } \
bool operator op (int inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
bool operator op (unsigned int inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
@@ -172,12 +183,14 @@ public:
bool operator op (unsigned short inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
bool operator op (signed char inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
bool operator op (unsigned char inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
+ bool operator op (char16_t inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
+ bool operator op (char32_t inRHS) const { return IsNumeric() && ((double)(*this) op (double)inRHS); } \
bool operator op (bool inRHS) const { return IsBool() && ((double)(*this) op (double)inRHS); } \
bool operator != (const String &inRHS) const { return !mPtr || ((String)(*this) != inRHS); }
bool operator != (double inRHS) const { return !IsNumeric() || ((double)(*this) != inRHS); }
bool operator != (cpp::Int64 inRHS) const { return !IsNumeric() || ((cpp::Int64)(*this) != inRHS); }
- bool operator != (cpp::UInt64 inRHS) const { return !IsNumeric() || ((cpp::Int64)(*this) != inRHS); }
+ bool operator != (cpp::UInt64 inRHS) const { return !IsNumeric() || ((cpp::UInt64)(*this) != inRHS); }
bool operator != (float inRHS) const { return !IsNumeric() || ((double)(*this) != inRHS); }
bool operator != (int inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
bool operator != (unsigned int inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
@@ -185,13 +198,15 @@ public:
bool operator != (unsigned short inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
bool operator != (signed char inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
bool operator != (unsigned char inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
+ bool operator != (char16_t inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
+ bool operator != (char32_t inRHS) const { return !IsNumeric() || ((double)(*this) != (double)inRHS); }
bool operator != (bool inRHS) const { return !IsBool() || ((double)(*this) != (double)inRHS); }
#define DYNAMIC_COMPARE_OP_ALL( op ) \
- bool operator op (const Dynamic &inRHS) const { return mPtr && (Compare(inRHS) op 0); } \
- bool operator op (const cpp::Variant &inRHS) const { return *this op Dynamic(inRHS); } \
+ bool operator op (const ::Dynamic &inRHS) const { return mPtr && (Compare(inRHS) op 0); } \
+ bool operator op (const ::cpp::Variant &inRHS) const { return *this op ::Dynamic(inRHS); } \
DYNAMIC_COMPARE_OP(op)
@@ -230,6 +245,8 @@ public:
Dynamic operator+(const unsigned short &i) const;
Dynamic operator+(const signed char &i) const;
Dynamic operator+(const unsigned char &i) const;
+ Dynamic operator+(const char16_t& i) const;
+ Dynamic operator+(const char32_t& i) const;
Dynamic operator+(const double &d) const;
Dynamic operator+(const float &d) const;
Dynamic operator+(const cpp::Variant &d) const;
@@ -249,32 +266,36 @@ public:
double operator / (const int &inRHS) const { return (double)(*this) / (double)inRHS; }
#define DYNAMIC_ARITH( op ) \
- Dynamic operator op (const cpp::Variant &inRHS) const \
+ ::Dynamic operator op (const ::cpp::Variant &inRHS) const \
{ return mPtr->__GetType()==vtInt && inRHS.isInt() ? \
- Dynamic((int)(*this) op (int)inRHS) : \
- Dynamic( (double)(*this) op (double)inRHS); } \
- Dynamic operator op (const Dynamic &inRHS) const \
+ ::Dynamic((int)(*this) op (int)inRHS) : \
+ ::Dynamic( (double)(*this) op (double)inRHS); } \
+ ::Dynamic operator op (const ::Dynamic &inRHS) const \
{ return mPtr->__GetType()==vtInt && inRHS.mPtr->__GetType()==vtInt ? \
- Dynamic((int)(*this) op (int)inRHS) : \
- Dynamic( (double)(*this) op (double)inRHS); } \
+ ::Dynamic((int)(*this) op (int)inRHS) : \
+ ::Dynamic( (double)(*this) op (double)inRHS); } \
double operator op (const double &inRHS) const { return (double)(*this) op (double)inRHS; } \
double operator op (const float &inRHS) const { return (double)(*this) op (double)inRHS; } \
- Dynamic operator op (const int &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const unsigned int &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const short &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const unsigned short &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const signed char &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const unsigned char &inRHS) const \
- { return mPtr->__GetType()==vtInt ? Dynamic((int)(*this) op inRHS) : Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const cpp::Int64 &inRHS) const \
- { return Dynamic((double)(*this) op inRHS); } \
- Dynamic operator op (const cpp::UInt64 &inRHS) const \
- { return Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const int &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const unsigned int &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const short &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const unsigned short &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const signed char &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const unsigned char &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const char16_t &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const char32_t &inRHS) const \
+ { return mPtr->__GetType()==vtInt ? ::Dynamic((int)(*this) op inRHS) : ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const ::cpp::Int64 &inRHS) const \
+ { return ::Dynamic((double)(*this) op inRHS); } \
+ ::Dynamic operator op (const ::cpp::UInt64 &inRHS) const \
+ { return ::Dynamic((double)(*this) op inRHS); } \
DYNAMIC_ARITH( - )
DYNAMIC_ARITH( * )
@@ -282,21 +303,25 @@ public:
static void ThrowBadFunctionError();
inline void CheckFPtr() { if (!mPtr) ThrowBadFunctionError(); }
+#if (HXCPP_API_LEVEL>=500)
+ template<class... TArgs>
+ ::Dynamic operator()(const TArgs&... args);
+#else
inline ::Dynamic operator()() { CheckFPtr(); return mPtr->__run(); }
- inline ::Dynamic operator()(const Dynamic &inArg0) { CheckFPtr(); return mPtr->__run(inArg0); }
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1) { CheckFPtr(); return mPtr->__run(inArg0,inArg1); }
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2) { CheckFPtr(); return mPtr->__run(inArg0,inArg1,inArg2); }
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3) { CheckFPtr(); return mPtr->__run(inArg0,inArg1,inArg2,inArg3); }
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4) { CheckFPtr(); return mPtr->__run(inArg0,inArg1,inArg2,inArg3,inArg4); }
+ inline ::Dynamic operator()(const Dynamic& inArg0) { CheckFPtr(); return mPtr->__run(inArg0); }
+ inline ::Dynamic operator()(const Dynamic& inArg0, const Dynamic& inArg1) { CheckFPtr(); return mPtr->__run(inArg0, inArg1); }
+ inline ::Dynamic operator()(const Dynamic& inArg0, const Dynamic& inArg1, const Dynamic& inArg2) { CheckFPtr(); return mPtr->__run(inArg0, inArg1, inArg2); }
+ inline ::Dynamic operator()(const Dynamic& inArg0, const Dynamic& inArg1, const Dynamic& inArg2, const Dynamic& inArg3) { CheckFPtr(); return mPtr->__run(inArg0, inArg1, inArg2, inArg3); }
+ inline ::Dynamic operator()(const Dynamic& inArg0, const Dynamic& inArg1, const Dynamic& inArg2, const Dynamic& inArg3, const Dynamic& inArg4) { CheckFPtr(); return mPtr->__run(inArg0, inArg1, inArg2, inArg3, inArg4); }
HX_DECLARE_DYNAMIC_FUNCTIONS;
+#endif
typedef const Dynamic &D;
};
-
namespace hx
{
@@ -363,9 +388,9 @@ inline int Dynamic::Cast<int>() const { return mPtr ? mPtr->__ToInt() : 0; }
template<>
inline bool Dynamic::Cast<bool>() const { return mPtr ? mPtr->__ToInt() : 0; }
template<>
-inline double Dynamic::Cast<double>() const { return mPtr ? mPtr->__ToDouble() : 0; }
+inline double Dynamic::Cast<double>() const { return mPtr ? mPtr->__ToDouble() : 0.0; }
template<>
-inline float Dynamic::Cast<float>() const { return mPtr ? mPtr->__ToDouble() : 0; }
+inline float Dynamic::Cast<float>() const { return (float)(mPtr ? mPtr->__ToDouble() : 0.0f); }
template<>
inline String Dynamic::Cast<String>() const { return mPtr ? mPtr->toString() : String(null()); }
@@ -407,8 +432,8 @@ inline bool Dynamic::IsClass< ::cpp::Int64>() { return mPtr && mPtr->__GetClass(
inline String Dynamic::operator+(const String &s) const { return Cast<String>() + s; }
#define HX_DYNAMIC_OP_ISEQ(T) \
-inline bool operator == (const T &inLHS,const Dynamic &inRHS) { return inRHS==inLHS; } \
-inline bool operator != (const T &inLHS,const Dynamic &inRHS) { return inRHS!=inLHS; }
+inline bool operator == (const T &inLHS,const ::Dynamic &inRHS) { return inRHS==inLHS; } \
+inline bool operator != (const T &inLHS,const ::Dynamic &inRHS) { return inRHS!=inLHS; }
HX_DYNAMIC_OP_ISEQ(String)
HX_DYNAMIC_OP_ISEQ(double)
@@ -448,16 +473,18 @@ COMPARE_DYNAMIC_OP( > )
#define ARITH_DYNAMIC( op ) \
- inline double operator op (const cpp::Int64 &inLHS,const Dynamic &inRHS) { return inLHS op (cpp::Int64)inRHS;} \
- inline double operator op (const cpp::UInt64 &inLHS,const Dynamic &inRHS) { return inLHS op (cpp::UInt64)inRHS;} \
- inline double operator op (const double &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS;} \
- inline double operator op (const float &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS;} \
- inline double operator op (const int &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned int &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const short &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned short &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const signed char &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned char &inLHS,const Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const ::cpp::Int64 &inLHS,const ::Dynamic &inRHS) { return (double)( inLHS op (::cpp::Int64)inRHS );} \
+ inline double operator op (const ::cpp::UInt64 &inLHS,const ::Dynamic &inRHS) { return (double)( inLHS op (::cpp::UInt64)inRHS );} \
+ inline double operator op (const double &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS;} \
+ inline double operator op (const float &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS;} \
+ inline double operator op (const int &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned int &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const short &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned short &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const signed char &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned char &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const char16_t &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const char32_t &inLHS,const ::Dynamic &inRHS) { return inLHS op (double)inRHS; } \
ARITH_DYNAMIC( - )
ARITH_DYNAMIC( + )
diff --git a/Sources/c_borogove/iinclude/Enum.h b/Sources/c_borogove/iinclude/Enum.h
index fed5b22..2b41785 100644
--- a/Sources/c_borogove/iinclude/Enum.h
+++ b/Sources/c_borogove/iinclude/Enum.h
@@ -47,18 +47,18 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object
static hx::ObjectPtr<hx::Class_obj> &__SGetClass();
- String toString();
+ String toString() HXCPP_OVERRIDE;
EnumBase_obj() : index(-1) { }
EnumBase_obj(const null &inNull) : index(-1) { }
- int __GetType() const { return vtEnum; }
+ int __GetType() const HXCPP_OVERRIDE { return vtEnum; }
static Dynamic __CreateEmpty();
static Dynamic __Create(DynamicArray inArgs);
static void __boot();
- void __Mark(hx::MarkContext *__inCtx);
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE;
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx);
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE;
#endif
static hx::ObjectPtr<EnumBase_obj> Resolve(String inName);
@@ -98,7 +98,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object
inline ::Dynamic _hx_getParamI(int inId) { return _hx_getFixed()[inId]; }
inline int _hx_getParamCount() { return mFixedFields; }
// Alias for _hx_getParamI
- Dynamic __GetItem(int inIndex) const;
+ Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE;
// For legacy
inline String __Tag() const { return _hx_tag; }
@@ -108,7 +108,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES EnumBase_obj : public hx::Object
int _hx_getIndex() const { return index; }
- int __Compare(const hx::Object *inRHS) const;
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE;
virtual String GetEnumName( ) const { return HX_CSTRING("Enum"); }
};
diff --git a/Sources/c_borogove/iinclude/Lambda.h b/Sources/c_borogove/iinclude/Lambda.h
index 1ccb0b7..43b4ef0 100644
--- a/Sources/c_borogove/iinclude/Lambda.h
+++ b/Sources/c_borogove/iinclude/Lambda.h
@@ -55,6 +55,9 @@ class HXCPP_CLASS_ATTRIBUTES Lambda_obj : public ::hx::Object
static bool exists( ::Dynamic it, ::Dynamic f);
static ::Dynamic exists_dyn();
+ static ::cpp::VirtualArray filter( ::Dynamic it, ::Dynamic f);
+ static ::Dynamic filter_dyn();
+
static ::Dynamic fold( ::Dynamic it, ::Dynamic f, ::Dynamic first);
static ::Dynamic fold_dyn();
diff --git a/Sources/c_borogove/iinclude/StringTools.h b/Sources/c_borogove/iinclude/StringTools.h
index 039cb8b..f08c996 100644
--- a/Sources/c_borogove/iinclude/StringTools.h
+++ b/Sources/c_borogove/iinclude/StringTools.h
@@ -52,6 +52,9 @@ class HXCPP_CLASS_ATTRIBUTES StringTools_obj : public ::hx::Object
static ::String urlEncode(::String s);
static ::Dynamic urlEncode_dyn();
+ static ::String urlDecode(::String s);
+ static ::Dynamic urlDecode_dyn();
+
static ::String htmlEscape(::String s, ::Dynamic quotes);
static ::Dynamic htmlEscape_dyn();
diff --git a/Sources/c_borogove/iinclude/Xml.h b/Sources/c_borogove/iinclude/Xml.h
index d4c0dc7..6019e13 100644
--- a/Sources/c_borogove/iinclude/Xml.h
+++ b/Sources/c_borogove/iinclude/Xml.h
@@ -66,6 +66,9 @@ class HXCPP_CLASS_ATTRIBUTES Xml_obj : public ::hx::Object
::Dynamic attributes();
::Dynamic attributes_dyn();
+ ::Xml firstElement();
+ ::Dynamic firstElement_dyn();
+
virtual ::String toString();
::Dynamic toString_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/AttachmentUploadError.h b/Sources/c_borogove/iinclude/borogove/AttachmentUploadError.h
new file mode 100644
index 0000000..7bc6a86
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/AttachmentUploadError.h
@@ -0,0 +1,59 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_AttachmentUploadError
+#define INCLUDED_borogove_AttachmentUploadError
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
+#endif
+HX_DECLARE_CLASS1(borogove,AttachmentUploadError)
+HX_DECLARE_CLASS1(haxe,Exception)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES AttachmentUploadError_obj : public ::haxe::Exception_obj
+{
+ public:
+ typedef ::haxe::Exception_obj super;
+ typedef AttachmentUploadError_obj OBJ_;
+ AttachmentUploadError_obj();
+
+ public:
+ enum { _hx_ClassId = 0x0936a07b };
+
+ void __construct(::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.AttachmentUploadError")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.AttachmentUploadError"); }
+ static ::hx::ObjectPtr< AttachmentUploadError_obj > __new(::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures);
+ static ::hx::ObjectPtr< AttachmentUploadError_obj > __alloc(::hx::Ctx *_hx_ctx,::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~AttachmentUploadError_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("AttachmentUploadError",c4,e2,8c,4d); }
+
+ ::String code;
+ ::String serviceId;
+ ::Dynamic statusCode;
+ ::Dynamic cause;
+ ::Array< ::Dynamic> failures;
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_AttachmentUploadError */
diff --git a/Sources/c_borogove/iinclude/borogove/AvailableChat.h b/Sources/c_borogove/iinclude/borogove/AvailableChat.h
index 3b5f962..e00b0fc 100644
--- a/Sources/c_borogove/iinclude/borogove/AvailableChat.h
+++ b/Sources/c_borogove/iinclude/borogove/AvailableChat.h
@@ -8,6 +8,7 @@
HX_DECLARE_CLASS1(borogove,AvailableChat)
HX_DECLARE_CLASS1(borogove,Caps)
+HX_DECLARE_CLASS1(borogove,Stanza)
namespace borogove{
@@ -22,13 +23,13 @@ class HXCPP_CLASS_ATTRIBUTES AvailableChat_obj : public ::hx::Object
public:
enum { _hx_ClassId = 0x579930bc };
- void __construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps);
+ void __construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.AvailableChat")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.AvailableChat"); }
- static ::hx::ObjectPtr< AvailableChat_obj > __new(::String chatId,::String displayName,::String note, ::borogove::Caps caps);
- static ::hx::ObjectPtr< AvailableChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::borogove::Caps caps);
+ static ::hx::ObjectPtr< AvailableChat_obj > __new(::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem);
+ static ::hx::ObjectPtr< AvailableChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -59,6 +60,7 @@ class HXCPP_CLASS_ATTRIBUTES AvailableChat_obj : public ::hx::Object
::Dynamic note__fromC_dyn();
::borogove::Caps caps;
+ ::borogove::Stanza rosterItem;
bool isChannel();
::Dynamic isChannel_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/Channel.h b/Sources/c_borogove/iinclude/borogove/Channel.h
index 41b45c8..7a3db80 100644
--- a/Sources/c_borogove/iinclude/borogove/Channel.h
+++ b/Sources/c_borogove/iinclude/borogove/Channel.h
@@ -9,6 +9,7 @@
#ifndef INCLUDED_borogove_Chat
#include <borogove/Chat.h>
#endif
+HX_DECLARE_CLASS1(borogove,AttachmentSource)
HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,Channel)
HX_DECLARE_CLASS1(borogove,Chat)
@@ -77,7 +78,7 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
void selfPing(bool refresh);
::Dynamic selfPing_dyn();
- ::Dynamic join();
+ ::Dynamic join(::hx::Null< bool > justCleared);
::Dynamic join_dyn();
void selfPingSuccess();
@@ -88,6 +89,12 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
::String subject();
::Dynamic subject_dyn();
+ bool canSetSubject();
+ ::Dynamic canSetSubject_dyn();
+
+ void setSubject(::String subject,::String threadId);
+ ::Dynamic setSubject_dyn();
+
::String description();
::Dynamic description_dyn();
@@ -102,6 +109,22 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
bool canModerate();
+ void requestToSend();
+ ::Dynamic requestToSend_dyn();
+
+ bool isOwner();
+ ::Dynamic isOwner_dyn();
+
+ ::Dynamic commands();
+
+ bool hasCommands();
+
+ bool canSetPhoto();
+ ::Dynamic canSetPhoto_dyn();
+
+ void setPhoto( ::borogove::AttachmentSource source);
+ ::Dynamic setPhoto_dyn();
+
::Dynamic getCaps();
void setPresence(::String resource, ::borogove::Stanza presence,bool noStore);
@@ -128,6 +151,8 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
bool syncing();
+ bool inMessageSync();
+
::Dynamic setLastMessage( ::borogove::ChatMessage message);
bool canAudioCall();
@@ -144,6 +169,14 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
::Dynamic getMemberDetails(::Array< ::String > memberIds);
+ ::Dynamic voiceRequests();
+ ::Dynamic voiceRequests_dyn();
+
+ void voiceRequests__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
+
+ void voiceRequestRespond( ::borogove::Member member,bool canSend);
+ ::Dynamic voiceRequestRespond_dyn();
+
::borogove::Member buildMember(::String resource, ::borogove::Stanza presence);
::Dynamic buildMember_dyn();
@@ -168,11 +201,14 @@ class HXCPP_CLASS_ATTRIBUTES Channel_obj : public ::borogove::Chat_obj
void correctMessage( ::borogove::ChatMessage correct, ::borogove::ChatMessageBuilder message);
- void sendMessage( ::borogove::ChatMessageBuilder message);
+ void sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > e2eePreference);
void removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
- void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem);
+ int defaultE2ee();
+ ::Dynamic defaultE2ee_dyn();
+
+ void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > e2eePreference);
void markReadUpTo( ::borogove::ChatMessage message);
diff --git a/Sources/c_borogove/iinclude/borogove/ChannelPinger.h b/Sources/c_borogove/iinclude/borogove/ChannelPinger.h
new file mode 100644
index 0000000..ef65a3e
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/ChannelPinger.h
@@ -0,0 +1,84 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_ChannelPinger
+#define INCLUDED_borogove_ChannelPinger
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Channel)
+HX_DECLARE_CLASS1(borogove,ChannelPinger)
+HX_DECLARE_CLASS1(borogove,Chat)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS1(haxe,Timer)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES ChannelPinger_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ChannelPinger_obj OBJ_;
+ ChannelPinger_obj();
+
+ public:
+ enum { _hx_ClassId = 0x6ea167fd };
+
+ void __construct( ::Dynamic now);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ChannelPinger")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.ChannelPinger"); }
+ static ::hx::ObjectPtr< ChannelPinger_obj > __new( ::Dynamic now);
+ static ::hx::ObjectPtr< ChannelPinger_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic now);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ChannelPinger_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("ChannelPinger",62,84,bf,e5); }
+
+ ::Dynamic now;
+ Dynamic now_dyn() { return now;}
+ ::haxe::ds::StringMap scheduledChannels;
+ ::haxe::Timer timer;
+ void startTimer();
+ ::Dynamic startTimer_dyn();
+
+ void stopTimer();
+ ::Dynamic stopTimer_dyn();
+
+ void schedule( ::borogove::Channel channel, ::Dynamic deadline);
+ ::Dynamic schedule_dyn();
+
+ void remove( ::borogove::Channel channel);
+ ::Dynamic remove_dyn();
+
+ void pingPastDue();
+ ::Dynamic pingPastDue_dyn();
+
+ void pingDueInWindow();
+ ::Dynamic pingDueInWindow_dyn();
+
+ void pingDueBy(Float cutoff);
+ ::Dynamic pingDueBy_dyn();
+
+ ::Array< ::Dynamic> getDueBy(Float cutoff);
+ ::Dynamic getDueBy_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_ChannelPinger */
diff --git a/Sources/c_borogove/iinclude/borogove/Chat.h b/Sources/c_borogove/iinclude/borogove/Chat.h
index 95f8e61..4d8b96b 100644
--- a/Sources/c_borogove/iinclude/borogove/Chat.h
+++ b/Sources/c_borogove/iinclude/borogove/Chat.h
@@ -110,8 +110,8 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
::String activeThread;
::Dynamic notificationSettings;
::borogove::Outbox outbox;
- int _encryptionMode;
::Array< int > omemoContactDeviceIDs;
+ bool omemoDeviceListRefreshed;
virtual ::borogove::ChatMessageBuilder prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza) { return 0; }
::Dynamic prepareIncomingMessage_dyn();
virtual ::Dynamic getMessagesBefore( ::borogove::ChatMessage before) { return 0; }
@@ -129,13 +129,12 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
::Dynamic fetchFromSync( ::borogove::MessageSync sync);
::Dynamic fetchFromSync_dyn();
- virtual void sendMessage( ::borogove::ChatMessageBuilder message) {}
+ virtual void sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > e2eePreference);
::Dynamic sendMessage_dyn();
- void sendMessage__fromC( ::borogove::ChatMessageBuilder message);
- ::Dynamic sendMessage__fromC_dyn();
- virtual void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem) {}
+ virtual void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > e2eePreference);
::Dynamic sendMessageStanza_dyn();
+
virtual void markReadUpTo( ::borogove::ChatMessage message) {}
::Dynamic markReadUpTo_dyn();
void markReadUpTo__fromC( ::borogove::ChatMessage message);
@@ -229,7 +228,7 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
void updateFromBookmark( ::borogove::Stanza item);
::Dynamic updateFromBookmark_dyn();
- void updateFromRoster( ::Dynamic item);
+ void updateFromRoster( ::borogove::Stanza item);
::Dynamic updateFromRoster_dyn();
::String getPhoto();
@@ -238,6 +237,9 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
::String getPlaceholder();
::Dynamic getPlaceholder_dyn();
+ bool hasEverRead();
+ ::Dynamic hasEverRead_dyn();
+
::Dynamic readUpTo();
::Dynamic readUpTo_dyn();
@@ -266,6 +268,12 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
size_t getTags__fromC(const char*** outPtr);
+ void setTags(::Array< ::String > tags);
+ ::Dynamic setTags_dyn();
+
+ void setTags__fromC(::cpp::Pointer< const char* > tags,size_t tags__len);
+ ::Dynamic setTags__fromC_dyn();
+
void setThreadSubject(::String threadId,::String subject);
::Dynamic setThreadSubject_dyn();
@@ -288,6 +296,9 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
virtual bool syncing();
::Dynamic syncing_dyn();
+ virtual bool inMessageSync();
+ ::Dynamic inMessageSync_dyn();
+
virtual bool canAudioCall();
::Dynamic canAudioCall_dyn();
@@ -317,9 +328,6 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
size_t videoTracks__fromC(void*** outPtr);
- ::String encryptionMode();
- ::Dynamic encryptionMode_dyn();
-
virtual bool canSend();
::Dynamic canSend_dyn();
@@ -335,10 +343,10 @@ class HXCPP_CLASS_ATTRIBUTES Chat_obj : public ::borogove::EventEmitter_obj
bool isApp();
::Dynamic isApp_dyn();
- bool hasCommands();
+ virtual bool hasCommands();
::Dynamic hasCommands_dyn();
- ::Dynamic commands();
+ virtual ::Dynamic commands();
::Dynamic commands_dyn();
void commands__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
diff --git a/Sources/c_borogove/iinclude/borogove/ChatAttachment.h b/Sources/c_borogove/iinclude/borogove/ChatAttachment.h
index 5fc568e..72dda5a 100644
--- a/Sources/c_borogove/iinclude/borogove/ChatAttachment.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatAttachment.h
@@ -8,6 +8,9 @@
HX_DECLARE_CLASS1(borogove,ChatAttachment)
HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,Persistence)
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS1(thenshim,Thenable)
namespace borogove{
@@ -50,6 +53,10 @@ class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
static ::borogove::ChatAttachment create(::String name,::String mime,int size,::String uri);
static ::Dynamic create_dyn();
+ ::String cachedAt;
+ ::String cachedAt__fromC();
+ ::Dynamic cachedAt__fromC_dyn();
+
::String name;
::String name__fromC();
::Dynamic name__fromC_dyn();
@@ -68,6 +75,15 @@ class HXCPP_CLASS_ATTRIBUTES ChatAttachment_obj : public ::hx::Object
::Array< ::Dynamic> hashes;
size_t hashes__fromC(void*** outPtr);
+ ::Dynamic lookup(::Dynamic persistence);
+ ::Dynamic lookup_dyn();
+
+ ::Dynamic lookupHashes(::Dynamic persistence,::Array< ::Dynamic> hashes);
+ ::Dynamic lookupHashes_dyn();
+
+ ::borogove::Stanza sims();
+ ::Dynamic sims_dyn();
+
};
} // end namespace borogove
diff --git a/Sources/c_borogove/iinclude/borogove/ChatMessage.h b/Sources/c_borogove/iinclude/borogove/ChatMessage.h
index f05b910..7cbb665 100644
--- a/Sources/c_borogove/iinclude/borogove/ChatMessage.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatMessage.h
@@ -9,7 +9,9 @@
HX_DECLARE_CLASS1(borogove,ChatAttachment)
HX_DECLARE_CLASS1(borogove,ChatMessage)
HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
+HX_DECLARE_CLASS1(borogove,Client)
HX_DECLARE_CLASS1(borogove,EncryptionInfo)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Html)
HX_DECLARE_CLASS1(borogove,JID)
@@ -20,6 +22,7 @@ HX_DECLARE_CLASS1(borogove,Reaction)
HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
+HX_DECLARE_CLASS1(thenshim,Thenable)
namespace borogove{
@@ -59,9 +62,14 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::borogove::ChatMessage fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext);
+ static ::borogove::ChatMessage fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext, ::borogove::EncryptionInfo encryptionInfo);
static ::Dynamic fromStanza_dyn();
+ static ::Array< ::Dynamic> combineCorrections(::Array< ::Dynamic> messages);
+ static ::Dynamic combineCorrections_dyn();
+
+ static size_t combineCorrections__fromC(::cpp::Pointer< void* > messages,size_t messages__len,void*** outPtr);
+
::String localId;
::String localId__fromC();
::Dynamic localId__fromC_dyn();
@@ -81,9 +89,13 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::String sortId;
bool syncPoint;
::String replyId;
- ::String timestamp;
- ::String timestamp__fromC();
- ::Dynamic timestamp__fromC_dyn();
+ ::String timeSent;
+ ::String timeSent__fromC();
+ ::Dynamic timeSent__fromC_dyn();
+
+ ::String timeReceived;
+ ::String timeReceived__fromC();
+ ::Dynamic timeReceived__fromC_dyn();
::borogove::JID to;
::borogove::JID from;
@@ -104,6 +116,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::Array< ::Dynamic> attachments;
size_t attachments__fromC(void*** outPtr);
+ ::Dynamic debug;
::haxe::ds::StringMap reactions;
size_t reactionKeys__fromC(const char*** outPtr);
@@ -198,6 +211,11 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessage_obj : public ::hx::Object
::String callDuration();
::Dynamic callDuration_dyn();
+ ::Dynamic fetchAttachment( ::borogove::ChatAttachment attachment, ::borogove::Client client,::hx::Null< bool > storeIfNeeded);
+ ::Dynamic fetchAttachment_dyn();
+
+ void fetchAttachment__fromC( ::borogove::ChatAttachment attachment, ::borogove::Client client,::hx::Null< bool > storeIfNeeded,::cpp::Function< void (void*,void*) > handler,void* handler__context);
+
::borogove::Stanza asStanza();
::Dynamic asStanza_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h b/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
index f253c42..5fa8df1 100644
--- a/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
+++ b/Sources/c_borogove/iinclude/borogove/ChatMessageBuilder.h
@@ -55,7 +55,10 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static ::borogove::ChatMessage makeModerated( ::borogove::ChatMessage m,::String timestamp,::String moderatorId,::String reason);
+ static ::borogove::ChatMessageBuilder fromMessage( ::borogove::ChatMessage m);
+ static ::Dynamic fromMessage_dyn();
+
+ static ::borogove::ChatMessage makeModerated( ::borogove::ChatMessage m,::String timeSent,::String timeReceived,::String moderatorId,::String reason);
static ::Dynamic makeModerated_dyn();
::String localId;
@@ -89,12 +92,19 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
bool syncPoint;
::String replyId;
- ::String timestamp;
- ::String timestamp__fromC();
- ::Dynamic timestamp__fromC_dyn();
+ ::String timeSent;
+ ::String timeSent__fromC();
+ ::Dynamic timeSent__fromC_dyn();
+
+ void set_timeSent__fromC(::String value);
+ ::Dynamic set_timeSent__fromC_dyn();
+
+ ::String timeReceived;
+ ::String timeReceived__fromC();
+ ::Dynamic timeReceived__fromC_dyn();
- void set_timestamp__fromC(::String value);
- ::Dynamic set_timestamp__fromC_dyn();
+ void set_timeReceived__fromC(::String value);
+ ::Dynamic set_timeReceived__fromC_dyn();
::borogove::JID to;
::borogove::JID from;
@@ -125,6 +135,7 @@ class HXCPP_CLASS_ATTRIBUTES ChatMessageBuilder_obj : public ::hx::Object
::Array< ::Dynamic> attachments;
size_t attachments__fromC(void*** outPtr);
+ ::Dynamic debug;
::haxe::ds::StringMap reactions;
::String text;
::String lang;
diff --git a/Sources/c_borogove/iinclude/borogove/ChatMessageCombiner.h b/Sources/c_borogove/iinclude/borogove/ChatMessageCombiner.h
new file mode 100644
index 0000000..326b12e
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/ChatMessageCombiner.h
@@ -0,0 +1,73 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_ChatMessageCombiner
+#define INCLUDED_borogove_ChatMessageCombiner
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,ChatMessageCombiner)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES ChatMessageCombiner_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ChatMessageCombiner_obj OBJ_;
+ ChatMessageCombiner_obj();
+
+ public:
+ enum { _hx_ClassId = 0x79f82ba1 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove.ChatMessageCombiner")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove.ChatMessageCombiner"); }
+
+ inline static ::hx::ObjectPtr< ChatMessageCombiner_obj > __new() {
+ ::hx::ObjectPtr< ChatMessageCombiner_obj > __this = new ChatMessageCombiner_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< ChatMessageCombiner_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ ChatMessageCombiner_obj *__this = (ChatMessageCombiner_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChatMessageCombiner_obj), false, "borogove.ChatMessageCombiner"));
+ *(void **)__this = ChatMessageCombiner_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ChatMessageCombiner_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("ChatMessageCombiner",e2,29,26,db); }
+
+ static ::Array< ::Dynamic> combine(::Array< ::Dynamic> messages);
+ static ::Dynamic combine_dyn();
+
+ static ::String correctionKey( ::borogove::ChatMessage message);
+ static ::Dynamic correctionKey_dyn();
+
+ static ::borogove::ChatMessage combineMessages(::Array< ::Dynamic> messages);
+ static ::Dynamic combineMessages_dyn();
+
+ static ::Array< ::Dynamic> combineVersions( ::borogove::ChatMessage original,::Array< ::Dynamic> messages);
+ static ::Dynamic combineVersions_dyn();
+
+ static ::String identity( ::borogove::ChatMessage message);
+ static ::Dynamic identity_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_ChatMessageCombiner */
diff --git a/Sources/c_borogove/iinclude/borogove/Client.h b/Sources/c_borogove/iinclude/borogove/Client.h
index 82538ef..574d4e7 100644
--- a/Sources/c_borogove/iinclude/borogove/Client.h
+++ b/Sources/c_borogove/iinclude/borogove/Client.h
@@ -10,10 +10,13 @@
#include <borogove/EventEmitter.h>
#endif
HX_DECLARE_CLASS1(borogove,AttachmentSource)
+HX_DECLARE_CLASS1(borogove,AttachmentUploadError)
HX_DECLARE_CLASS1(borogove,AvailableChat)
HX_DECLARE_CLASS1(borogove,AvailableChatIterator)
HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,CapsRepo)
+HX_DECLARE_CLASS1(borogove,Channel)
+HX_DECLARE_CLASS1(borogove,ChannelPinger)
HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,ChatAttachment)
HX_DECLARE_CLASS1(borogove,ChatMessage)
@@ -21,7 +24,6 @@ HX_DECLARE_CLASS1(borogove,ChatMessageBuilder)
HX_DECLARE_CLASS1(borogove,Client)
HX_DECLARE_CLASS1(borogove,DirectChat)
HX_DECLARE_CLASS1(borogove,EncryptionInfo)
-HX_DECLARE_CLASS1(borogove,EncryptionPolicy)
HX_DECLARE_CLASS1(borogove,EventEmitter)
HX_DECLARE_CLASS1(borogove,EventResult)
HX_DECLARE_CLASS1(borogove,GenericStream)
@@ -37,10 +39,15 @@ HX_DECLARE_CLASS2(borogove,calls,MediaStream)
HX_DECLARE_CLASS2(borogove,calls,MediaStreamTrack)
HX_DECLARE_CLASS2(borogove,calls,Session)
HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS1(haxe,Exception)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,core,NamedWith)
+HX_DECLARE_CLASS2(tink,http,ClientObject)
+HX_DECLARE_CLASS2(tink,http,HeaderField)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
@@ -83,9 +90,18 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
void set_sendAvailable__fromC(bool value);
::Dynamic set_sendAvailable__fromC_dyn();
+ bool blockIncomingWithoutE2EE;
+ bool blockIncomingWithoutE2EE__fromC();
+ ::Dynamic blockIncomingWithoutE2EE__fromC_dyn();
+
+ void set_blockIncomingWithoutE2EE__fromC(bool value);
+ ::Dynamic set_blockIncomingWithoutE2EE__fromC_dyn();
+
+ ::Array< int > outgoingE2EEPreference;
::borogove::GenericStream stream;
::borogove::JID jid;
::Array< ::Dynamic> chats;
+ ::haxe::ds::StringMap chatsIndex;
::Dynamic persistence;
::borogove::CapsRepo capsRepo;
::borogove::Caps caps;
@@ -94,11 +110,12 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
::String token;
::Dynamic fastCount;
::String sortId;
+ ::String rosterVer;
::haxe::ds::StringMap pendingCaps;
::haxe::ds::StringMap brokenAvatars;
- ::borogove::EncryptionPolicy encryptionPolicy;
bool inSync;
bool firstSync;
+ ::borogove::ChannelPinger channelPinger;
void processLiveMessage( ::borogove::Stanza stanza, ::borogove::Stanza fwd, ::borogove::EncryptionInfo encryptionInfo);
::Dynamic processLiveMessage_dyn();
@@ -122,6 +139,9 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
::String displayName();
::Dynamic displayName_dyn();
+ void setPhoto( ::borogove::AttachmentSource source,bool publicAccess);
+ ::Dynamic setPhoto_dyn();
+
void setProfile( ::borogove::ProfileBuilder profile,bool publicAccess);
::Dynamic setProfile_dyn();
@@ -131,22 +151,43 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
bool updateDisplayName(::String fn);
::Dynamic updateDisplayName_dyn();
+ void preferE2ee(int preference);
+ ::Dynamic preferE2ee_dyn();
+
+ void banE2ee(int preference);
+ ::Dynamic banE2ee_dyn();
+
::borogove::EventResult onConnected( ::Dynamic data);
::Dynamic onConnected_dyn();
- ::Dynamic prepareAttachment( ::borogove::AttachmentSource source);
+ ::Dynamic fetchAttachment( ::borogove::ChatAttachment attachment);
+ ::Dynamic fetchAttachment_dyn();
+
+ ::Dynamic fetchUris(::Array< ::String > uris);
+ ::Dynamic fetchUris_dyn();
+
+ ::Dynamic prepareAttachment( ::borogove::AttachmentSource source,::hx::Null< bool > encrypt);
::Dynamic prepareAttachment_dyn();
- void prepareAttachment__fromC( ::borogove::AttachmentSource source,::cpp::Function< void (void*,void*) > handler,void* handler__context);
+ void prepareAttachment__fromC( ::borogove::AttachmentSource source,::hx::Null< bool > encrypt,::cpp::Function< void (void*,void*) > handler,void* handler__context);
- void prepareAttachmentFor( ::borogove::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback);
+ ::Dynamic prepareAttachmentFor(::Dynamic source,::String name,int size,::String mime,::Array< ::Dynamic> services,::Dynamic httpClient);
::Dynamic prepareAttachmentFor_dyn();
+ ::Dynamic putAttachment(::String url,::Array< ::Dynamic> headers,::Dynamic source,int size,::Dynamic httpClient);
+ ::Dynamic putAttachment_dyn();
+
+ ::Dynamic tryNextAttachmentService(::Dynamic source,::String name,int size,::String mime,::Array< ::Dynamic> services, ::borogove::AttachmentUploadError failure,::Dynamic httpClient);
+ ::Dynamic tryNextAttachmentService_dyn();
+
::Array< ::Dynamic> getChats();
::Dynamic getChats_dyn();
size_t getChats__fromC(void*** outPtr);
+ ::Array< ::Dynamic> getChannels();
+ ::Dynamic getChannels_dyn();
+
::borogove::AvailableChatIterator findAvailableChats(::String q);
::Dynamic findAvailableChats_dyn();
@@ -256,6 +297,9 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
::Dynamic fetchMediaByHash(::Array< ::Dynamic> hashes,::Array< ::Dynamic> counterparts);
::Dynamic fetchMediaByHash_dyn();
+ ::Dynamic maybeAutodownloadAttachments( ::borogove::Chat chat, ::borogove::ChatMessage message);
+ ::Dynamic maybeAutodownloadAttachments_dyn();
+
::Dynamic fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::borogove::JID counterpart);
::Dynamic fetchMediaByHashOneCounterpart_dyn();
@@ -274,6 +318,9 @@ class HXCPP_CLASS_ATTRIBUTES Client_obj : public ::borogove::EventEmitter_obj
::Dynamic storeMessages(::Array< ::Dynamic> messages);
::Dynamic storeMessages_dyn();
+ void checkForResends();
+ ::Dynamic checkForResends_dyn();
+
void sendQuery( ::borogove::queries::GenericQuery query);
::Dynamic sendQuery_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/Command.h b/Sources/c_borogove/iinclude/borogove/Command.h
index 5b85cb6..1aab690 100644
--- a/Sources/c_borogove/iinclude/borogove/Command.h
+++ b/Sources/c_borogove/iinclude/borogove/Command.h
@@ -56,7 +56,7 @@ class HXCPP_CLASS_ATTRIBUTES Command_obj : public ::hx::Object
::borogove::JID jid;
::String node;
::borogove::Client client;
- ::Dynamic execute();
+ virtual ::Dynamic execute();
::Dynamic execute_dyn();
void execute__fromC(::cpp::Function< void (void*,void*) > handler,void* handler__context);
diff --git a/Sources/c_borogove/iinclude/borogove/CommandSession.h b/Sources/c_borogove/iinclude/borogove/CommandSession.h
index d11c9d2..bced4ae 100644
--- a/Sources/c_borogove/iinclude/borogove/CommandSession.h
+++ b/Sources/c_borogove/iinclude/borogove/CommandSession.h
@@ -67,7 +67,7 @@ class HXCPP_CLASS_ATTRIBUTES CommandSession_obj : public ::hx::Object
::String sessionid;
::borogove::Command command;
- ::Dynamic execute(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > formIdx);
+ virtual ::Dynamic execute(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > formIdx);
::Dynamic execute_dyn();
void execute__fromC(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > formIdx,::cpp::Function< void (void*,void*) > handler,void* handler__context);
diff --git a/Sources/c_borogove/iinclude/borogove/DirectChat.h b/Sources/c_borogove/iinclude/borogove/DirectChat.h
index 1dc78de..a342be7 100644
--- a/Sources/c_borogove/iinclude/borogove/DirectChat.h
+++ b/Sources/c_borogove/iinclude/borogove/DirectChat.h
@@ -95,11 +95,11 @@ class HXCPP_CLASS_ATTRIBUTES DirectChat_obj : public ::borogove::Chat_obj
void correctMessage( ::borogove::ChatMessage correct, ::borogove::ChatMessageBuilder message);
- void sendMessage( ::borogove::ChatMessageBuilder message);
+ void sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > e2eePreference);
void removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction);
- void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem);
+ void sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > e2eePreference);
void markReadUpTo( ::borogove::ChatMessage message);
diff --git a/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h b/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h
index f8e17f1..82d14b8 100644
--- a/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h
+++ b/Sources/c_borogove/iinclude/borogove/EncryptionInfo.h
@@ -24,13 +24,13 @@ class HXCPP_CLASS_ATTRIBUTES EncryptionInfo_obj : public ::hx::Object
public:
enum { _hx_ClassId = 0x618b2952 };
- void __construct(int status,::String method,::String methodName,::String reason,::String reasonText);
+ void __construct(int status,::String method,::String reason,::String reasonText,::String methodName);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.EncryptionInfo")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.EncryptionInfo"); }
- static ::hx::ObjectPtr< EncryptionInfo_obj > __new(int status,::String method,::String methodName,::String reason,::String reasonText);
- static ::hx::ObjectPtr< EncryptionInfo_obj > __alloc(::hx::Ctx *_hx_ctx,int status,::String method,::String methodName,::String reason,::String reasonText);
+ static ::hx::ObjectPtr< EncryptionInfo_obj > __new(int status,::String method,::String reason,::String reasonText,::String methodName);
+ static ::hx::ObjectPtr< EncryptionInfo_obj > __alloc(::hx::Ctx *_hx_ctx,int status,::String method,::String reason,::String reasonText,::String methodName);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
diff --git a/Sources/c_borogove/iinclude/borogove/FormOption.h b/Sources/c_borogove/iinclude/borogove/FormOption.h
index b279f0a..d574f8f 100644
--- a/Sources/c_borogove/iinclude/borogove/FormOption.h
+++ b/Sources/c_borogove/iinclude/borogove/FormOption.h
@@ -6,7 +6,7 @@
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_a7d595b8126d2317_221_new)
+HX_DECLARE_STACK_FRAME(_hx_pos_a7d595b8126d2317_222_new)
HX_DECLARE_CLASS1(borogove,FormOption)
HX_DECLARE_CLASS1(borogove,Stanza)
@@ -39,23 +39,23 @@ class HXCPP_CLASS_ATTRIBUTES FormOption_obj : public ::hx::Object
FormOption_obj *__this = (FormOption_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(FormOption_obj), true, "borogove.FormOption"));
*(void **)__this = FormOption_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_221_new)
-HXLINE( 222) ::String _hx_tmp;
-HXDLIN( 222) if (::hx::IsNotNull( label )) {
-HXLINE( 222) _hx_tmp = label;
+ HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_222_new)
+HXLINE( 223) ::String _hx_tmp;
+HXDLIN( 223) if (::hx::IsNotNull( label )) {
+HXLINE( 223) _hx_tmp = label;
}
else {
-HXLINE( 222) _hx_tmp = value;
+HXLINE( 223) _hx_tmp = value;
}
-HXDLIN( 222) ( ( ::borogove::FormOption)(__this) )->label = _hx_tmp;
-HXLINE( 223) ::String _hx_tmp1;
-HXDLIN( 223) if (::hx::IsNotNull( value )) {
-HXLINE( 223) _hx_tmp1 = value;
+HXDLIN( 223) ( ( ::borogove::FormOption)(__this) )->label = _hx_tmp;
+HXLINE( 224) ::String _hx_tmp1;
+HXDLIN( 224) if (::hx::IsNotNull( value )) {
+HXLINE( 224) _hx_tmp1 = value;
}
else {
-HXLINE( 223) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE( 224) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN( 223) ( ( ::borogove::FormOption)(__this) )->value = _hx_tmp1;
+HXDLIN( 224) ( ( ::borogove::FormOption)(__this) )->value = _hx_tmp1;
}
return __this;
diff --git a/Sources/c_borogove/iinclude/borogove/Hash.h b/Sources/c_borogove/iinclude/borogove/Hash.h
index 8fd88c4..c24f719 100644
--- a/Sources/c_borogove/iinclude/borogove/Hash.h
+++ b/Sources/c_borogove/iinclude/borogove/Hash.h
@@ -7,6 +7,7 @@
#endif
HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,IncrementalHash)
HX_DECLARE_CLASS2(haxe,io,Bytes)
namespace borogove{
@@ -53,12 +54,21 @@ class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
static ::borogove::Hash fromUri(::String uri);
static ::Dynamic fromUri_dyn();
+ static ::borogove::Hash mk(::String algorithm, ::haxe::io::Bytes bytes);
+ static ::Dynamic mk_dyn();
+
static ::borogove::Hash sha1( ::haxe::io::Bytes bytes);
static ::Dynamic sha1_dyn();
+ static ::borogove::IncrementalHash sha1incr();
+ static ::Dynamic sha1incr_dyn();
+
static ::borogove::Hash sha256( ::haxe::io::Bytes bytes);
static ::Dynamic sha256_dyn();
+ static ::borogove::IncrementalHash sha256incr();
+ static ::Dynamic sha256incr_dyn();
+
::String algorithm;
::String algorithm__fromC();
::Dynamic algorithm__fromC_dyn();
@@ -82,6 +92,9 @@ class HXCPP_CLASS_ATTRIBUTES Hash_obj : public ::hx::Object
::String toBase64Url();
::Dynamic toBase64Url_dyn();
+ bool equals( ::borogove::Hash other);
+ ::Dynamic equals_dyn();
+
};
} // end namespace borogove
diff --git a/Sources/c_borogove/iinclude/borogove/IncrementalHash.h b/Sources/c_borogove/iinclude/borogove/IncrementalHash.h
new file mode 100644
index 0000000..e659a98
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/IncrementalHash.h
@@ -0,0 +1,59 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_IncrementalHash
+#define INCLUDED_borogove_IncrementalHash
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Hash)
+HX_DECLARE_CLASS1(borogove,IncrementalHash)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES IncrementalHash_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef IncrementalHash_obj OBJ_;
+ IncrementalHash_obj();
+
+ public:
+ enum { _hx_ClassId = 0x66ead3e7 };
+
+ void __construct(::String algorithm, ::Dynamic hash);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.IncrementalHash")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.IncrementalHash"); }
+ static ::hx::ObjectPtr< IncrementalHash_obj > __new(::String algorithm, ::Dynamic hash);
+ static ::hx::ObjectPtr< IncrementalHash_obj > __alloc(::hx::Ctx *_hx_ctx,::String algorithm, ::Dynamic hash);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~IncrementalHash_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("IncrementalHash",a8,5d,ca,e6); }
+
+ ::String algorithm;
+ ::Dynamic hash;
+ void update(::Array< unsigned char > bytes);
+ ::Dynamic update_dyn();
+
+ ::borogove::Hash digest();
+ ::Dynamic digest_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_IncrementalHash */
diff --git a/Sources/c_borogove/iinclude/borogove/Member.h b/Sources/c_borogove/iinclude/borogove/Member.h
index 07418ec..5425c8c 100644
--- a/Sources/c_borogove/iinclude/borogove/Member.h
+++ b/Sources/c_borogove/iinclude/borogove/Member.h
@@ -43,7 +43,9 @@ class HXCPP_CLASS_ATTRIBUTES Member_obj : public ::hx::Object
HX_DO_RTTI_ALL;
::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ static bool __SetStatic(const ::String &inString, Dynamic &ioValue, ::hx::PropertyAccess inCallProp);
void __GetFields(Array< ::String> &outFields);
static void __register();
void __Mark(HX_MARK_PARAMS);
@@ -53,6 +55,10 @@ class HXCPP_CLASS_ATTRIBUTES Member_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
+ static ::borogove::Member MODERATED;
+ static ::borogove::Member MODERATED__fromC();
+ static ::Dynamic MODERATED__fromC_dyn();
+
::String id;
::String id__fromC();
::Dynamic id__fromC_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/MessageStanza.h b/Sources/c_borogove/iinclude/borogove/MessageStanza.h
index 532c90a..a237fae 100644
--- a/Sources/c_borogove/iinclude/borogove/MessageStanza.h
+++ b/Sources/c_borogove/iinclude/borogove/MessageStanza.h
@@ -7,6 +7,7 @@
#endif
HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,JID)
HX_DECLARE_CLASS1(borogove,MessageStanza)
HX_DECLARE_CLASS1(borogove,ModerationAction)
HX_DECLARE_CLASS1(borogove,ReactionUpdate)
@@ -36,6 +37,8 @@ class MessageStanza_obj : public ::hx::EnumBase_obj
static ::Dynamic ModerateMessageStanza_dyn();
static ::borogove::MessageStanza MucInviteStanza(::String serverId,::String serverIdBy,::String reason,::String password);
static ::Dynamic MucInviteStanza_dyn();
+ static ::borogove::MessageStanza MucVoiceRequest( ::borogove::JID jid);
+ static ::Dynamic MucVoiceRequest_dyn();
static ::borogove::MessageStanza ReactionUpdateStanza( ::borogove::ReactionUpdate update);
static ::Dynamic ReactionUpdateStanza_dyn();
static ::borogove::MessageStanza SubjectStanza(::String subject);
diff --git a/Sources/c_borogove/iinclude/borogove/MessageSync.h b/Sources/c_borogove/iinclude/borogove/MessageSync.h
index 3999558..179ba9a 100644
--- a/Sources/c_borogove/iinclude/borogove/MessageSync.h
+++ b/Sources/c_borogove/iinclude/borogove/MessageSync.h
@@ -60,8 +60,11 @@ class HXCPP_CLASS_ATTRIBUTES MessageSync_obj : public ::hx::Object
Dynamic contextHandler_dyn() { return contextHandler;}
::Dynamic errorHandler;
Dynamic errorHandler_dyn() { return errorHandler;}
+ ::String startSortA;
+ ::Dynamic startFilter;
::String sortA;
::String sortB;
+ Float startedAt;
::Dynamic lastPage;
int progress;
bool complete;
diff --git a/Sources/c_borogove/iinclude/borogove/ModerationAction.h b/Sources/c_borogove/iinclude/borogove/ModerationAction.h
index 67625f5..3ffa3a0 100644
--- a/Sources/c_borogove/iinclude/borogove/ModerationAction.h
+++ b/Sources/c_borogove/iinclude/borogove/ModerationAction.h
@@ -6,7 +6,7 @@
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_1331bd461281db0a_10_new)
+HX_DECLARE_STACK_FRAME(_hx_pos_1331bd461281db0a_11_new)
HX_DECLARE_CLASS1(borogove,ModerationAction)
namespace borogove{
@@ -22,28 +22,29 @@ class HXCPP_CLASS_ATTRIBUTES ModerationAction_obj : public ::hx::Object
public:
enum { _hx_ClassId = 0x67bec1fd };
- void __construct(::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason);
+ void __construct(::String chatId,::String moderateServerId,::String timeSent,::String timeReceived,::String moderatorId,::String reason);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.ModerationAction")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.ModerationAction"); }
- inline static ::hx::ObjectPtr< ModerationAction_obj > __new(::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason) {
+ inline static ::hx::ObjectPtr< ModerationAction_obj > __new(::String chatId,::String moderateServerId,::String timeSent,::String timeReceived,::String moderatorId,::String reason) {
::hx::ObjectPtr< ModerationAction_obj > __this = new ModerationAction_obj();
- __this->__construct(chatId,moderateServerId,timestamp,moderatorId,reason);
+ __this->__construct(chatId,moderateServerId,timeSent,timeReceived,moderatorId,reason);
return __this;
}
- inline static ::hx::ObjectPtr< ModerationAction_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason) {
+ inline static ::hx::ObjectPtr< ModerationAction_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,::String moderateServerId,::String timeSent,::String timeReceived,::String moderatorId,::String reason) {
ModerationAction_obj *__this = (ModerationAction_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ModerationAction_obj), true, "borogove.ModerationAction"));
*(void **)__this = ModerationAction_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_1331bd461281db0a_10_new)
-HXLINE( 11) ( ( ::borogove::ModerationAction)(__this) )->chatId = chatId;
-HXLINE( 12) ( ( ::borogove::ModerationAction)(__this) )->moderateServerId = moderateServerId;
-HXLINE( 13) ( ( ::borogove::ModerationAction)(__this) )->timestamp = timestamp;
-HXLINE( 14) ( ( ::borogove::ModerationAction)(__this) )->moderatorId = moderatorId;
-HXLINE( 15) ( ( ::borogove::ModerationAction)(__this) )->reason = reason;
+ HX_STACKFRAME(&_hx_pos_1331bd461281db0a_11_new)
+HXLINE( 12) ( ( ::borogove::ModerationAction)(__this) )->chatId = chatId;
+HXLINE( 13) ( ( ::borogove::ModerationAction)(__this) )->moderateServerId = moderateServerId;
+HXLINE( 14) ( ( ::borogove::ModerationAction)(__this) )->timeSent = timeSent;
+HXLINE( 15) ( ( ::borogove::ModerationAction)(__this) )->timeReceived = timeReceived;
+HXLINE( 16) ( ( ::borogove::ModerationAction)(__this) )->moderatorId = moderatorId;
+HXLINE( 17) ( ( ::borogove::ModerationAction)(__this) )->reason = reason;
}
return __this;
@@ -66,7 +67,8 @@ HXLINE( 15) ( ( ::borogove::ModerationAction)(__this) )->reason = reason;
::String chatId;
::String moderateServerId;
- ::String timestamp;
+ ::String timeSent;
+ ::String timeReceived;
::String moderatorId;
::String reason;
};
diff --git a/Sources/c_borogove/iinclude/borogove/MucSettingsCommand.h b/Sources/c_borogove/iinclude/borogove/MucSettingsCommand.h
new file mode 100644
index 0000000..0de4783
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/MucSettingsCommand.h
@@ -0,0 +1,56 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_MucSettingsCommand
+#define INCLUDED_borogove_MucSettingsCommand
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Client)
+HX_DECLARE_CLASS1(borogove,Command)
+HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,JID)
+HX_DECLARE_CLASS1(borogove,MucSettingsCommand)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES MucSettingsCommand_obj : public ::borogove::Command_obj
+{
+ public:
+ typedef ::borogove::Command_obj super;
+ typedef MucSettingsCommand_obj OBJ_;
+ MucSettingsCommand_obj();
+
+ public:
+ enum { _hx_ClassId = 0x108c2af6 };
+
+ void __construct( ::borogove::Client client, ::borogove::JID jid);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.MucSettingsCommand")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.MucSettingsCommand"); }
+ static ::hx::ObjectPtr< MucSettingsCommand_obj > __new( ::borogove::Client client, ::borogove::JID jid);
+ static ::hx::ObjectPtr< MucSettingsCommand_obj > __alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID jid);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~MucSettingsCommand_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("MucSettingsCommand",0d,91,cd,45); }
+
+ ::Dynamic execute();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_MucSettingsCommand */
diff --git a/Sources/c_borogove/iinclude/borogove/MucSettingsCommandSession.h b/Sources/c_borogove/iinclude/borogove/MucSettingsCommandSession.h
new file mode 100644
index 0000000..fb9109d
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/MucSettingsCommandSession.h
@@ -0,0 +1,58 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_MucSettingsCommandSession
+#define INCLUDED_borogove_MucSettingsCommandSession
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_CommandSession
+#include <borogove/CommandSession.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Command)
+HX_DECLARE_CLASS1(borogove,CommandSession)
+HX_DECLARE_CLASS1(borogove,Form)
+HX_DECLARE_CLASS1(borogove,FormOption)
+HX_DECLARE_CLASS1(borogove,FormSection)
+HX_DECLARE_CLASS1(borogove,FormSubmitBuilder)
+HX_DECLARE_CLASS1(borogove,MucSettingsCommandSession)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES MucSettingsCommandSession_obj : public ::borogove::CommandSession_obj
+{
+ public:
+ typedef ::borogove::CommandSession_obj super;
+ typedef MucSettingsCommandSession_obj OBJ_;
+ MucSettingsCommandSession_obj();
+
+ public:
+ enum { _hx_ClassId = 0x5a25f9e4 };
+
+ void __construct(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.MucSettingsCommandSession")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.MucSettingsCommandSession"); }
+ static ::hx::ObjectPtr< MucSettingsCommandSession_obj > __new(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command);
+ static ::hx::ObjectPtr< MucSettingsCommandSession_obj > __alloc(::hx::Ctx *_hx_ctx,::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~MucSettingsCommandSession_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("MucSettingsCommandSession",c9,99,ef,98); }
+
+ ::Dynamic execute(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > formIdx);
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_MucSettingsCommandSession */
diff --git a/Sources/c_borogove/iinclude/borogove/Notification.h b/Sources/c_borogove/iinclude/borogove/Notification.h
index bbbbd6e..b41d85c 100644
--- a/Sources/c_borogove/iinclude/borogove/Notification.h
+++ b/Sources/c_borogove/iinclude/borogove/Notification.h
@@ -9,6 +9,7 @@
HX_DECLARE_STACK_FRAME(_hx_pos_44a57d84c61de0e9_67_new)
HX_DECLARE_CLASS1(borogove,ChatMessage)
HX_DECLARE_CLASS1(borogove,Notification)
+HX_DECLARE_CLASS1(borogove,ReactionUpdate)
HX_DECLARE_CLASS1(borogove,Stanza)
namespace borogove{
@@ -79,6 +80,9 @@ HXLINE( 79) ( ( ::borogove::Notification)(__this) )->timestamp = timestamp;
static ::borogove::Notification fromChatMessage( ::borogove::ChatMessage m);
static ::Dynamic fromChatMessage_dyn();
+ static ::borogove::Notification fromReactionUpdate( ::borogove::ReactionUpdate m, ::borogove::Stanza stanza);
+ static ::Dynamic fromReactionUpdate_dyn();
+
static ::borogove::Notification fromThinStanza( ::borogove::Stanza stanza);
static ::Dynamic fromThinStanza_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/Participant.h b/Sources/c_borogove/iinclude/borogove/Participant.h
deleted file mode 100644
index 534c86e..0000000
--- a/Sources/c_borogove/iinclude/borogove/Participant.h
+++ /dev/null
@@ -1,92 +0,0 @@
-// Generated by Haxe 4.3.3
-#ifndef INCLUDED_borogove_Participant
-#define INCLUDED_borogove_Participant
-
-#ifndef HXCPP_H
-#include <hxcpp.h>
-#endif
-
-HX_DECLARE_CLASS1(borogove,AvailableChat)
-HX_DECLARE_CLASS1(borogove,Client)
-HX_DECLARE_CLASS1(borogove,EventEmitter)
-HX_DECLARE_CLASS1(borogove,JID)
-HX_DECLARE_CLASS1(borogove,Participant)
-HX_DECLARE_CLASS1(borogove,Role)
-HX_DECLARE_CLASS1(thenshim,Thenable)
-
-namespace borogove{
-
-
-class HXCPP_CLASS_ATTRIBUTES Participant_obj : public ::hx::Object
-{
- public:
- typedef ::hx::Object super;
- typedef Participant_obj OBJ_;
- Participant_obj();
-
- public:
- enum { _hx_ClassId = 0x09ded66e };
-
- void __construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat);
- inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Participant")
- { return ::hx::Object::operator new(inSize,inContainer,inName); }
- inline void *operator new(size_t inSize, int extra)
- { return ::hx::Object::operator new(inSize+extra,true,"borogove.Participant"); }
- static ::hx::ObjectPtr< Participant_obj > __new(::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat);
- static ::hx::ObjectPtr< Participant_obj > __alloc(::hx::Ctx *_hx_ctx,::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat);
- static void * _hx_vtable;
- static Dynamic __CreateEmpty();
- static Dynamic __Create(::hx::DynamicArray inArgs);
- //~Participant_obj();
-
- HX_DO_RTTI_ALL;
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
- ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
- void __GetFields(Array< ::String> &outFields);
- static void __register();
- void __Mark(HX_MARK_PARAMS);
- void __Visit(HX_VISIT_PARAMS);
- bool _hx_isInstanceOf(int inClassId);
- ::String __ToString() const { return HX_("Participant",93,9f,1c,5f); }
-
- static void __boot();
- static ::Dynamic __meta__;
- ::String displayName;
- ::String displayName__fromC();
- ::Dynamic displayName__fromC_dyn();
-
- ::String photoUri;
- ::String photoUri__fromC();
- ::Dynamic photoUri__fromC_dyn();
-
- ::String placeholderUri;
- ::String placeholderUri__fromC();
- ::Dynamic placeholderUri__fromC_dyn();
-
- bool isSelf;
- bool isSelf__fromC();
- ::Dynamic isSelf__fromC_dyn();
-
- ::borogove::AvailableChat chat;
- ::borogove::AvailableChat chat__fromC();
- ::Dynamic chat__fromC_dyn();
-
- ::Array< ::Dynamic> roles;
- size_t roles__fromC(void*** outPtr);
-
- ::borogove::JID jid;
- ::Dynamic profile( ::borogove::Client client);
- ::Dynamic profile_dyn();
-
- void profile__fromC( ::borogove::Client client,::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
- ::Dynamic status( ::borogove::Client client);
- ::Dynamic status_dyn();
-
- void status__fromC( ::borogove::Client client,::cpp::Function< void (void*,void*) > handler,void* handler__context);
-
-};
-
-} // end namespace borogove
-
-#endif /* INCLUDED_borogove_Participant */
diff --git a/Sources/c_borogove/iinclude/borogove/Persistence.h b/Sources/c_borogove/iinclude/borogove/Persistence.h
index d781a2e..a31ee73 100644
--- a/Sources/c_borogove/iinclude/borogove/Persistence.h
+++ b/Sources/c_borogove/iinclude/borogove/Persistence.h
@@ -10,11 +10,13 @@ HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,ChatMessage)
HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Member)
HX_DECLARE_CLASS1(borogove,MemberUpdate)
HX_DECLARE_CLASS1(borogove,Persistence)
HX_DECLARE_CLASS1(borogove,ReactionUpdate)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
@@ -57,6 +59,14 @@ class HXCPP_CLASS_ATTRIBUTES Persistence_obj {
static inline ::Dynamic getMemberDetails( ::Dynamic _hx_,::String accountId, ::borogove::Chat chat,::Array< ::String > ids) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMemberDetails)(accountId,chat,ids);
}
+ ::Dynamic (::hx::Object :: *_hx_storeVoiceRequest)(::String accountId, ::borogove::Chat chat,::String jid,bool requesting);
+ static inline ::Dynamic storeVoiceRequest( ::Dynamic _hx_,::String accountId, ::borogove::Chat chat,::String jid,bool requesting) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeVoiceRequest)(accountId,chat,jid,requesting);
+ }
+ ::Dynamic (::hx::Object :: *_hx_listVoiceRequests)(::String accountId, ::borogove::Chat chat);
+ static inline ::Dynamic listVoiceRequests( ::Dynamic _hx_,::String accountId, ::borogove::Chat chat) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_listVoiceRequests)(accountId,chat);
+ }
::Dynamic (::hx::Object :: *_hx_getChatsUnreadDetails)(::String accountId,::Array< ::Dynamic> chats);
static inline ::Dynamic getChatsUnreadDetails( ::Dynamic _hx_,::String accountId,::Array< ::Dynamic> chats) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getChatsUnreadDetails)(accountId,chats);
@@ -93,13 +103,17 @@ class HXCPP_CLASS_ATTRIBUTES Persistence_obj {
static inline ::Dynamic getMessagesAround( ::Dynamic _hx_,::String accountId, ::borogove::ChatMessage around) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessagesAround)(accountId,around);
}
- ::Dynamic (::hx::Object :: *_hx_hasMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
- static inline ::Dynamic hasMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_hasMedia)(hashAlgorithm,hash);
+ ::Dynamic (::hx::Object :: *_hx_getMessagesByStatus)(::String accountId,int status);
+ static inline ::Dynamic getMessagesByStatus( ::Dynamic _hx_,::String accountId,int status) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getMessagesByStatus)(accountId,status);
+ }
+ ::Dynamic (::hx::Object :: *_hx_hasMedia)( ::borogove::Hash hash);
+ static inline ::Dynamic hasMedia( ::Dynamic _hx_, ::borogove::Hash hash) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_hasMedia)(hash);
}
- ::Dynamic (::hx::Object :: *_hx_storeMedia)(::String mime,::Array< unsigned char > bytes);
- static inline ::Dynamic storeMedia( ::Dynamic _hx_,::String mime,::Array< unsigned char > bytes) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeMedia)(mime,bytes);
+ ::Dynamic (::hx::Object :: *_hx_storeMedia)(::String mime,::Dynamic source);
+ static inline ::Dynamic storeMedia( ::Dynamic _hx_,::String mime,::Dynamic source) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeMedia)(mime,source);
}
::Dynamic (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
static inline ::Dynamic removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
@@ -113,9 +127,9 @@ class HXCPP_CLASS_ATTRIBUTES Persistence_obj {
static inline ::Dynamic getCaps( ::Dynamic _hx_,::String ver) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_getCaps)(ver);
}
- ::Dynamic (::hx::Object :: *_hx_storeLogin)(::String accountId,::String clientId,::String displayName,::String token);
- static inline ::Dynamic storeLogin( ::Dynamic _hx_,::String accountId,::String clientId,::String displayName,::String token) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeLogin)(accountId,clientId,displayName,token);
+ ::Dynamic (::hx::Object :: *_hx_storeLogin)(::String accountId,::String clientId,::String displayName,::String rosterVer,::String token);
+ static inline ::Dynamic storeLogin( ::Dynamic _hx_,::String accountId,::String clientId,::String displayName,::String rosterVer,::String token) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::Persistence_obj *>(_hx_.mPtr->_hx_getInterface(0xb8b304be)))->_hx_storeLogin)(accountId,clientId,displayName,rosterVer,token);
}
::Dynamic (::hx::Object :: *_hx_getLogin)(::String accountId);
static inline ::Dynamic getLogin( ::Dynamic _hx_,::String accountId) {
diff --git a/Sources/c_borogove/iinclude/borogove/Persistence__Companion.h b/Sources/c_borogove/iinclude/borogove/Persistence__Companion.h
index e695a86..97636fd 100644
--- a/Sources/c_borogove/iinclude/borogove/Persistence__Companion.h
+++ b/Sources/c_borogove/iinclude/borogove/Persistence__Companion.h
@@ -7,8 +7,10 @@
#endif
HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Persistence)
HX_DECLARE_CLASS1(borogove,Persistence__Companion)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
@@ -74,13 +76,13 @@ class HXCPP_CLASS_ATTRIBUTES Persistence__Companion_obj : public ::hx::Object
static void getMessagesAround__fromC(::Dynamic self,::String accountId, ::borogove::ChatMessage around,::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context);
- static void hasMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
+ static void hasMedia__fromC(::Dynamic self, ::borogove::Hash hash,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
- static void storeMedia__fromC(::Dynamic self,::String mime,::cpp::Pointer< unsigned char > bytes,size_t bytes__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
+ static void storeMedia__fromC(::Dynamic self,::String mime,::Dynamic source,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
static void removeMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
- static void storeLogin__fromC(::Dynamic self,::String accountId,::String clientId,::String displayName,::String token,::cpp::Function< void (bool,void*) > handler,void* handler__context);
+ static void storeLogin__fromC(::Dynamic self,::String accountId,::String clientId,::String displayName,::String rosterVer,::String token,::cpp::Function< void (bool,void*) > handler,void* handler__context);
static void removeAccount__fromC(::Dynamic self,::String accountId,bool completely,::cpp::Function< void (bool,void*) > handler,void* handler__context);
diff --git a/Sources/c_borogove/iinclude/borogove/SerializedChat.h b/Sources/c_borogove/iinclude/borogove/SerializedChat.h
index 2a2c337..e300622 100644
--- a/Sources/c_borogove/iinclude/borogove/SerializedChat.h
+++ b/Sources/c_borogove/iinclude/borogove/SerializedChat.h
@@ -7,15 +7,16 @@
#endif
HX_DECLARE_CLASS1(borogove,Caps)
-HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,Client)
HX_DECLARE_CLASS1(borogove,EventEmitter)
HX_DECLARE_CLASS1(borogove,GenericStream)
HX_DECLARE_CLASS1(borogove,Persistence)
HX_DECLARE_CLASS1(borogove,SerializedChat)
+HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(borogove,Status)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
+HX_DECLARE_CLASS1(thenshim,Thenable)
namespace borogove{
@@ -30,13 +31,13 @@ class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
public:
enum { _hx_ClassId = 0x1b18ce3d };
- void __construct(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
+ void __construct(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.SerializedChat")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.SerializedChat"); }
- static ::hx::ObjectPtr< SerializedChat_obj > __new(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
- static ::hx::ObjectPtr< SerializedChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
+ static ::hx::ObjectPtr< SerializedChat_obj > __new(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
+ static ::hx::ObjectPtr< SerializedChat_obj > __alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -62,7 +63,7 @@ class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
int uiState;
bool isBlocked;
::borogove::Status status;
- ::String extensions;
+ ::borogove::Stanza extensions;
::String readUpToId;
::String readUpToBy;
::haxe::ds::StringMap threads;
@@ -73,7 +74,7 @@ class HXCPP_CLASS_ATTRIBUTES SerializedChat_obj : public ::hx::Object
bool notifyMention;
bool notifyReply;
::String klass;
- ::borogove::Chat toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence);
+ ::Dynamic toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence);
::Dynamic toChat_dyn();
};
diff --git a/Sources/c_borogove/iinclude/borogove/Sha1.h b/Sources/c_borogove/iinclude/borogove/Sha1.h
new file mode 100644
index 0000000..b9790e7
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/Sha1.h
@@ -0,0 +1,74 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_Sha1
+#define INCLUDED_borogove_Sha1
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(borogove,Sha1)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace borogove{
+
+
+class HXCPP_CLASS_ATTRIBUTES Sha1_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Sha1_obj OBJ_;
+ Sha1_obj();
+
+ public:
+ enum { _hx_ClassId = 0x3562e806 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Sha1")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.Sha1"); }
+ static ::hx::ObjectPtr< Sha1_obj > __new();
+ static ::hx::ObjectPtr< Sha1_obj > __alloc(::hx::Ctx *_hx_ctx);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Sha1_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Sha1",a5,f4,2b,37); }
+
+ static ::haxe::io::Bytes make( ::haxe::io::Bytes b);
+ static ::Dynamic make_dyn();
+
+ ::Array< int > h;
+ ::haxe::io::Bytes buffer;
+ int bufferLen;
+ ::cpp::Int64 totalLen;
+ void update( ::haxe::io::Bytes b);
+ ::Dynamic update_dyn();
+
+ ::haxe::io::Bytes digest();
+ ::Dynamic digest_dyn();
+
+ void processBlock();
+ ::Dynamic processBlock_dyn();
+
+ int ft(int t,int b,int c,int d);
+ ::Dynamic ft_dyn();
+
+ int kt(int t);
+ ::Dynamic kt_dyn();
+
+};
+
+} // end namespace borogove
+
+#endif /* INCLUDED_borogove_Sha1 */
diff --git a/Sources/c_borogove/iinclude/borogove/Stanza.h b/Sources/c_borogove/iinclude/borogove/Stanza.h
index b34faa6..952977d 100644
--- a/Sources/c_borogove/iinclude/borogove/Stanza.h
+++ b/Sources/c_borogove/iinclude/borogove/Stanza.h
@@ -6,9 +6,12 @@
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS0(Xml)
HX_DECLARE_CLASS1(borogove,Node)
HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS1(borogove,StanzaError)
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
namespace borogove{
@@ -23,13 +26,13 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
public:
enum { _hx_ClassId = 0x6aef1fb6 };
- void __construct(::String name, ::Dynamic attr);
+ void __construct(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.Stanza")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.Stanza"); }
- static ::hx::ObjectPtr< Stanza_obj > __new(::String name, ::Dynamic attr);
- static ::hx::ObjectPtr< Stanza_obj > __alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr);
+ static ::hx::ObjectPtr< Stanza_obj > __new(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap);
+ static ::hx::ObjectPtr< Stanza_obj > __alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
@@ -49,11 +52,14 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
static ::borogove::Stanza parse(::String s);
static ::Dynamic parse_dyn();
+ static ::borogove::Stanza fromXml( ::Xml el);
+ static ::Dynamic fromXml_dyn();
+
static bool parseXmlBool(::String x);
static ::Dynamic parseXmlBool_dyn();
::String name;
- ::Dynamic attr;
+ ::haxe::ds::StringMap attr;
::Array< ::Dynamic> children;
::borogove::Stanza last_added;
::Array< ::Dynamic> last_added_stack;
@@ -64,15 +70,18 @@ class HXCPP_CLASS_ATTRIBUTES Stanza_obj : public ::hx::Object
virtual ::String toString();
::Dynamic toString_dyn();
- ::borogove::Stanza tag(::String name, ::Dynamic attr);
+ ::borogove::Stanza tag(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap);
::Dynamic tag_dyn();
::borogove::Stanza text(::String content);
::Dynamic text_dyn();
- ::borogove::Stanza textTag(::String tagName,::String textContent, ::Dynamic attr);
+ ::borogove::Stanza textTag(::String tagName,::String textContent, ::Dynamic attr, ::haxe::ds::StringMap attrMap);
::Dynamic textTag_dyn();
+ bool atTop();
+ ::Dynamic atTop_dyn();
+
::borogove::Stanza up();
::Dynamic up_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/StanzaError.h b/Sources/c_borogove/iinclude/borogove/StanzaError.h
index 9494a4a..16742c0 100644
--- a/Sources/c_borogove/iinclude/borogove/StanzaError.h
+++ b/Sources/c_borogove/iinclude/borogove/StanzaError.h
@@ -6,7 +6,7 @@
#include <hxcpp.h>
#endif
-HX_DECLARE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_59_new)
+HX_DECLARE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_57_new)
HX_DECLARE_CLASS1(borogove,StanzaError)
namespace borogove{
@@ -38,10 +38,10 @@ class HXCPP_CLASS_ATTRIBUTES StanzaError_obj : public ::hx::Object
StanzaError_obj *__this = (StanzaError_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(StanzaError_obj), true, "borogove.StanzaError"));
*(void **)__this = StanzaError_obj::_hx_vtable;
{
- HX_STACKFRAME(&_hx_pos_484813a5ad2c9a87_59_new)
-HXLINE( 60) ( ( ::borogove::StanzaError)(__this) )->type = type_;
-HXLINE( 61) ( ( ::borogove::StanzaError)(__this) )->condition = condition_;
-HXLINE( 62) ( ( ::borogove::StanzaError)(__this) )->text = text_;
+ HX_STACKFRAME(&_hx_pos_484813a5ad2c9a87_57_new)
+HXLINE( 58) ( ( ::borogove::StanzaError)(__this) )->type = type_;
+HXLINE( 59) ( ( ::borogove::StanzaError)(__this) )->condition = condition_;
+HXLINE( 60) ( ( ::borogove::StanzaError)(__this) )->text = text_;
}
return __this;
diff --git a/Sources/c_borogove/iinclude/borogove/_Source/Source_Impl_.h b/Sources/c_borogove/iinclude/borogove/_Source/Source_Impl_.h
new file mode 100644
index 0000000..3a2c759
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_Source/Source_Impl_.h
@@ -0,0 +1,66 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__Source_Source_Impl_
+#define INCLUDED_borogove__Source_Source_Impl_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(borogove,_Source,Source_Impl_)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
+
+namespace borogove{
+namespace _Source{
+
+
+class HXCPP_CLASS_ATTRIBUTES Source_Impl__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Source_Impl__obj OBJ_;
+ Source_Impl__obj();
+
+ public:
+ enum { _hx_ClassId = 0x16ab3ea4 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._Source.Source_Impl_")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove._Source.Source_Impl_"); }
+
+ inline static ::hx::ObjectPtr< Source_Impl__obj > __new() {
+ ::hx::ObjectPtr< Source_Impl__obj > __this = new Source_Impl__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Source_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Source_Impl__obj *__this = (Source_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Source_Impl__obj), false, "borogove._Source.Source_Impl_"));
+ *(void **)__this = Source_Impl__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Source_Impl__obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Source_Impl_",db,cf,0d,d6); }
+
+ static ::Dynamic _new(::Dynamic source);
+ static ::Dynamic _new_dyn();
+
+ static ::Dynamic ofTinkSource(::Dynamic source);
+ static ::Dynamic ofTinkSource_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace _Source
+
+#endif /* INCLUDED_borogove__Source_Source_Impl_ */
diff --git a/Sources/c_borogove/iinclude/borogove/_XEP0454/XEP0454_Fields_.h b/Sources/c_borogove/iinclude/borogove/_XEP0454/XEP0454_Fields_.h
new file mode 100644
index 0000000..67e4a61
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/_XEP0454/XEP0454_Fields_.h
@@ -0,0 +1,73 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove__XEP0454_XEP0454_Fields_
+#define INCLUDED_borogove__XEP0454_XEP0454_Fields_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(borogove,_XEP0454,XEP0454_Fields_)
+HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
+
+namespace borogove{
+namespace _XEP0454{
+
+
+class HXCPP_CLASS_ATTRIBUTES XEP0454_Fields__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef XEP0454_Fields__obj OBJ_;
+ XEP0454_Fields__obj();
+
+ public:
+ enum { _hx_ClassId = 0x2bbca83d };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="borogove._XEP0454.XEP0454_Fields_")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"borogove._XEP0454.XEP0454_Fields_"); }
+
+ inline static ::hx::ObjectPtr< XEP0454_Fields__obj > __new() {
+ ::hx::ObjectPtr< XEP0454_Fields__obj > __this = new XEP0454_Fields__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< XEP0454_Fields__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ XEP0454_Fields__obj *__this = (XEP0454_Fields__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(XEP0454_Fields__obj), false, "borogove._XEP0454.XEP0454_Fields_"));
+ *(void **)__this = XEP0454_Fields__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~XEP0454_Fields__obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("XEP0454_Fields_",cd,b4,1b,a8); }
+
+ static ::Dynamic fetch( ::Dynamic aesgcm);
+ static ::Dynamic fetch_dyn();
+
+ static ::Dynamic put(::Dynamic source, ::Dynamic httpPut);
+ static ::Dynamic put_dyn();
+
+ static ::Dynamic parse(::String uriStr);
+ static ::Dynamic parse_dyn();
+
+ static ::Dynamic parseURI(::String uriStr);
+ static ::Dynamic parseURI_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace _XEP0454
+
+#endif /* INCLUDED_borogove__XEP0454_XEP0454_Fields_ */
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h b/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h
index 19920b9..aca9397 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/Dummy.h
@@ -13,12 +13,14 @@ HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,ChatMessage)
HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Member)
HX_DECLARE_CLASS1(borogove,MemberUpdate)
HX_DECLARE_CLASS1(borogove,Persistence)
HX_DECLARE_CLASS1(borogove,ReactionUpdate)
HX_DECLARE_CLASS2(borogove,persistence,Dummy)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
namespace persistence{
@@ -79,6 +81,12 @@ class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
::Dynamic getMemberDetails(::String accountId, ::borogove::Chat chat,::Array< ::String > ids);
::Dynamic getMemberDetails_dyn();
+ ::Dynamic storeVoiceRequest(::String accountId, ::borogove::Chat chat,::String jid,bool requesting);
+ ::Dynamic storeVoiceRequest_dyn();
+
+ ::Dynamic listVoiceRequests(::String accountId, ::borogove::Chat chat);
+ ::Dynamic listVoiceRequests_dyn();
+
::Dynamic storeMessages(::String accountId,::Array< ::Dynamic> messages);
::Dynamic storeMessages_dyn();
@@ -97,6 +105,9 @@ class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
::Dynamic getMessagesAround(::String accountId, ::borogove::ChatMessage around);
::Dynamic getMessagesAround_dyn();
+ ::Dynamic getMessagesByStatus(::String accountId,int status);
+ ::Dynamic getMessagesByStatus_dyn();
+
::Dynamic getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats);
::Dynamic getChatsUnreadDetails_dyn();
@@ -106,10 +117,10 @@ class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
::Dynamic updateMessageStatus(::String accountId,::String localId,int status,::String statusText);
::Dynamic updateMessageStatus_dyn();
- ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
+ ::Dynamic hasMedia( ::borogove::Hash hash);
::Dynamic hasMedia_dyn();
- ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
+ ::Dynamic storeMedia(::String mime,::Dynamic source);
::Dynamic storeMedia_dyn();
::Dynamic removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
@@ -121,7 +132,7 @@ class HXCPP_CLASS_ATTRIBUTES Dummy_obj : public ::hx::Object
::Dynamic getCaps(::String ver);
::Dynamic getCaps_dyn();
- ::Dynamic storeLogin(::String login,::String clientId,::String displayName,::String token);
+ ::Dynamic storeLogin(::String login,::String clientId,::String displayName,::String rosterVer,::String token);
::Dynamic storeLogin_dyn();
::Dynamic getLogin(::String login);
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h
index 6148605..7c0b929 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore.h
@@ -6,9 +6,11 @@
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
namespace persistence{
@@ -20,17 +22,17 @@ class HXCPP_CLASS_ATTRIBUTES MediaStore_obj {
HX_DO_INTERFACE_RTTI;
static void __boot();
- ::Dynamic (::hx::Object :: *_hx_hasMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
- static inline ::Dynamic hasMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_hasMedia)(hashAlgorithm,hash);
+ ::Dynamic (::hx::Object :: *_hx_hasMedia)( ::borogove::Hash hash);
+ static inline ::Dynamic hasMedia( ::Dynamic _hx_, ::borogove::Hash hash) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_hasMedia)(hash);
}
::Dynamic (::hx::Object :: *_hx_removeMedia)(::String hashAlgorithm,::Array< unsigned char > hash);
static inline ::Dynamic removeMedia( ::Dynamic _hx_,::String hashAlgorithm,::Array< unsigned char > hash) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_removeMedia)(hashAlgorithm,hash);
}
- ::Dynamic (::hx::Object :: *_hx_storeMedia)(::String mime,::Array< unsigned char > bytes);
- static inline ::Dynamic storeMedia( ::Dynamic _hx_,::String mime,::Array< unsigned char > bytes) {
- return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_storeMedia)(mime,bytes);
+ ::Dynamic (::hx::Object :: *_hx_storeMedia)(::String mime,::Dynamic source);
+ static inline ::Dynamic storeMedia( ::Dynamic _hx_,::String mime,::Dynamic source) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::borogove::persistence::MediaStore_obj *>(_hx_.mPtr->_hx_getInterface(0xb3aaad1b)))->_hx_storeMedia)(mime,source);
}
void (::hx::Object :: *_hx_setKV)(::Dynamic kv);
static inline void setKV( ::Dynamic _hx_,::Dynamic kv) {
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h b/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
index 25370f4..75fabbf 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/MediaStoreFS.h
@@ -9,10 +9,12 @@
#ifndef INCLUDED_borogove_persistence_MediaStore
#include <borogove/persistence/MediaStore.h>
#endif
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS2(borogove,persistence,KeyValueStore)
HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
HX_DECLARE_CLASS2(borogove,persistence,MediaStoreFS)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
namespace persistence{
@@ -63,13 +65,13 @@ class HXCPP_CLASS_ATTRIBUTES MediaStoreFS_obj : public ::hx::Object
void getMediaPath__fromC(::String uri,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
- ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
+ ::Dynamic hasMedia( ::borogove::Hash hash);
::Dynamic hasMedia_dyn();
::Dynamic removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic removeMedia_dyn();
- ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
+ ::Dynamic storeMedia(::String mime,::Dynamic source);
::Dynamic storeMedia_dyn();
::Dynamic set(::String k,::String v);
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/MediaStore__Companion.h b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore__Companion.h
index 2bddcc4..b6fa94f 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/MediaStore__Companion.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/MediaStore__Companion.h
@@ -6,8 +6,10 @@
#include <hxcpp.h>
#endif
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS2(borogove,persistence,MediaStore)
HX_DECLARE_CLASS2(borogove,persistence,MediaStore__Companion)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
namespace persistence{
@@ -53,11 +55,11 @@ class HXCPP_CLASS_ATTRIBUTES MediaStore__Companion_obj : public ::hx::Object
static void __boot();
static ::Dynamic __meta__;
- static void hasMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
+ static void hasMedia__fromC(::Dynamic self, ::borogove::Hash hash,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
static void removeMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
- static void storeMedia__fromC(::Dynamic self,::String mime,::cpp::Pointer< unsigned char > bytes,size_t bytes__len,::cpp::Function< void (bool,void*) > handler,void* handler__context);
+ static void storeMedia__fromC(::Dynamic self,::String mime,::Dynamic source,::cpp::Function< void (const char*,void*) > handler,void* handler__context);
};
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h b/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
index aece3d6..06b90a4 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/Sqlite.h
@@ -16,7 +16,9 @@ HX_DECLARE_CLASS1(borogove,AsyncLock)
HX_DECLARE_CLASS1(borogove,Caps)
HX_DECLARE_CLASS1(borogove,Chat)
HX_DECLARE_CLASS1(borogove,ChatMessage)
+HX_DECLARE_CLASS1(borogove,EncryptionInfo)
HX_DECLARE_CLASS1(borogove,EventEmitter)
+HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Member)
HX_DECLARE_CLASS1(borogove,MemberUpdate)
HX_DECLARE_CLASS1(borogove,Persistence)
@@ -30,6 +32,7 @@ HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,ObjectMap)
HX_DECLARE_CLASS2(haxe,ds,StringMap)
HX_DECLARE_CLASS1(thenshim,Thenable)
+HX_DECLARE_CLASS2(tink,streams,StreamObject)
namespace borogove{
namespace persistence{
@@ -74,6 +77,21 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
static ::String prepare( ::Dynamic q);
static ::Dynamic prepare_dyn();
+ static ::Dynamic col(::String name,::String sql);
+ static ::Dynamic col_dyn();
+
+ static ::String messageColumnsString(::Array< ::Dynamic> customColumns);
+ static ::Dynamic messageColumnsString_dyn();
+
+ static ::Array< ::String > messageColumns(::Array< ::Dynamic> customColumns);
+ static ::Dynamic messageColumns_dyn();
+
+ static ::Dynamic insertCol(::String name, ::Dynamic value,::String valueSql);
+ static ::Dynamic insertCol_dyn();
+
+ static ::borogove::ChatMessage originalMessage( ::borogove::ChatMessage message);
+ static ::Dynamic originalMessage_dyn();
+
::borogove::persistence::SqliteDriver db;
::Dynamic media;
::borogove::AsyncLock storeMessagesSerialized;
@@ -118,6 +136,12 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Dynamic getMemberDetails(::String accountId, ::borogove::Chat chat,::Array< ::String > ids);
::Dynamic getMemberDetails_dyn();
+ ::Dynamic storeVoiceRequest(::String accountId, ::borogove::Chat chat,::String jid,bool requesting);
+ ::Dynamic storeVoiceRequest_dyn();
+
+ ::Dynamic listVoiceRequests(::String accountId, ::borogove::Chat chat);
+ ::Dynamic listVoiceRequests_dyn();
+
::Dynamic searchMessages(::String accountId,::String chatId,::String q);
::Dynamic searchMessages_dyn();
@@ -150,6 +174,9 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Dynamic getMessagesAround(::String accountId, ::borogove::ChatMessage around);
::Dynamic getMessagesAround_dyn();
+ ::Dynamic getMessagesByStatus(::String accountId,int status);
+ ::Dynamic getMessagesByStatus_dyn();
+
::Dynamic getChatUnreadDetails(::String accountId, ::borogove::Chat chat);
::Dynamic getChatUnreadDetails_dyn();
@@ -162,13 +189,13 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Dynamic updateMessageStatus(::String accountId,::String localId,int status,::String statusText);
::Dynamic updateMessageStatus_dyn();
- ::Dynamic hasMedia(::String hashAlgorithm,::Array< unsigned char > hash);
+ ::Dynamic hasMedia( ::borogove::Hash hash);
::Dynamic hasMedia_dyn();
::Dynamic removeMedia(::String hashAlgorithm,::Array< unsigned char > hash);
::Dynamic removeMedia_dyn();
- ::Dynamic storeMedia(::String mime,::Array< unsigned char > bd);
+ ::Dynamic storeMedia(::String mime,::Dynamic source);
::Dynamic storeMedia_dyn();
void storeCaps( ::borogove::Caps caps);
@@ -180,7 +207,7 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Dynamic getCaps(::String ver);
::Dynamic getCaps_dyn();
- ::Dynamic storeLogin(::String accountId,::String clientId,::String displayName,::String token);
+ ::Dynamic storeLogin(::String accountId,::String clientId,::String displayName,::String rosterVer,::String token);
::Dynamic storeLogin_dyn();
::Dynamic getLogin(::String accountId);
@@ -216,12 +243,25 @@ class HXCPP_CLASS_ATTRIBUTES Sqlite_obj : public ::hx::Object
::Dynamic hydrateReplyTo(::String accountId,::Array< ::Dynamic> messages,::Array< ::Dynamic> replyTos);
::Dynamic hydrateReplyTo_dyn();
+ ::borogove::EncryptionInfo hydrateEncryption( ::Dynamic encryption);
+ ::Dynamic hydrateEncryption_dyn();
+
+ ::Dynamic hydrateMessagesAndLoadMeta(::String accountId, ::Dynamic rows);
+ ::Dynamic hydrateMessagesAndLoadMeta_dyn();
+
+ ::Dynamic messagesLoadMeta(::String accountId,::Array< ::Dynamic> messages);
+ ::Dynamic messagesLoadMeta_dyn();
+
::Array< ::Dynamic> hydrateMessages(::String accountId, ::Dynamic rows);
::Dynamic hydrateMessages_dyn();
::borogove::Caps hydrateCaps( ::Dynamic o,::Array< unsigned char > ver);
::Dynamic hydrateCaps_dyn();
+ ::String versionedMessageColumns;
+ ::Dynamic insertMessages(::String accountId,::Array< ::Dynamic> messages);
+ ::Dynamic insertMessages_dyn();
+
};
} // end namespace borogove
diff --git a/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h b/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
index 3c51890..cbd5e1c 100644
--- a/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
+++ b/Sources/c_borogove/iinclude/borogove/persistence/SqliteDriver.h
@@ -54,6 +54,8 @@ class HXCPP_CLASS_ATTRIBUTES SqliteDriver_obj : public ::hx::Object
::Dynamic ready;
::Dynamic setReady;
Dynamic setReady_dyn() { return setReady;}
+ ::Dynamic setFailed;
+ Dynamic setFailed_dyn() { return setFailed;}
::Dynamic execute(::Dynamic pool,::Array< ::Dynamic> qs);
::Dynamic execute_dyn();
diff --git a/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h b/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
index e26e102..dafe56e 100644
--- a/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
+++ b/Sources/c_borogove/iinclude/borogove/queries/HttpUploadSlot.h
@@ -9,7 +9,6 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
-HX_DECLARE_CLASS1(borogove,Hash)
HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
HX_DECLARE_CLASS2(borogove,queries,HttpUploadSlot)
@@ -28,13 +27,13 @@ class HXCPP_CLASS_ATTRIBUTES HttpUploadSlot_obj : public ::borogove::queries::G
public:
enum { _hx_ClassId = 0x402263cc };
- void __construct(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes);
+ void __construct(::String to,::String filename,int size,::String mime);
inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.HttpUploadSlot")
{ return ::hx::Object::operator new(inSize,inContainer,inName); }
inline void *operator new(size_t inSize, int extra)
{ return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.HttpUploadSlot"); }
- static ::hx::ObjectPtr< HttpUploadSlot_obj > __new(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes);
- static ::hx::ObjectPtr< HttpUploadSlot_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes);
+ static ::hx::ObjectPtr< HttpUploadSlot_obj > __new(::String to,::String filename,int size,::String mime);
+ static ::hx::ObjectPtr< HttpUploadSlot_obj > __alloc(::hx::Ctx *_hx_ctx,::String to,::String filename,int size,::String mime);
static void * _hx_vtable;
static Dynamic __CreateEmpty();
static Dynamic __Create(::hx::DynamicArray inArgs);
diff --git a/Sources/c_borogove/iinclude/borogove/queries/MucSettingsGet.h b/Sources/c_borogove/iinclude/borogove/queries/MucSettingsGet.h
new file mode 100644
index 0000000..5693038
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/queries/MucSettingsGet.h
@@ -0,0 +1,64 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_queries_MucSettingsGet
+#define INCLUDED_borogove_queries_MucSettingsGet
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,MucSettingsGet)
+
+namespace borogove{
+namespace queries{
+
+
+class HXCPP_CLASS_ATTRIBUTES MucSettingsGet_obj : public ::borogove::queries::GenericQuery_obj
+{
+ public:
+ typedef ::borogove::queries::GenericQuery_obj super;
+ typedef MucSettingsGet_obj OBJ_;
+ MucSettingsGet_obj();
+
+ public:
+ enum { _hx_ClassId = 0x7ebf24bd };
+
+ void __construct(::String to);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.MucSettingsGet")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.MucSettingsGet"); }
+ static ::hx::ObjectPtr< MucSettingsGet_obj > __new(::String to);
+ static ::hx::ObjectPtr< MucSettingsGet_obj > __alloc(::hx::Ctx *_hx_ctx,::String to);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~MucSettingsGet_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("MucSettingsGet",58,17,ef,a5); }
+
+ ::borogove::Stanza responseStanza;
+ ::String error;
+ void handleResponse( ::borogove::Stanza stanza);
+
+ ::borogove::Stanza getResult();
+ ::Dynamic getResult_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace queries
+
+#endif /* INCLUDED_borogove_queries_MucSettingsGet */
diff --git a/Sources/c_borogove/iinclude/borogove/queries/MucSettingsSubmit.h b/Sources/c_borogove/iinclude/borogove/queries/MucSettingsSubmit.h
new file mode 100644
index 0000000..1408ab8
--- /dev/null
+++ b/Sources/c_borogove/iinclude/borogove/queries/MucSettingsSubmit.h
@@ -0,0 +1,64 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_borogove_queries_MucSettingsSubmit
+#define INCLUDED_borogove_queries_MucSettingsSubmit
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+HX_DECLARE_CLASS1(borogove,Stanza)
+HX_DECLARE_CLASS2(borogove,queries,GenericQuery)
+HX_DECLARE_CLASS2(borogove,queries,MucSettingsSubmit)
+
+namespace borogove{
+namespace queries{
+
+
+class HXCPP_CLASS_ATTRIBUTES MucSettingsSubmit_obj : public ::borogove::queries::GenericQuery_obj
+{
+ public:
+ typedef ::borogove::queries::GenericQuery_obj super;
+ typedef MucSettingsSubmit_obj OBJ_;
+ MucSettingsSubmit_obj();
+
+ public:
+ enum { _hx_ClassId = 0x425b8651 };
+
+ void __construct(::String to, ::borogove::Stanza submitForm);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="borogove.queries.MucSettingsSubmit")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"borogove.queries.MucSettingsSubmit"); }
+ static ::hx::ObjectPtr< MucSettingsSubmit_obj > __new(::String to, ::borogove::Stanza submitForm);
+ static ::hx::ObjectPtr< MucSettingsSubmit_obj > __alloc(::hx::Ctx *_hx_ctx,::String to, ::borogove::Stanza submitForm);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~MucSettingsSubmit_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("MucSettingsSubmit",96,e6,a2,de); }
+
+ ::borogove::Stanza responseStanza;
+ ::String error;
+ void handleResponse( ::borogove::Stanza stanza);
+
+ bool getResult();
+ ::Dynamic getResult_dyn();
+
+};
+
+} // end namespace borogove
+} // end namespace queries
+
+#endif /* INCLUDED_borogove_queries_MucSettingsSubmit */
diff --git a/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h b/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
index 2e7d4b5..0a0824e 100644
--- a/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
+++ b/Sources/c_borogove/iinclude/borogove/streams/XmppStropheStream.h
@@ -19,6 +19,7 @@ HX_DECLARE_CLASS1(borogove,IqRequestType)
HX_DECLARE_CLASS1(borogove,IqResult)
HX_DECLARE_CLASS1(borogove,Stanza)
HX_DECLARE_CLASS2(borogove,streams,XmppStropheStream)
+HX_DECLARE_CLASS2(cpp,vm,WeakRef)
HX_DECLARE_CLASS1(haxe,IMap)
HX_DECLARE_CLASS1(haxe,Timer)
HX_DECLARE_CLASS2(haxe,ds,BalancedTree)
@@ -62,6 +63,9 @@ class HXCPP_CLASS_ATTRIBUTES XmppStropheStream_obj : public ::borogove::Generic
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("XmppStropheStream",da,d9,8d,8c); }
+ static void startHeartbeat( ::cpp::vm::WeakRef weakThis);
+ static ::Dynamic startHeartbeat_dyn();
+
static int strophe_certfail_handler( const xmpp_tlscert_t* cert,const char* err);
static void strophe_fast_token_handler( xmpp_conn_t* conn,const char* token,void* userdata);
diff --git a/Sources/c_borogove/iinclude/cpp/CppInt32__.h b/Sources/c_borogove/iinclude/cpp/CppInt32__.h
index bd856c0..ca43554 100644
--- a/Sources/c_borogove/iinclude/cpp/CppInt32__.h
+++ b/Sources/c_borogove/iinclude/cpp/CppInt32__.h
@@ -7,12 +7,12 @@ namespace cpp
{
#define HX_I32_DEF_FUNC1(Name) \
- static inline Dynamic __##Name(const Dynamic &a) { return Name(a); } \
- static inline Dynamic Name##_dyn() { return hx::CreateStaticFunction1(#Name,&CppInt32__::__##Name); }
+ static inline ::Dynamic __##Name(const ::Dynamic &a) { return Name(a); } \
+ static inline ::Dynamic Name##_dyn() { return ::hx::CreateStaticFunction1(#Name,&CppInt32__::__##Name); }
#define HX_I32_DEF_FUNC2(Name) \
- static inline Dynamic __##Name(const Dynamic &a, const Dynamic &b) { return Name(a,b); } \
- static inline Dynamic Name##_dyn() { return hx::CreateStaticFunction2(#Name,&CppInt32__::__##Name); }
+ static inline ::Dynamic __##Name(const ::Dynamic &a, const ::Dynamic &b) { return Name(a,b); } \
+ static inline ::Dynamic Name##_dyn() { return ::hx::CreateStaticFunction2(#Name,&CppInt32__::__##Name); }
class CppInt32__
{
diff --git a/Sources/c_borogove/iinclude/cpp/FastIterator.h b/Sources/c_borogove/iinclude/cpp/FastIterator.h
index 37bcf66..d943d0a 100644
--- a/Sources/c_borogove/iinclude/cpp/FastIterator.h
+++ b/Sources/c_borogove/iinclude/cpp/FastIterator.h
@@ -7,13 +7,18 @@ namespace cpp
class HXCPP_EXTERN_CLASS_ATTRIBUTES IteratorBase : public hx::Object
{
public:
- hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp);
+ hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
virtual bool hasNext() = 0;
virtual Dynamic _dynamicNext() = 0;
- Dynamic hasNext_dyn( );
- Dynamic next_dyn( );
- Dynamic _dynamicNext_dyn( );
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<bool()> hasNext_dyn();
+ ::hx::Callable<::Dynamic()> next_dyn();
+#else
+ Dynamic hasNext_dyn();
+ Dynamic next_dyn();
+ Dynamic _dynamicNext_dyn();
+#endif
};
@@ -21,10 +26,10 @@ template<typename T>
class HXCPP_EXTERN_CLASS_ATTRIBUTES FastIterator_obj : public IteratorBase
{
public:
- virtual bool hasNext() = 0;
+ bool hasNext() HXCPP_OVERRIDE = 0;
virtual T next() = 0;
- virtual Dynamic _dynamicNext() { return next(); }
+ Dynamic _dynamicNext() HXCPP_OVERRIDE { return next(); }
};
@@ -79,15 +84,15 @@ public:
StringIterator(const String &inValue) : value(inValue), pos(0) { }
- bool hasNext() { return pos<value.length; }
- void __Mark(hx::MarkContext *__inCtx)
+ bool hasNext() HXCPP_OVERRIDE { return pos<value.length; }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
cpp::FastIterator_obj<T>::__Mark(__inCtx);
HX_MARK_MEMBER_NAME(value,"value");
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
cpp::FastIterator_obj<T>::__Visit(__inCtx);
HX_VISIT_MEMBER_NAME(value,"value");
diff --git a/Sources/c_borogove/iinclude/cpp/Pointer.h b/Sources/c_borogove/iinclude/cpp/Pointer.h
index 25c28b4..582947c 100644
--- a/Sources/c_borogove/iinclude/cpp/Pointer.h
+++ b/Sources/c_borogove/iinclude/cpp/Pointer.h
@@ -131,12 +131,15 @@ public:
// This allows 'StaticCast' to be used from arrays
typedef Dynamic Ptr;
- inline Struct( ) { }
+ inline Struct( ) : value() { }
inline Struct( const T &inRHS ) : value(inRHS) { }
inline Struct( const null &) { value = T(); }
inline Struct( const Reference<T> &);
inline Struct( const Dynamic &inRHS) { fromDynamic(inRHS.mPtr); }
+ template<class... TArgs>
+ Struct(TArgs... args) : value(std::forward<TArgs>(args)...) {}
+
inline Struct<T,HANDLER> &operator=( const T &inRHS ) { value = inRHS; return *this; }
inline Struct<T,HANDLER> &operator=( const null & ) { value = T(); return *this; }
inline Struct<T,HANDLER> &operator=( const Dynamic &inRHS ) { return *this = Struct<T,HANDLER>(inRHS); }
@@ -212,6 +215,7 @@ public:
hx::Object *obj = inVariant.asObject();
ptr = obj ? (T*)inVariant.valObject->__GetHandle() : 0;
}
+ inline Pointer(const ::cpp::marshal::PointerReference<T>);
template<typename O>
inline Pointer( const O *inValue ) : ptr( (T*) inValue) { }
@@ -499,7 +503,7 @@ public:
}
template<typename T>
- inline static AutoCast ofArray(::Array<T> array) { return AutoCast(&array[0]); }
+ inline static AutoCast ofArray(::Array<T> array) { return AutoCast(array->Pointer()); }
inline static AutoCast ofArray(Dynamic inVal)
{
if (inVal==null() || !inVal->__IsArray())
@@ -509,6 +513,11 @@ public:
}
+ template<typename T>
+ inline static Pointer<T> addressOf(const ::cpp::marshal::ValueReference<T>&);
+
+ template<typename T>
+ inline static Pointer<T*> addressOf(const ::cpp::marshal::PointerReference<T>&);
template<typename T>
inline static Pointer<T> addressOf(T &value) { return Pointer<T>(&value); }
diff --git a/Sources/c_borogove/iinclude/cpp/Variant.h b/Sources/c_borogove/iinclude/cpp/Variant.h
index cf2352f..8ddb00d 100644
--- a/Sources/c_borogove/iinclude/cpp/Variant.h
+++ b/Sources/c_borogove/iinclude/cpp/Variant.h
@@ -1,5 +1,6 @@
#ifndef CPP_VARIANT_TWICE_H
+#include <hx/OS.h>
namespace cpp
{
@@ -70,7 +71,9 @@ namespace cpp
inline Variant(cpp::Int64 inValue) : type(typeInt64), valInt64(inValue) { }
inline Variant(cpp::UInt64 inValue) : type(typeInt64), valInt64(inValue) { }
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
inline Variant(unsigned long inValue) : type(typeInt64), valInt64(inValue) { }
+ #endif
inline Variant(int inValue) : type(typeInt), valInt(inValue) { }
inline Variant(cpp::UInt32 inValue) : type(typeInt), valInt(inValue) { }
inline Variant(cpp::Int16 inValue) : type(typeInt), valInt(inValue) { }
@@ -103,16 +106,20 @@ namespace cpp
inline operator double() const { return asDouble(); }
inline operator int() const { return asInt(); }
inline operator bool() const { return asInt(); }
- inline operator float () const { return asDouble(); }
+ inline operator float () const { return (float)asDouble(); }
inline operator unsigned int () const { return asInt(); }
inline operator short () const { return asInt(); }
inline operator unsigned short () const { return asInt(); }
inline operator unsigned char () const { return asInt(); }
inline operator char () const { return asInt(); }
inline operator signed char () const { return asInt(); }
+ inline operator char16_t() const { return asInt(); }
+ inline operator char32_t() const { return asInt(); }
inline operator cpp::Int64 () const { return asInt64(); }
inline operator cpp::UInt64 () const { return asInt64(); }
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
inline operator unsigned long () const { return asInt64(); }
+ #endif
inline bool operator !() const { return !asInt(); }
inline int Compare(hx::Object *inRHS) const;
@@ -151,12 +158,14 @@ namespace cpp
inline bool operator!=(const Variant &inRHS) const { return !operator==(inRHS); }
inline bool operator!=(const String &inRHS) const;
-
template<typename RETURN_>
RETURN_ Cast() const { return RETURN_(*this); }
void CheckFPtr();
+
+#if (HXCPP_API_LEVEL<500)
HX_DECLARE_VARIANT_FUNCTIONS
+#endif
// Operator + is different, since it must consider strings too...
@@ -171,6 +180,11 @@ namespace cpp
inline double operator--() { return set(asDouble()-1); }
inline double operator--(int) {double val = asDouble(); set(val-1); return val; }
+#if (HXCPP_API_LEVEL>=500)
+ template<class... TArgs>
+ inline Dynamic operator()(const TArgs&... args);
+#endif
+
template<typename T>
inline double operator / (const T &inRHS) const { return asDouble() / (double)inRHS; } \
@@ -199,8 +213,8 @@ namespace cpp
#define HX_VARIANT_COMPARE_OP( op ) \
inline bool operator op (double inRHS) const { return isNumeric() && (asDouble() op inRHS); } \
- inline bool operator op (cpp::Int64 inRHS) const { return isNumeric() && (asInt64() op inRHS); } \
- inline bool operator op (cpp::UInt64 inRHS) const { return isNumeric() && ((cpp::UInt64)(asInt64()) op inRHS); } \
+ inline bool operator op (::cpp::Int64 inRHS) const { return isNumeric() && (asInt64() op inRHS); } \
+ inline bool operator op (::cpp::UInt64 inRHS) const { return isNumeric() && ((::cpp::UInt64)(asInt64()) op inRHS); } \
inline bool operator op (float inRHS) const { return isNumeric() && (asDouble() op inRHS); } \
inline bool operator op (int inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
inline bool operator op (unsigned int inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
@@ -208,12 +222,14 @@ namespace cpp
inline bool operator op (unsigned short inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
inline bool operator op (signed char inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
inline bool operator op (unsigned char inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
+ inline bool operator op (char16_t inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
+ inline bool operator op (char32_t inRHS) const { return isNumeric() && (asDouble() op (double)inRHS); } \
inline bool operator op (bool inRHS) const { return isBool() && (asDouble() op (double)inRHS); } \
- inline bool operator op (const Dynamic &inRHS) const { return Compare(inRHS) op 0; } \
+ inline bool operator op (const ::Dynamic &inRHS) const { return Compare(inRHS) op 0; } \
#define HX_VARIANT_COMPARE_OP_ALL( op ) \
- inline bool operator op (const null &inRHS) const { return false; } \
- inline bool operator op (const cpp::Variant &inRHS) const { return Compare(inRHS) op 0; } \
+ inline bool operator op (const ::null &inRHS) const { return false; } \
+ inline bool operator op (const ::cpp::Variant &inRHS) const { return Compare(inRHS) op 0; } \
HX_VARIANT_COMPARE_OP(op)
HX_VARIANT_COMPARE_OP( == )
@@ -274,16 +290,18 @@ namespace cpp
#define HX_ARITH_VARIANT( op ) \
- inline double operator op (const double &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS;} \
- inline double operator op (const float &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS;} \
- inline double operator op (const int &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned int &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const signed char &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned char &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const signed short &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const unsigned short &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const cpp::Int64 &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
- inline double operator op (const cpp::UInt64 &inLHS,const cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const double &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS;} \
+ inline double operator op (const float &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS;} \
+ inline double operator op (const int &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned int &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const signed char &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned char &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const char16_t &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const char32_t &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const signed short &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const unsigned short &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const ::cpp::Int64 &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
+ inline double operator op (const ::cpp::UInt64 &inLHS,const ::cpp::Variant &inRHS) { return inLHS op (double)inRHS; } \
HX_ARITH_VARIANT( - )
HX_ARITH_VARIANT( + )
@@ -323,8 +341,9 @@ namespace cpp
if (isNull()) Dynamic::ThrowBadFunctionError();
}
+#if (HXCPP_API_LEVEL<500)
HX_IMPLEMENT_INLINE_VARIANT_FUNCTIONS
-
+#endif
int Variant::asInt() const
{
@@ -333,7 +352,7 @@ namespace cpp
switch(type)
{
- case typeDouble: return valDouble;
+ case typeDouble: return (int)valDouble;
case typeInt64: return (int)valInt64;
case typeBool: return valBool;
case typeObject: return valObject ? valObject->__ToInt() : 0;
@@ -351,7 +370,7 @@ namespace cpp
switch(type)
{
- case typeDouble: return valDouble;
+ case typeDouble: return (cpp::Int64)valDouble;
case typeInt: return valInt;
case typeBool: return valBool;
case typeObject: return valObject ? valObject->__ToInt64() : 0;
@@ -369,7 +388,7 @@ namespace cpp
else if (type==typeBool)
return valBool ? 1.0 : 0.0;
else if (type==typeInt64)
- return valInt64;
+ return (double)valInt64;
else if (type==typeObject)
return valObject ? valObject->__ToDouble() : 0.0;
return 0.0;
@@ -587,13 +606,13 @@ namespace cpp
#define HX_VARIANT_OP_ISEQ(T) \
-inline bool operator == (const T &inLHS,const cpp::Variant &inRHS) { return inRHS==inLHS; } \
-inline bool operator != (const T &inLHS,const cpp::Variant &inRHS) { return inRHS!=inLHS; }
+inline bool operator == (const T &inLHS,const ::cpp::Variant &inRHS) { return inRHS==inLHS; } \
+inline bool operator != (const T &inLHS,const ::cpp::Variant &inRHS) { return inRHS!=inLHS; }
#define HX_VARIANT_OP_ISEQ(T) \
-inline bool operator == (const T &inLHS,const cpp::Variant &inRHS) { return inRHS==inLHS; } \
-inline bool operator != (const T &inLHS,const cpp::Variant &inRHS) { return inRHS!=inLHS; }
+inline bool operator == (const T &inLHS,const ::cpp::Variant &inRHS) { return inRHS==inLHS; } \
+inline bool operator != (const T &inLHS,const ::cpp::Variant &inRHS) { return inRHS!=inLHS; }
HX_VARIANT_OP_ISEQ(String)
HX_VARIANT_OP_ISEQ(double)
@@ -606,6 +625,8 @@ HX_VARIANT_OP_ISEQ(short)
HX_VARIANT_OP_ISEQ(unsigned short)
HX_VARIANT_OP_ISEQ(signed char)
HX_VARIANT_OP_ISEQ(unsigned char)
+HX_VARIANT_OP_ISEQ(char16_t)
+HX_VARIANT_OP_ISEQ(char32_t)
HX_VARIANT_OP_ISEQ(bool)
inline bool operator < (bool inLHS,const cpp::Variant &inRHS) { return false; }
@@ -619,9 +640,9 @@ inline bool operator > (bool inLHS,const cpp::Variant &inRHS) { return false; }
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
inline bool operator op (float inLHS,const ::cpp::Variant &inRHS) \
{ return inRHS.isNumeric() && ((double)inLHS op (double)inRHS); } \
- inline bool operator op (cpp::Int64 inLHS,const ::cpp::Variant &inRHS) \
+ inline bool operator op (::cpp::Int64 inLHS,const ::cpp::Variant &inRHS) \
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
- inline bool operator op (cpp::UInt64 inLHS,const ::cpp::Variant &inRHS) \
+ inline bool operator op (::cpp::UInt64 inLHS,const ::cpp::Variant &inRHS) \
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
inline bool operator op (int inLHS,const ::cpp::Variant &inRHS) \
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
@@ -635,7 +656,11 @@ inline bool operator > (bool inLHS,const cpp::Variant &inRHS) { return false; }
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
inline bool operator op (unsigned char inLHS,const ::cpp::Variant &inRHS) \
{ return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
- inline bool operator op (const null &,const ::cpp::Variant &inRHS) \
+ inline bool operator op (char16_t inLHS,const ::cpp::Variant &inRHS) \
+ { return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
+ inline bool operator op (char32_t inLHS,const ::cpp::Variant &inRHS) \
+ { return inRHS.isNumeric() && (inLHS op (double)inRHS); } \
+ inline bool operator op (const ::null &,const ::cpp::Variant &inRHS) \
{ return false; } \
HX_COMPARE_VARIANT_OP( < )
diff --git a/Sources/c_borogove/iinclude/cpp/VirtualArray.h b/Sources/c_borogove/iinclude/cpp/VirtualArray.h
index a95f65f..af8dee0 100644
--- a/Sources/c_borogove/iinclude/cpp/VirtualArray.h
+++ b/Sources/c_borogove/iinclude/cpp/VirtualArray.h
@@ -79,7 +79,7 @@ public:
store = inStore;
}
- hx::Object *__GetRealObject() { return base?(hx::Object *)base:(hx::Object *)this; }
+ hx::Object *__GetRealObject() HXCPP_OVERRIDE { return base?(hx::Object *)base:(hx::Object *)this; }
inline static VirtualArray __new(int inSize=0,int inReserve=0)
{
@@ -91,7 +91,7 @@ public:
return result;
}
- int __Compare(const hx::Object *inRHS) const;
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE;
inline int get_length() const
{
@@ -316,12 +316,12 @@ public:
void EnsureArrayStorage(ArrayStore inValue);
void EnsureArrayStorage(VirtualArray inValue);
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_OBJECT(base);
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
if (base)
__inCtx->visitObject( (hx::Object **)&base);
@@ -333,24 +333,24 @@ public:
inline int getElementSize() const { return base ? base->GetElementSize() : 0; }
inline int getByteCount() const { return base ? base->getByteCount() : 0; }
inline char * getBase() const { return base ? base->GetBase() : 0; }
- hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) { return null(); }
+ hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE { return null(); }
static hx::Class &__SGetClass() { return hx::ArrayBase::__mClass; }
- hx::Class __GetClass() const;
- String toString();
- String __ToString() const { return const_cast<VirtualArray_obj *>(this)->toString(); }
+ hx::Class __GetClass() const HXCPP_OVERRIDE;
+ String toString() HXCPP_OVERRIDE;
+ String __ToString() const HXCPP_OVERRIDE { return const_cast<VirtualArray_obj *>(this)->toString(); }
void setData(void *inData, int inElements) { EnsureBase(); base->setData(inData, inElements); }
void setUnmanagedData(void *inData, int inElements) { EnsureBase(); base->setUnmanagedData(inData, inElements); }
- int __GetType() const { return vtArray; }
+ int __GetType() const HXCPP_OVERRIDE { return vtArray; }
inline size_t size() const { checkBase(); return store==hx::arrayEmpty ? 0 : base->length; }
- inline int __length() const { checkBase(); return store==hx::arrayEmpty ? 0 : (int)base->length; }
+ inline int __length() const HXCPP_OVERRIDE { checkBase(); return store==hx::arrayEmpty ? 0 : (int)base->length; }
String ItemString(int inI) { checkBase(); return store==hx::arrayEmpty ? null() : base->ItemString(inI); }
- const char * __CStr() const { return store==hx::arrayEmpty ? "[]" : store==hx::arrayNull ? "null" : base->__CStr(); }
+ const char * __CStr() const HXCPP_OVERRIDE { return store==hx::arrayEmpty ? "[]" : store==hx::arrayNull ? "null" : base->__CStr(); }
inline const char *GetBase() const { return base ? base->GetBase() : 0; }
inline char *GetBase() { return base ? base->GetBase() : 0; }
@@ -387,14 +387,14 @@ public:
return this;
}
- void safeSort(Dynamic sorter, bool isString) { checkBase(); if (store!=hx::arrayEmpty) base->safeSort(sorter,isString); }
+ void safeSort(ArrayBase::DynamicSorterFunc sorter, bool isString) { checkBase(); if (store!=hx::arrayEmpty) base->safeSort(sorter,isString); }
inline void __unsafeStringReference(String inString) { if (base) base->__unsafeStringReference(inString); }
- Dynamic __GetItem(int inIndex) const;
- Dynamic __SetItem(int inIndex,Dynamic inValue);
- hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp);
+ Dynamic __GetItem(int inIndex) const HXCPP_OVERRIDE;
+ Dynamic __SetItem(int inIndex,Dynamic inValue) HXCPP_OVERRIDE;
+ hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
template<typename T>
inline const T &set(int inIdx, const T &inVal)
@@ -492,8 +492,8 @@ public:
return new VirtualArray_obj(base->__slice(inPos,end), store==hx::arrayFixed);
}
VirtualArray splice(int inPos, int len);
- VirtualArray map(Dynamic inFunc);
- VirtualArray filter(Dynamic inFunc);
+ VirtualArray map(ArrayBase::DynamicMappingFunc inFunc);
+ VirtualArray filter(ArrayBase::DynamicFilterFunc inFunc);
template<typename T>
inline VirtualArray init(int inIndex, const T &inVal)
@@ -530,9 +530,9 @@ public:
inline void reverse() { checkBase(); if (store!=hx::arrayEmpty) base->__reverse(); }
- inline void qsort(Dynamic inSorter) { checkBase(); if (base) base->__qsort(inSorter); }
+ inline void qsort(ArrayBase::DynamicSorterFunc inSorter) { checkBase(); if (base) base->__qsort(inSorter); }
- inline void sort(Dynamic inSorter) { checkBase(); if (base) base->__sort(inSorter); }
+ inline void sort(ArrayBase::DynamicSorterFunc inSorter) { checkBase(); if (base) base->__sort(inSorter); }
Dynamic iterator() { checkBase(); return !base ? getEmptyIterator() : base->__iterator(); }
static Dynamic getEmptyIterator();
@@ -563,6 +563,57 @@ public:
Dynamic __get(int inIndex) const { checkBase(); if (store==hx::arrayEmpty) return null(); return base->__GetItem(inIndex); }
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<::cpp::VirtualArray(::cpp::VirtualArray)> concat_dyn();
+ ::hx::Callable<::cpp::VirtualArray()> copy_dyn();
+ ::hx::Callable<void(int, ::Dynamic)> insert_dyn();
+ ::hx::Callable<::Dynamic()> iterator_dyn();
+ ::hx::Callable<::Dynamic()> keyValueIterator_dyn();
+ ::hx::Callable<::String(::String)> join_dyn();
+ ::hx::Callable<::Dynamic()> pop_dyn();
+ template<typename T>
+ ::hx::Callable<int(T)> push_dyn()
+ {
+ struct _hx_virtualarray_push : public ::hx::AutoCallable_obj<int(T)>
+ {
+ ::cpp::VirtualArray mThis;
+
+ _hx_virtualarray_push(::cpp::VirtualArray inThis) : mThis(inThis)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ int _hx_run(T in) override
+ {
+ return mThis->push(in);
+ }
+ };
+
+ return new _hx_virtualarray_push(this);
+ }
+ ::hx::Callable<bool(::Dynamic)> contains_dyn();
+ ::hx::Callable<bool(::Dynamic)> remove_dyn();
+ ::hx::Callable<bool(int)> removeAt_dyn();
+ ::hx::Callable<int(::Dynamic, ::Dynamic)> indexOf_dyn();
+ ::hx::Callable<int(::Dynamic, ::Dynamic)> lastIndexOf_dyn();
+ ::hx::Callable<void()> reverse_dyn();
+ ::hx::Callable<::Dynamic()> shift_dyn();
+ ::hx::Callable<::cpp::VirtualArray(int, ::Dynamic)> slice_dyn();
+ ::hx::Callable<::cpp::VirtualArray(int, int)> splice_dyn();
+ ::hx::Callable<void(ArrayBase::DynamicSorterFunc)> sort_dyn();
+ ::hx::Callable<::String()> toString_dyn();
+ ::hx::Callable<void(::Dynamic)> unshift_dyn();
+ ::hx::Callable<::cpp::VirtualArray(ArrayBase::DynamicMappingFunc)> map_dyn();
+ ::hx::Callable<::cpp::VirtualArray(ArrayBase::DynamicFilterFunc)> filter_dyn();
+ ::hx::Callable<void(int)> __SetSize_dyn();
+ ::hx::Callable<void(int)> __SetSizeExact_dyn();
+ ::hx::Callable<::Dynamic(::Dynamic)> __unsafe_get_dyn();
+ ::hx::Callable<::Dynamic(::Dynamic, ::Dynamic)> __unsafe_set_dyn();
+ ::hx::Callable<void(int, ::cpp::VirtualArray, int, int)> blit_dyn();
+ ::hx::Callable<void(::Dynamic, ::Dynamic)> zero_dyn();
+ ::hx::Callable<void(::cpp::VirtualArray)> memcmp_dyn();
+ ::hx::Callable<void(int)> resize_dyn();
+#else
Dynamic concat_dyn();
Dynamic copy_dyn();
Dynamic insert_dyn();
@@ -593,6 +644,7 @@ public:
Dynamic zero_dyn();
Dynamic memcmp_dyn();
Dynamic resize_dyn();
+#endif
};
diff --git a/Sources/c_borogove/iinclude/cpp/encoding/Ascii.hpp b/Sources/c_borogove/iinclude/cpp/encoding/Ascii.hpp
new file mode 100644
index 0000000..0d89fa6
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/encoding/Ascii.hpp
@@ -0,0 +1,24 @@
+#pragma once
+
+namespace cpp
+{
+ namespace encoding
+ {
+ struct Ascii final
+ {
+ static bool isEncoded(const String& string);
+
+ /// <summary>
+ /// Encode the provided string to ASCII bytes and write them to the buffer.
+ /// If the provided string is UTF16 encoded an exception is raised and nothing is written to the buffer.
+ /// </summary>
+ /// <returns>Number of chars written to the buffer.</returns>
+ static int64_t encode(const String& string, cpp::marshal::View<uint8_t> buffer);
+
+ /// <summary>
+ /// Create a string from the provided ASCII bytes.
+ /// </summary>
+ static String decode(cpp::marshal::View<uint8_t> string);
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/encoding/Utf16.hpp b/Sources/c_borogove/iinclude/cpp/encoding/Utf16.hpp
new file mode 100644
index 0000000..6d851e1
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/encoding/Utf16.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+namespace cpp
+{
+ namespace encoding
+ {
+ struct Utf16 final
+ {
+ static bool isEncoded(const String& string);
+
+ static int getByteCount(const null&);
+ static int getByteCount(char32_t codepoint);
+ static int64_t getByteCount(const String& string);
+
+ static int getCharCount(const null&);
+ static int getCharCount(char32_t codepoint);
+ static int64_t getCharCount(const String& string);
+
+ static int encode(const null&, const cpp::marshal::View<uint8_t>& buffer);
+ static int encode(char32_t codepoint, const cpp::marshal::View<uint8_t>& buffer);
+ static int64_t encode(const String& string, const cpp::marshal::View<uint8_t>& buffer);
+
+ static char32_t codepoint(const cpp::marshal::View<uint8_t>& buffer);
+ static String decode(const cpp::marshal::View<uint8_t>& buffer);
+ };
+ }
+}
diff --git a/Sources/c_borogove/iinclude/cpp/encoding/Utf8.hpp b/Sources/c_borogove/iinclude/cpp/encoding/Utf8.hpp
new file mode 100644
index 0000000..3ff12ba
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/encoding/Utf8.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+namespace cpp
+{
+ namespace encoding
+ {
+ struct Utf8 final
+ {
+ static int getByteCount(const null&);
+ static int getByteCount(char32_t codepoint);
+ static int64_t getByteCount(const String& string);
+
+ static int getCharCount(const null&);
+ static int getCharCount(char32_t codepoint);
+ static int64_t getCharCount(const String& string);
+
+ static int encode(const null&, const cpp::marshal::View<uint8_t>& buffer);
+ static int encode(char32_t codepoint, const cpp::marshal::View<uint8_t>& buffer);
+ static int64_t encode(const String& string, const cpp::marshal::View<uint8_t>& buffer);
+ static Array<uint8_t> encode(const String& string);
+
+ static char32_t codepoint(const cpp::marshal::View<uint8_t>& buffer);
+ static String decode(const cpp::marshal::View<uint8_t>& buffer);
+ };
+ }
+}
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/Boxed.hpp b/Sources/c_borogove/iinclude/cpp/marshal/Boxed.hpp
new file mode 100644
index 0000000..b925566
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/Boxed.hpp
@@ -0,0 +1,39 @@
+#pragma once
+
+#include "Definitions.inc"
+
+template<class T>
+inline void cpp::marshal::Boxed_obj<T>::finalise(::hx::Object* obj)
+{
+ auto ptr = reinterpret_cast<Boxed_obj<T>*>(obj);
+
+ ptr->value.~T();
+}
+
+template<class T>
+inline void cpp::marshal::Boxed_obj<T>::setFinaliser(std::true_type)
+{
+ ::hx::GCSetFinalizer(this, finalise);
+}
+
+template<class T>
+inline void cpp::marshal::Boxed_obj<T>::setFinaliser(std::false_type) {}
+
+template<class T>
+inline cpp::marshal::Boxed_obj<T>::Boxed_obj() : value()
+{
+ setFinaliser(std::is_destructible<T>{});
+}
+
+template<class T>
+inline cpp::marshal::Boxed_obj<T>::Boxed_obj(T* ptr) : value(*ptr)
+{
+ setFinaliser(std::is_destructible<T>{});
+}
+
+template<class T>
+template<class ...TArgs>
+inline cpp::marshal::Boxed_obj<T>::Boxed_obj(TArgs... args) : value(std::forward<TArgs>(args)...)
+{
+ setFinaliser(std::is_destructible<T>{});
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/Definitions.inc b/Sources/c_borogove/iinclude/cpp/marshal/Definitions.inc
new file mode 100644
index 0000000..ffd5f14
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/Definitions.inc
@@ -0,0 +1,330 @@
+#pragma once
+
+#include <type_traits>
+
+namespace cpp
+{
+ namespace marshal
+ {
+ /// <summary>
+ /// Templated class to hold a non GC object on the heap.
+ /// If T has a destructor a finaliser is added so it is called when this object is collected.
+ /// </summary>
+ template<class T>
+ class Boxed_obj final : public ::hx::Object
+ {
+ static void finalise(::hx::Object* obj);
+
+ void setFinaliser(std::true_type);
+ void setFinaliser(std::false_type);
+
+ public:
+ T value;
+
+ Boxed_obj();
+
+ Boxed_obj(T* ptr);
+
+ template<class... TArgs>
+ Boxed_obj(TArgs... args);
+ };
+
+ template<class T>
+ class ValueType final
+ {
+ static T FromReference(const ValueReference<T>& inRHS);
+ static T FromBoxed(const Boxed<T>& inRHS);
+ static T FromDynamic(const Dynamic& inRHS);
+
+ public:
+ T value;
+
+ // This allows 'StaticCast' to be used from arrays
+ using Ptr = Dynamic;
+
+ ValueType();
+ ValueType(const ValueReference<T>& inRHS);
+ ValueType(const null& inRHS);
+ ValueType(const Boxed<T>& inRHS);
+ ValueType(const Variant& inRHS);
+ ValueType(const Dynamic& inRHS);
+
+ template<class... TArgs>
+ ValueType(TArgs... args);
+
+ ValueType<T>& operator=(const ValueReference<T>& inRHS);
+ ValueType<T>& operator=(const null& inRHS);
+ };
+
+ template<class T>
+ class PointerType final
+ {
+ public:
+ using TPtr = T*;
+
+ private:
+ static TPtr FromReference(const PointerReference<T>& inRHS);
+ static TPtr FromBoxed(const Boxed<TPtr>& inRHS);
+ static TPtr FromDynamic(const Dynamic& inRHS);
+
+ public:
+ // This allows 'StaticCast' to be used from arrays
+ using Ptr = Dynamic;
+
+ TPtr value;
+
+ PointerType();
+ PointerType(TPtr inRHS);
+ PointerType(const PointerReference<T>& inRHS);
+ PointerType(const null& inRHS);
+ PointerType(const Boxed<TPtr>& inRHS);
+ PointerType(const Variant& inRHS);
+ PointerType(const Dynamic& inRHS);
+
+ PointerType<T>& operator=(const PointerReference<T>& inRHS);
+ PointerType<T>& operator=(const null& inRHS);
+ };
+
+ template<class T>
+ class ValueReference final : public ::cpp::Reference<T>
+ {
+ using Super = ::cpp::Reference<T>;
+
+ template<class O>
+ static O* FromDynamic(const Dynamic& inRHS);
+ template<class O>
+ static O* FromBoxed(const Boxed<O>& inRHS);
+ Boxed<T> ToBoxed() const;
+
+ public:
+ // This allows 'StaticCast' to be used from arrays
+ using Ptr = Dynamic;
+
+ ValueReference();
+ ValueReference(const null& inRHS);
+ ValueReference(const ValueType<T>& inRHS);
+ ValueReference(const Boxed<T>& inRHS);
+ ValueReference(const T& inRHS);
+ ValueReference(T& inRHS);
+ ValueReference(const T* inRHS);
+
+ template<class O>
+ ValueReference(const ValueReference<O>& inRHS);
+ template<class O>
+ ValueReference(const ValueType<O>& inRHS);
+ template<class O>
+ ValueReference(const Boxed<O>& inRHS);
+
+ ValueReference(const Variant& inRHS);
+ ValueReference(const Dynamic& inRHS);
+
+ operator Dynamic() const;
+ operator Variant() const;
+ operator Boxed<T>() const;
+
+ T* operator->() const;
+ T operator*() const;
+
+ bool operator==(const ValueReference<T>& inRHS) const;
+ bool operator!=(const ValueReference<T>& inRHS) const;
+
+ template<class K>
+ K get(int64_t index);
+
+ template<class K>
+ void set(int64_t index, K value);
+ };
+
+ template<class T>
+ class PointerReference final : public ::cpp::Reference<T*>
+ {
+ public:
+ using TPtr = T*;
+
+ private:
+ using Super = ::cpp::Reference<TPtr>;
+
+ template<class O>
+ static O* FromDynamic(const Dynamic& inRHS);
+
+ template<class O>
+ static O* FromBoxed(const Boxed<O>& inRHS);
+
+ Boxed<TPtr> ToBoxed() const;
+
+ public:
+ PointerReference(const null& inRHS);
+ PointerReference(const PointerType<T>& inRHS);
+ PointerReference(const Boxed<TPtr>& inRHS);
+
+ template<class O>
+ PointerReference(const PointerReference<O>& inRHS);
+ template<class O>
+ PointerReference(const PointerType<O>& inRHS);
+ template<class O>
+ PointerReference(const Boxed<O>& inRHS);
+
+ PointerReference(const TPtr& inRHS);
+ PointerReference(TPtr& inRHS);
+ PointerReference(const TPtr* inRHS);
+ PointerReference(const Variant& inRHS);
+ PointerReference(const Dynamic& inRHS);
+
+ operator Dynamic() const;
+ operator Variant() const;
+ operator Boxed<TPtr>() const;
+ operator Pointer<T>() const;
+
+ operator TPtr&();
+ operator TPtr*();
+ operator void*();
+ operator void**();
+
+ TPtr operator->() const;
+
+ template<class K>
+ K get(int64_t index);
+
+ template<class K>
+ void set(int64_t index, K value);
+ };
+
+ template<class T>
+ struct View final
+ {
+ ::cpp::Pointer<T> ptr;
+ int64_t length;
+
+ View(::cpp::Pointer<T> _ptr, int64_t _length);
+
+ void clear() const;
+ void fill(T value) const;
+ bool isEmpty() const;
+ View<T> slice(int64_t index) const;
+ View<T> slice(int64_t index, int64_t length) const;
+ void copyTo(const View<T>& destination) const;
+ bool tryCopyTo(const View<T>& destination) const;
+ template<class K> View<K> reinterpret() const;
+ int compare(const View<T>& inRHS) const;
+
+ bool operator==(const View<T>& inRHS) const;
+ bool operator!=(const View<T>& inRHS) const;
+
+ T& operator[] (int64_t index) const;
+ };
+
+ class RootHandle
+ {
+ ::hx::Object** object;
+
+ RootHandle(hx::Object** obj);
+
+ public:
+ static RootHandle create(Dynamic obj);
+ static RootHandle fromVoidPointer(::cpp::Pointer<void> ptr);
+
+ ::cpp::Pointer<void> toVoidPointer();
+ Dynamic getObject();
+ void close();
+ };
+
+ struct Marshal final
+ {
+#ifdef HXCPP_BIG_ENDIAN
+ static const bool isBigEndian = true;
+#else
+ static const bool isBigEndian = false;
+#endif
+
+ static View<char> asCharView(const ::String& string);
+ static View<char16_t> asWideCharView(const ::String& string);
+
+ template<class T> static T read(const View<uint8_t>& view);
+ template<class T> static ::cpp::Pointer<T> readPointer(const View<uint8_t>& view);
+ static int8_t readInt8(const View<uint8_t>& view);
+ static int16_t readInt16(const View<uint8_t>& view);
+ static int32_t readInt32(const View<uint8_t>& view);
+ static int64_t readInt64(const View<uint8_t>& view);
+ static uint8_t readUInt8(const View<uint8_t>& view);
+ static uint16_t readUInt16(const View<uint8_t>& view);
+ static uint32_t readUInt32(const View<uint8_t>& view);
+ static uint64_t readUInt64(const View<uint8_t>& view);
+ static float readFloat32(const View<uint8_t>& view);
+ static double readFloat64(const View<uint8_t>& view);
+
+ template<class T> static ::cpp::Pointer<T> readLittleEndianPointer(const View<uint8_t>& view);
+ static int16_t readLittleEndianInt16(const View<uint8_t>& view);
+ static int32_t readLittleEndianInt32(const View<uint8_t>& view);
+ static int64_t readLittleEndianInt64(const View<uint8_t>& view);
+ static uint16_t readLittleEndianUInt16(const View<uint8_t>& view);
+ static uint32_t readLittleEndianUInt32(const View<uint8_t>& view);
+ static uint64_t readLittleEndianUInt64(const View<uint8_t>& view);
+ static float readLittleEndianFloat32(const View<uint8_t>& view);
+ static double readLittleEndianFloat64(const View<uint8_t>& view);
+
+ template<class T> static ::cpp::Pointer<T> readBigEndianPointer(const View<uint8_t>& view);
+ static int16_t readBigEndianInt16(const View<uint8_t>& view);
+ static int32_t readBigEndianInt32(const View<uint8_t>& view);
+ static int64_t readBigEndianInt64(const View<uint8_t>& view);
+ static uint16_t readBigEndianUInt16(const View<uint8_t>& view);
+ static uint32_t readBigEndianUInt32(const View<uint8_t>& view);
+ static uint64_t readBigEndianUInt64(const View<uint8_t>& view);
+ static float readBigEndianFloat32(const View<uint8_t>& view);
+ static double readBigEndianFloat64(const View<uint8_t>& view);
+
+ template<class T> static void write(const View<uint8_t>& view, const T& value);
+ template<class T> static void writePointer(const View<uint8_t>& view, const Pointer<T>& value);
+ static void writeInt8(const View<uint8_t>& view, const int8_t& value);
+ static void writeInt16(const View<uint8_t>& view, const int16_t& value);
+ static void writeInt32(const View<uint8_t>& view, const int32_t& value);
+ static void writeInt64(const View<uint8_t>& view, const int64_t& value);
+ static void writeUInt8(const View<uint8_t>& view, const uint8_t& value);
+ static void writeUInt16(const View<uint8_t>& view, const uint16_t& value);
+ static void writeUInt32(const View<uint8_t>& view, const uint32_t& value);
+ static void writeUInt64(const View<uint8_t>& view, const uint64_t& value);
+ static void writeFloat32(const View<uint8_t>& view, const float& value);
+ static void writeFloat64(const View<uint8_t>& view, const double& value);
+
+ template<class T> static void writeLittleEndianPointer(const View<uint8_t>& view, const Pointer<T>& value);
+ static void writeLittleEndianInt16(const View<uint8_t>& view, const int16_t& value);
+ static void writeLittleEndianInt32(const View<uint8_t>& view, const int32_t& value);
+ static void writeLittleEndianInt64(const View<uint8_t>& view, const int64_t& value);
+ static void writeLittleEndianUInt16(const View<uint8_t>& view, const uint16_t& value);
+ static void writeLittleEndianUInt32(const View<uint8_t>& view, const uint32_t& value);
+ static void writeLittleEndianUInt64(const View<uint8_t>& view, const uint64_t& value);
+ static void writeLittleEndianFloat32(const View<uint8_t>& view, const float& value);
+ static void writeLittleEndianFloat64(const View<uint8_t>& view, const double& value);
+
+ template<class T> static void writeBigEndianPointer(const View<uint8_t>& view, const Pointer<T>& value);
+ static void writeBigEndianInt16(const View<uint8_t>& view, const int16_t& value);
+ static void writeBigEndianInt32(const View<uint8_t>& view, const int32_t& value);
+ static void writeBigEndianInt64(const View<uint8_t>& view, const int64_t& value);
+ static void writeBigEndianUInt16(const View<uint8_t>& view, const uint16_t& value);
+ static void writeBigEndianUInt32(const View<uint8_t>& view, const uint32_t& value);
+ static void writeBigEndianUInt64(const View<uint8_t>& view, const uint64_t& value);
+ static void writeBigEndianFloat32(const View<uint8_t>& view, const float& value);
+ static void writeBigEndianFloat64(const View<uint8_t>& view, const double& value);
+ };
+ }
+}
+
+// Implement some pointer helpers here
+
+template<typename T>
+inline cpp::Pointer<T> cpp::Pointer_obj::addressOf(const ::cpp::marshal::ValueReference<T>& ref)
+{
+ return Pointer<T>(ref.ptr);
+}
+
+template<typename T>
+inline cpp::Pointer<T*> cpp::Pointer_obj::addressOf(const ::cpp::marshal::PointerReference<T>& ref)
+{
+ return Pointer<T*>(ref.ptr);
+}
+
+// I'm not sure why I need this pointer ctor overload, I'm sure it was working without it at some point
+template<typename T>
+inline cpp::Pointer<T>::Pointer(const ::cpp::marshal::PointerReference<T> ref)
+{
+ ptr = *ref.ptr;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/Marshal.hpp b/Sources/c_borogove/iinclude/cpp/marshal/Marshal.hpp
new file mode 100644
index 0000000..6b69796
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/Marshal.hpp
@@ -0,0 +1,521 @@
+#pragma once
+
+#include "Definitions.inc"
+#include <cstring>
+#include <string>
+#include <algorithm>
+
+namespace
+{
+ template <class T>
+ T reverse(T val)
+ {
+ auto view = cpp::marshal::View<uint8_t>(reinterpret_cast<uint8_t*>(&val), sizeof(T));
+
+ std::reverse(view.ptr.ptr, view.ptr.ptr + view.length);
+
+ return val;
+ }
+}
+
+inline cpp::marshal::View<char> cpp::marshal::Marshal::asCharView(const ::String& string)
+{
+ if (null() == string)
+ {
+ hx::NullReference("string", false);
+ }
+
+ if (false == string.isAsciiEncoded())
+ {
+ hx::Throw(HX_CSTRING("String is not ASCII encoded"));
+ }
+
+ return View<char>(const_cast<char*>(string.raw_ptr()), string.length);
+}
+
+inline cpp::marshal::View<char16_t> cpp::marshal::Marshal::asWideCharView(const ::String& string)
+{
+#if defined(HX_SMART_STRINGS)
+ if (null() == string)
+ {
+ hx::NullReference("string", false);
+ }
+
+ if (false == string.isUTF16Encoded())
+ {
+ hx::Throw(HX_CSTRING("String is not ASCII encoded"));
+ }
+
+ return View<char16_t>(const_cast<char16_t*>(string.raw_wptr()), string.length);
+#else
+ hx::Throw(HX_CSTRING("HX_SMART_STRINGS not defined"));
+
+ return View<char16_t>(cpp::Pointer<char16_t>(null()), 0);
+#endif
+}
+
+template<class T>
+inline T cpp::marshal::Marshal::read(const View<uint8_t>& view)
+{
+ if (view.length < sizeof(T))
+ {
+ hx::Throw(HX_CSTRING("View too small"));
+ }
+
+ T output{};
+
+ std::memcpy(&output, view.ptr.ptr, sizeof(T));
+
+ return output;
+}
+
+template<class T>
+inline ::cpp::Pointer<T> cpp::marshal::Marshal::readPointer(const View<uint8_t>& view)
+{
+ return read<T*>(view);
+}
+
+inline int8_t cpp::marshal::Marshal::readInt8(const View<uint8_t>& view)
+{
+ return read<int8_t>(view);
+}
+
+inline int16_t cpp::marshal::Marshal::readInt16(const View<uint8_t>& view)
+{
+ return read<int16_t>(view);
+}
+
+inline int32_t cpp::marshal::Marshal::readInt32(const View<uint8_t>& view)
+{
+ return read<int32_t>(view);
+}
+
+inline int64_t cpp::marshal::Marshal::readInt64(const View<uint8_t>& view)
+{
+ return read<int64_t>(view);
+}
+
+inline uint8_t cpp::marshal::Marshal::readUInt8(const View<uint8_t>& view)
+{
+ return read<uint8_t>(view);
+}
+
+inline uint16_t cpp::marshal::Marshal::readUInt16(const View<uint8_t>& view)
+{
+ return read<uint16_t>(view);
+}
+
+inline uint32_t cpp::marshal::Marshal::readUInt32(const View<uint8_t>& view)
+{
+ return read<uint32_t>(view);
+}
+
+inline uint64_t cpp::marshal::Marshal::readUInt64(const View<uint8_t>& view)
+{
+ return read<uint64_t>(view);
+}
+
+inline float cpp::marshal::Marshal::readFloat32(const View<uint8_t>& view)
+{
+ return read<float>(view);
+}
+
+inline double cpp::marshal::Marshal::readFloat64(const View<uint8_t>& view)
+{
+ return read<double>(view);
+}
+
+template<class T>
+inline void cpp::marshal::Marshal::write(const View<uint8_t>& view, const T& value)
+{
+ if (view.length < sizeof(T))
+ {
+ hx::Throw(HX_CSTRING("View too small"));
+ }
+
+ std::memcpy(view.ptr.ptr, reinterpret_cast<const uint8_t*>(&value), sizeof(T));
+}
+
+template<class T>
+inline void cpp::marshal::Marshal::writePointer(const View<uint8_t>& view, const ::cpp::Pointer<T>& value)
+{
+ write<T*>(view, value.ptr);
+}
+
+inline void cpp::marshal::Marshal::writeInt8(const View<uint8_t>& view, const int8_t& value)
+{
+ write<int8_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeInt16(const View<uint8_t>& view, const int16_t& value)
+{
+ write<int16_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeInt32(const View<uint8_t>& view, const int32_t& value)
+{
+ write<int32_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeInt64(const View<uint8_t>& view, const int64_t& value)
+{
+ write<int64_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeUInt8(const View<uint8_t>& view, const uint8_t& value)
+{
+ write<uint8_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeUInt16(const View<uint8_t>& view, const uint16_t& value)
+{
+ write<uint16_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeUInt32(const View<uint8_t>& view, const uint32_t& value)
+{
+ write<uint32_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeUInt64(const View<uint8_t>& view, const uint64_t& value)
+{
+ write<uint64_t>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeFloat32(const View<uint8_t>& view, const float& value)
+{
+ write<float>(view, value);
+}
+
+inline void cpp::marshal::Marshal::writeFloat64(const View<uint8_t>& view, const double& value)
+{
+ write<double>(view, value);
+}
+
+template<class T>
+inline ::cpp::Pointer<T> cpp::marshal::Marshal::readBigEndianPointer(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readPointer<T*>(view);
+#else
+ return reverse(readPointer<T*>(view));
+#endif
+}
+
+inline int16_t cpp::marshal::Marshal::readBigEndianInt16(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readInt16(view);
+#else
+ return reverse(readInt16(view));
+#endif
+}
+
+inline int32_t cpp::marshal::Marshal::readBigEndianInt32(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readInt32(view);
+#else
+ return reverse(readInt32(view));
+#endif
+}
+
+inline int64_t cpp::marshal::Marshal::readBigEndianInt64(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readInt64(view);
+#else
+ return reverse(readInt64(view));
+#endif
+}
+
+inline uint16_t cpp::marshal::Marshal::readBigEndianUInt16(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readUInt16(view);
+#else
+ return reverse(readUInt16(view));
+#endif
+}
+
+inline uint32_t cpp::marshal::Marshal::readBigEndianUInt32(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readUInt32(view);
+#else
+ return reverse(readUInt32(view));
+#endif
+}
+
+inline uint64_t cpp::marshal::Marshal::readBigEndianUInt64(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readInt64(view);
+#else
+ return reverse(readUInt64(view));
+#endif
+}
+
+inline float cpp::marshal::Marshal::readBigEndianFloat32(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readFloat32(view);
+#else
+ return reverse(readFloat32(view));
+#endif
+}
+
+inline double cpp::marshal::Marshal::readBigEndianFloat64(const View<uint8_t>& view)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ return readFloat64(view);
+#else
+ return reverse(readFloat64(view));
+#endif
+}
+
+template<class T>
+inline ::cpp::Pointer<T> cpp::marshal::Marshal::readLittleEndianPointer(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readPointer<T*>(view);
+#else
+ return reverse(readPointer<T*>(view));
+#endif
+}
+
+inline int16_t cpp::marshal::Marshal::readLittleEndianInt16(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readInt16(view);
+#else
+ return reverse(readInt16(view));
+#endif
+}
+
+inline int32_t cpp::marshal::Marshal::readLittleEndianInt32(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readInt32(view);
+#else
+ return reverse(readInt32(view));
+#endif
+}
+
+inline int64_t cpp::marshal::Marshal::readLittleEndianInt64(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readInt64(view);
+#else
+ return reverse(readInt64(view));
+#endif
+}
+
+inline uint16_t cpp::marshal::Marshal::readLittleEndianUInt16(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readUInt16(view);
+#else
+ return reverse(readUInt16(view));
+#endif
+}
+
+inline uint32_t cpp::marshal::Marshal::readLittleEndianUInt32(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readUInt32(view);
+#else
+ return reverse(readUInt32(view));
+#endif
+}
+
+inline uint64_t cpp::marshal::Marshal::readLittleEndianUInt64(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readInt64(view);
+#else
+ return reverse(readUInt64(view));
+#endif
+}
+
+inline float cpp::marshal::Marshal::readLittleEndianFloat32(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readFloat32(view);
+#else
+ return reverse(readFloat32(view));
+#endif
+}
+
+inline double cpp::marshal::Marshal::readLittleEndianFloat64(const View<uint8_t>& view)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ return readFloat64(view);
+#else
+ return reverse(readFloat64(view));
+#endif
+}
+
+template<class T>
+inline void cpp::marshal::Marshal::writeLittleEndianPointer(const View<uint8_t>& view, const ::cpp::Pointer<T>& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ write<T*>(view, reverse(value.ptr));
+#else
+ write<T*>(view, value.ptr);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianInt16(const View<uint8_t>& view, const int16_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeInt16(view, reverse(value));
+#else
+ writeInt16(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianInt32(const View<uint8_t>& view, const int32_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeInt32(view, reverse(value));
+#else
+ writeInt32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianInt64(const View<uint8_t>& view, const int64_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeInt64(view, reverse(value));
+#else
+ writeInt64(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianUInt16(const View<uint8_t>& view, const uint16_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeUInt16(view, reverse(value));
+#else
+ writeUInt16(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianUInt32(const View<uint8_t>& view, const uint32_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeUInt32(view, reverse(value));
+#else
+ writeUInt32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianUInt64(const View<uint8_t>& view, const uint64_t& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeUInt64(view, reverse(value));
+#else
+ writeUInt64(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianFloat32(const View<uint8_t>& view, const float& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeFloat32(view, reverse(value));
+#else
+ writeFloat32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeLittleEndianFloat64(const View<uint8_t>& view, const double& value)
+{
+#ifdef HXCPP_BIG_ENDIAN
+ writeFloat64(view, reverse(value));
+#else
+ writeFloat64(view, value);
+#endif
+}
+
+template<class T>
+inline void cpp::marshal::Marshal::writeBigEndianPointer(const View<uint8_t>& view, const ::cpp::Pointer<T>& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ write<T*>(view, reverse(value.ptr));
+#else
+ write<T*>(view, value.ptr);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianInt16(const View<uint8_t>& view, const int16_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeInt16(view, reverse(value));
+#else
+ writeInt16(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianInt32(const View<uint8_t>& view, const int32_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeInt32(view, reverse(value));
+#else
+ writeInt32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianInt64(const View<uint8_t>& view, const int64_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeInt64(view, reverse(value));
+#else
+ writeInt64(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianUInt16(const View<uint8_t>& view, const uint16_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeUInt16(view, reverse(value));
+#else
+ writeUInt16(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianUInt32(const View<uint8_t>& view, const uint32_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeUInt32(view, reverse(value));
+#else
+ writeUInt32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianUInt64(const View<uint8_t>& view, const uint64_t& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeUInt64(view, reverse(value));
+#else
+ writeUInt64(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianFloat32(const View<uint8_t>& view, const float& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeFloat32(view, reverse(value));
+#else
+ writeFloat32(view, value);
+#endif
+}
+
+inline void cpp::marshal::Marshal::writeBigEndianFloat64(const View<uint8_t>& view, const double& value)
+{
+#ifndef HXCPP_BIG_ENDIAN
+ writeFloat64(view, reverse(value));
+#else
+ writeFloat64(view, value);
+#endif
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/PointerReference.hpp b/Sources/c_borogove/iinclude/cpp/marshal/PointerReference.hpp
new file mode 100644
index 0000000..f007aba
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/PointerReference.hpp
@@ -0,0 +1,170 @@
+#pragma once
+
+#include "Definitions.inc"
+
+template<class T>
+inline cpp::marshal::Boxed<T*> cpp::marshal::PointerReference<T>::ToBoxed() const
+{
+ if (nullptr == Super::ptr)
+ {
+ return new Boxed_obj<TPtr>();
+ }
+ else
+ {
+ return new Boxed_obj<TPtr>(Super::ptr);
+ }
+}
+
+template<class T>
+template<class O>
+inline O* cpp::marshal::PointerReference<T>::FromBoxed(const Boxed<O>& inRHS)
+{
+ if (nullptr == inRHS.mPtr)
+ {
+ return nullptr;
+ }
+
+ return const_cast<O*>(&inRHS->value);
+}
+
+template<class T>
+template<class O>
+inline O* cpp::marshal::PointerReference<T>::FromDynamic(const Dynamic& inRHS)
+{
+ return FromBoxed(inRHS.StaticCast<Boxed<O>>());
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const null& inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const PointerType<T>& inRHS) : Super(const_cast<TPtr*>(&inRHS.value)) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const Boxed<TPtr>& inRHS) : Super(FromBoxed<TPtr>(inRHS)) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::PointerReference<T>::PointerReference(const PointerReference<O>& inRHS) : Super(reinterpret_cast<TPtr*>(const_cast<O**>(inRHS.ptr))) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::PointerReference<T>::PointerReference(const PointerType<O>& inRHS) : Super(reinterpret_cast<TPtr*>(const_cast<O**>(&inRHS.value))) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::PointerReference<T>::PointerReference(const Boxed<O>& inRHS) : Super(reinterpret_cast<TPtr*>(FromBoxed<O>(inRHS))) {}
+
+template<class T>
+template<class K>
+inline K cpp::marshal::PointerReference<T>::get(int64_t index)
+{
+ return (*Super::ptr)[index];
+}
+
+template<class T>
+template<class K>
+inline void cpp::marshal::PointerReference<T>::set(int64_t index, K value)
+{
+ (*Super::ptr)[index] = value;
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const TPtr& inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(TPtr& inRHS)
+{
+ if (nullptr != inRHS)
+ {
+ Super::ptr = &inRHS;
+ }
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const TPtr* inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const Variant& inRHS) : Super(FromDynamic<TPtr>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::PointerReference(const Dynamic& inRHS) : Super(FromDynamic<TPtr>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator ::Dynamic() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator ::cpp::Variant() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator ::cpp::marshal::Boxed<T*>() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator ::cpp::Pointer<T>() const
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return ::cpp::Pointer<T>(*Super::ptr);
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator TPtr& ()
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return *Super::ptr;
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator TPtr* ()
+{
+ return Super::ptr;
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator void* ()
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return *Super::ptr;
+}
+
+template<class T>
+inline cpp::marshal::PointerReference<T>::operator void** ()
+{
+ return reinterpret_cast<void**>(Super::ptr);
+}
+
+template<class T>
+inline T* cpp::marshal::PointerReference<T>::operator->() const
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ if (nullptr == *Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return *Super::ptr;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/PointerType.hpp b/Sources/c_borogove/iinclude/cpp/marshal/PointerType.hpp
new file mode 100644
index 0000000..e2bd26a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/PointerType.hpp
@@ -0,0 +1,68 @@
+#pragma once
+
+#include "Definitions.inc"
+
+template<class T>
+inline T* cpp::marshal::PointerType<T>::FromDynamic(const Dynamic& inRHS)
+{
+ return FromBoxed(inRHS.StaticCast<Boxed<T>>());
+}
+
+template<class T>
+inline T* cpp::marshal::PointerType<T>::FromBoxed(const Boxed<TPtr>& inRHS)
+{
+ if (nullptr == inRHS.mPtr)
+ {
+ return nullptr;
+ }
+
+ return inRHS->value;
+}
+
+template<class T>
+inline T* cpp::marshal::PointerType<T>::FromReference(const PointerReference<T>& inRHS)
+{
+ if (nullptr == inRHS.ptr)
+ {
+ return nullptr;
+ }
+
+ return *inRHS.ptr;
+}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType() : value(nullptr) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(TPtr inRHS) : value(inRHS) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(const PointerReference<T>& inRHS) : value(FromReference(inRHS.ptr)) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(const null&) : value(nullptr) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(const Boxed<TPtr>& inRHS) : value(FromBoxed(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(const Variant& inRHS) : value(FromDynamic(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>::PointerType(const Dynamic& inRHS) : value(FromDynamic(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::PointerType<T>& cpp::marshal::PointerType<T>::operator=(const PointerReference<T>& inRHS)
+{
+ value = *inRHS.ptr;
+
+ return *this;
+}
+
+template<class T>
+inline cpp::marshal::PointerType<T>& cpp::marshal::PointerType<T>::operator=(const null& inRHS)
+{
+ value = nullptr;
+
+ return *this;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/RootHandle.hpp b/Sources/c_borogove/iinclude/cpp/marshal/RootHandle.hpp
new file mode 100644
index 0000000..fcdeb83
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/RootHandle.hpp
@@ -0,0 +1,46 @@
+#pragma once
+
+#include "Definitions.inc"
+
+inline cpp::marshal::RootHandle::RootHandle(::hx::Object** obj) : object(obj) {}
+
+inline cpp::marshal::RootHandle cpp::marshal::RootHandle::create(::Dynamic obj)
+{
+ if (null() == obj)
+ {
+ hx::NullReference("Dynamic", false);
+ }
+
+ auto root = new hx::Object* { obj.mPtr };
+
+ hx::GCAddRoot(root);
+
+ return RootHandle(root);
+}
+
+inline cpp::marshal::RootHandle cpp::marshal::RootHandle::fromVoidPointer(cpp::Pointer<void> ptr)
+{
+ if (nullptr == ptr.ptr)
+ {
+ hx::NullReference("Dynamic", false);
+ }
+
+ return RootHandle(static_cast<hx::Object**>(ptr.ptr));
+}
+
+inline void cpp::marshal::RootHandle::close()
+{
+ hx::GCRemoveRoot(object);
+
+ delete object;
+}
+
+inline ::Dynamic cpp::marshal::RootHandle::getObject()
+{
+ return ::Dynamic{ *object };
+}
+
+inline cpp::Pointer<void> cpp::marshal::RootHandle::toVoidPointer()
+{
+ return object;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/ValueReference.hpp b/Sources/c_borogove/iinclude/cpp/marshal/ValueReference.hpp
new file mode 100644
index 0000000..53c2cf3
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/ValueReference.hpp
@@ -0,0 +1,140 @@
+#pragma once
+
+#include "Definitions.inc"
+
+template<class T>
+template<class O>
+inline O* cpp::marshal::ValueReference<T>::FromDynamic(const Dynamic& inRHS)
+{
+ return FromBoxed(inRHS.StaticCast<Boxed<O>>());
+}
+
+template<class T>
+template<class O>
+inline O* cpp::marshal::ValueReference<T>::FromBoxed(const Boxed<O>& inRHS)
+{
+ if (nullptr == inRHS.mPtr)
+ {
+ return nullptr;
+ }
+
+ return const_cast<O*>(&inRHS->value);
+}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference() : Super(nullptr) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const null& inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const ValueType<T>& inRHS) : Super(inRHS.value) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const Boxed<T>& inRHS) : Super(FromBoxed<T>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const T& inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(T& inRHS) : Super(inRHS) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const T* inRHS) : Super(inRHS) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::ValueReference<T>::ValueReference(const ValueReference<O>& inRHS) : Super(reinterpret_cast<T*>(const_cast<O*>(inRHS.ptr))) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::ValueReference<T>::ValueReference(const ValueType<O>& inRHS) : Super(reinterpret_cast<T*>(const_cast<O*>(&inRHS.value))) {}
+
+template<class T>
+template<class O>
+inline cpp::marshal::ValueReference<T>::ValueReference(const Boxed<O>& inRHS) : Super(reinterpret_cast<T*>(FromBoxed<O>(inRHS))) {}
+
+template<class T>
+template<class K>
+inline K cpp::marshal::ValueReference<T>::get(int64_t index)
+{
+ return (*Super::ptr)[index];
+}
+
+template<class T>
+template<class K>
+inline void cpp::marshal::ValueReference<T>::set(int64_t index, K value)
+{
+ (*Super::ptr)[index] = value;
+}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const Variant& inRHS) : Super(FromDynamic<T>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::ValueReference(const Dynamic& inRHS) : Super(FromDynamic<T>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::Boxed<T> cpp::marshal::ValueReference<T>::ToBoxed() const
+{
+ if (Super::ptr)
+ {
+ return Boxed<T>(new Boxed_obj<T>(Super::ptr));
+ }
+ else
+ {
+ return Boxed<T>();
+ }
+}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::operator ::Dynamic() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::operator ::cpp::Variant() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline cpp::marshal::ValueReference<T>::operator ::cpp::marshal::Boxed<T>() const
+{
+ return ToBoxed();
+}
+
+template<class T>
+inline T* cpp::marshal::ValueReference<T>::operator ->() const
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return Super::ptr;
+}
+
+template<class T>
+inline bool cpp::marshal::ValueReference<T>::operator==(const ValueReference<T>& inRHS) const
+{
+ return (*Super::ptr) == (*inRHS.ptr);
+}
+
+template<class T>
+inline bool cpp::marshal::ValueReference<T>::operator!=(const ValueReference<T>& inRHS) const
+{
+ return (*Super::ptr) != (*inRHS.ptr);
+}
+
+template<class T>
+inline T cpp::marshal::ValueReference<T>::operator*() const
+{
+ if (nullptr == Super::ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return *Super::ptr;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/ValueType.hpp b/Sources/c_borogove/iinclude/cpp/marshal/ValueType.hpp
new file mode 100644
index 0000000..70e5309
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/ValueType.hpp
@@ -0,0 +1,74 @@
+#pragma once
+
+#include "Definitions.inc"
+
+template<class T>
+inline T cpp::marshal::ValueType<T>::FromDynamic(const Dynamic& inRHS)
+{
+ return FromBoxed(inRHS.StaticCast<Boxed<T>>());
+}
+
+template<class T>
+inline T cpp::marshal::ValueType<T>::FromBoxed(const Boxed<T>& inRHS)
+{
+ if (nullptr == inRHS.mPtr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return inRHS->value;
+}
+
+template<class T>
+inline T cpp::marshal::ValueType<T>::FromReference(const ValueReference<T>& inRHS)
+{
+ if (nullptr == inRHS.ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ return *inRHS.ptr;
+}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType() : value() {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType(const ValueReference<T>& inRHS) : value(FromReference(inRHS.ptr)) {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType(const null& inRHS) : ValueType<T>(::cpp::marshal::ValueReference<T>(inRHS)) {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType(const Boxed<T>& inRHS) : ValueType<T>(::cpp::marshal::ValueReference<T>(FromBoxed(inRHS))) {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType(const Variant& inRHS) : ValueType<T>(::cpp::marshal::ValueReference<T>(FromDynamic(inRHS.asDynamic()))) {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>::ValueType(const Dynamic& inRHS) : ValueType<T>(::cpp::marshal::ValueReference<T>(FromDynamic(inRHS))) {}
+
+template<class T>
+template<class ...TArgs>
+inline cpp::marshal::ValueType<T>::ValueType(TArgs... args) : value(std::forward<TArgs>(args)...) {}
+
+template<class T>
+inline cpp::marshal::ValueType<T>& cpp::marshal::ValueType<T>::operator=(const ValueReference<T>& inRHS)
+{
+ if (nullptr == inRHS.ptr)
+ {
+ ::hx::NullReference("ValueType", true);
+ }
+
+ value = *inRHS.ptr;
+
+ return *this;
+}
+
+template<class T>
+inline cpp::marshal::ValueType<T>& cpp::marshal::ValueType<T>::operator=(const null& inRHS)
+{
+ ::hx::NullReference("ValueType", true);
+
+ return *this;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/cpp/marshal/View.hpp b/Sources/c_borogove/iinclude/cpp/marshal/View.hpp
new file mode 100644
index 0000000..d60fd58
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/marshal/View.hpp
@@ -0,0 +1,136 @@
+#pragma once
+
+#include "Definitions.inc"
+#include <cstring>
+#include <cmath>
+
+template<class T>
+inline cpp::marshal::View<T>::View(::cpp::Pointer<T> _ptr, int64_t _length) : ptr(_ptr), length(_length) {}
+
+template<class T>
+inline bool cpp::marshal::View<T>::tryCopyTo(const View<T>& destination) const
+{
+ if (destination.length < length)
+ {
+ return false;
+ }
+
+ if (ptr.ptr + length < destination.ptr.ptr || destination.ptr.ptr + length < ptr.ptr)
+ std::memcpy(destination.ptr.ptr, ptr.ptr, sizeof(T) * length);
+ else
+ std::memmove(destination.ptr.ptr, ptr.ptr, sizeof(T) * length);
+
+ return true;
+}
+
+template<class T>
+inline void cpp::marshal::View<T>::copyTo(const View<T>& destination) const
+{
+ if (tryCopyTo(destination) == false)
+ {
+ hx::Throw(HX_CSTRING("View OOB"));
+ }
+}
+
+template<class T>
+inline void cpp::marshal::View<T>::clear() const
+{
+ std::memset(ptr.ptr, 0, sizeof(T) * length);
+}
+
+template<class T>
+inline void cpp::marshal::View<T>::fill(T value) const
+{
+ for (auto i = 0; i < length; i++)
+ {
+ ptr.ptr[i] = value;
+ }
+}
+
+template<class T>
+inline bool cpp::marshal::View<T>::isEmpty() const
+{
+ return length == 0;
+}
+
+template<class T>
+inline cpp::marshal::View<T> cpp::marshal::View<T>::slice(int64_t index) const
+{
+ if (index < 0 || index > length)
+ {
+ hx::Throw(HX_CSTRING("View OOB"));
+ }
+
+ return View<T>(ptr.ptr + index, length - index);
+}
+
+template<class T>
+inline cpp::marshal::View<T> cpp::marshal::View<T>::slice(int64_t inIndex, int64_t inLength) const
+{
+ if (inIndex < 0 || inLength < 0 || inIndex > length || inIndex + inLength > length)
+ {
+ hx::Throw(HX_CSTRING("View OOB"));
+ }
+
+ return View<T>(ptr.ptr + inIndex, inLength);
+}
+
+template<class T>
+template<class K>
+inline cpp::marshal::View<K> cpp::marshal::View<T>::reinterpret() const
+{
+ auto newPtr = ::cpp::Pointer<K>(reinterpret_cast<K*>(ptr.ptr));
+ auto fromSize = sizeof(T);
+ auto toSize = sizeof(K);
+
+ if (toSize == fromSize)
+ {
+ return cpp::marshal::View<K>(newPtr, length);
+ }
+ if (toSize < fromSize)
+ {
+ return cpp::marshal::View<K>(newPtr, length * (fromSize / toSize));
+ }
+
+ auto shrink = static_cast<double>(fromSize) / toSize;
+ auto newLength = static_cast<int>(std::floor(length * shrink));
+
+ return cpp::marshal::View<K>(newPtr, newLength);
+}
+
+template<class T>
+inline int cpp::marshal::View<T>::compare(const View<T>& inRHS) const
+{
+ auto common = length < inRHS.length ? length : inRHS.length;
+ auto result = std::memcmp(ptr.ptr, inRHS.ptr.ptr, sizeof(T) * common);
+
+ if (result)
+ {
+ return result;
+ }
+
+ return length - inRHS.length;
+}
+
+template<class T>
+inline bool cpp::marshal::View<T>::operator==(const View<T>& inRHS) const
+{
+ return length == inRHS.length && ptr.ptr == inRHS.ptr.ptr;
+}
+
+template<class T>
+inline bool cpp::marshal::View<T>::operator!=(const View<T>& inRHS) const
+{
+ return length != inRHS.length || ptr.ptr != inRHS.ptr.ptr;
+}
+
+template<class T>
+inline T& cpp::marshal::View<T>::operator[](int64_t index) const
+{
+ if (index < 0 || index >= length)
+ {
+ hx::Throw(HX_CSTRING("View OOB"));
+ }
+
+ return ptr.ptr[index];
+}
diff --git a/Sources/c_borogove/iinclude/cpp/vm/Gc.h b/Sources/c_borogove/iinclude/cpp/vm/Gc.h
new file mode 100644
index 0000000..5f2e1c6
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/vm/Gc.h
@@ -0,0 +1,62 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_cpp_vm_Gc
+#define INCLUDED_cpp_vm_Gc
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(cpp,vm,Gc)
+
+namespace cpp{
+namespace vm{
+
+
+class HXCPP_CLASS_ATTRIBUTES Gc_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Gc_obj OBJ_;
+ Gc_obj();
+
+ public:
+ enum { _hx_ClassId = 0x6bc853d6 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="cpp.vm.Gc")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"cpp.vm.Gc"); }
+
+ inline static ::hx::ObjectPtr< Gc_obj > __new() {
+ ::hx::ObjectPtr< Gc_obj > __this = new Gc_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Gc_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Gc_obj *__this = (Gc_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Gc_obj), false, "cpp.vm.Gc"));
+ *(void **)__this = Gc_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Gc_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Gc",3c,3e,00,00); }
+
+ static int trace(::hx::Class sought,::hx::Null< bool > printInstances);
+ static ::Dynamic trace_dyn();
+
+};
+
+} // end namespace cpp
+} // end namespace vm
+
+#endif /* INCLUDED_cpp_vm_Gc */
diff --git a/Sources/c_borogove/iinclude/cpp/vm/WeakRef.h b/Sources/c_borogove/iinclude/cpp/vm/WeakRef.h
new file mode 100644
index 0000000..4747909
--- /dev/null
+++ b/Sources/c_borogove/iinclude/cpp/vm/WeakRef.h
@@ -0,0 +1,81 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_cpp_vm_WeakRef
+#define INCLUDED_cpp_vm_WeakRef
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_STACK_FRAME(_hx_pos_5d77fc6d6289cb3b_29_new)
+HX_DECLARE_CLASS2(cpp,vm,WeakRef)
+
+namespace cpp{
+namespace vm{
+
+
+class HXCPP_CLASS_ATTRIBUTES WeakRef_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef WeakRef_obj OBJ_;
+ WeakRef_obj();
+
+ public:
+ enum { _hx_ClassId = 0x79de7951 };
+
+ void __construct( ::Dynamic inObject,::hx::Null< bool > __o_inHard);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="cpp.vm.WeakRef")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"cpp.vm.WeakRef"); }
+
+ inline static ::hx::ObjectPtr< WeakRef_obj > __new( ::Dynamic inObject,::hx::Null< bool > __o_inHard) {
+ ::hx::ObjectPtr< WeakRef_obj > __this = new WeakRef_obj();
+ __this->__construct(inObject,__o_inHard);
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< WeakRef_obj > __alloc(::hx::Ctx *_hx_ctx, ::Dynamic inObject,::hx::Null< bool > __o_inHard) {
+ WeakRef_obj *__this = (WeakRef_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(WeakRef_obj), true, "cpp.vm.WeakRef"));
+ *(void **)__this = WeakRef_obj::_hx_vtable;
+{
+ bool inHard = __o_inHard.Default(false);
+ HX_STACKFRAME(&_hx_pos_5d77fc6d6289cb3b_29_new)
+HXLINE( 30) ( ( ::cpp::vm::WeakRef)(__this) )->hardRef = inHard;
+HXLINE( 31) if (( ( ::cpp::vm::WeakRef)(__this) )->hardRef) {
+HXLINE( 32) ( ( ::cpp::vm::WeakRef)(__this) )->ref = inObject;
+ }
+ else {
+HXLINE( 34) ( ( ::cpp::vm::WeakRef)(__this) )->ref = ::__hxcpp_weak_ref_create(inObject);
+ }
+ }
+
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~WeakRef_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("WeakRef",9b,77,ad,a4); }
+
+ ::Dynamic ref;
+ bool hardRef;
+ ::Dynamic get();
+ ::Dynamic get_dyn();
+
+};
+
+} // end namespace cpp
+} // end namespace vm
+
+#endif /* INCLUDED_cpp_vm_WeakRef */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/Aes.h b/Sources/c_borogove/iinclude/haxe/crypto/Aes.h
new file mode 100644
index 0000000..db6558a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/Aes.h
@@ -0,0 +1,107 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_Aes
+#define INCLUDED_haxe_crypto_Aes
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(haxe,crypto,Aes)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+
+
+class HXCPP_CLASS_ATTRIBUTES Aes_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Aes_obj OBJ_;
+ Aes_obj();
+
+ public:
+ enum { _hx_ClassId = 0x49ad9de8 };
+
+ void __construct( ::haxe::io::Bytes key, ::haxe::io::Bytes iv);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="haxe.crypto.Aes")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"haxe.crypto.Aes"); }
+ static ::hx::ObjectPtr< Aes_obj > __new( ::haxe::io::Bytes key, ::haxe::io::Bytes iv);
+ static ::hx::ObjectPtr< Aes_obj > __alloc(::hx::Ctx *_hx_ctx, ::haxe::io::Bytes key, ::haxe::io::Bytes iv);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Aes_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ static bool __SetStatic(const ::String &inString, Dynamic &ioValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Aes",ef,aa,31,00); }
+
+ static ::Array< int > SBOX;
+ static ::Array< int > RSBOX;
+ static ::Array< int > SUB_BYTES_MIX_COLUMN_0;
+ static ::Array< int > SUB_BYTES_MIX_COLUMN_1;
+ static ::Array< int > SUB_BYTES_MIX_COLUMN_2;
+ static ::Array< int > SUB_BYTES_MIX_COLUMN_3;
+ static ::Array< int > RSUB_BYTES_MIX_COLUMN_0;
+ static ::Array< int > RSUB_BYTES_MIX_COLUMN_1;
+ static ::Array< int > RSUB_BYTES_MIX_COLUMN_2;
+ static ::Array< int > RSUB_BYTES_MIX_COLUMN_3;
+ static ::Array< int > RCON;
+ static void initTable();
+ static ::Dynamic initTable_dyn();
+
+ int Nk;
+ int Nr;
+ ::Array< int > roundKey;
+ ::Array< int > rRoundKey;
+ int keyRows;
+ ::Array< int > state;
+ ::haxe::io::Bytes key;
+ ::haxe::io::Bytes iv;
+ ::haxe::io::Bytes set_iv( ::haxe::io::Bytes vector);
+ ::Dynamic set_iv_dyn();
+
+ void init( ::haxe::io::Bytes key, ::haxe::io::Bytes iv);
+ ::Dynamic init_dyn();
+
+ void keyExpansion( ::haxe::io::Bytes key);
+ ::Dynamic keyExpansion_dyn();
+
+ ::haxe::io::Bytes encrypt(::String cipherMode, ::haxe::io::Bytes data,::String padding, ::haxe::io::Bytes aad, ::Dynamic tagLen,::Array< ::Dynamic> aadCollection);
+ ::Dynamic encrypt_dyn();
+
+ ::haxe::io::Bytes decrypt(::String cipherMode, ::haxe::io::Bytes data,::String padding, ::haxe::io::Bytes aad, ::Dynamic tagLen,::Array< ::Dynamic> aadCollection);
+ ::Dynamic decrypt_dyn();
+
+ void encryptBlock( ::haxe::io::Bytes src,int srcIndex, ::haxe::io::Bytes dst,int dstIndex);
+ ::Dynamic encryptBlock_dyn();
+
+ void decryptBlock( ::haxe::io::Bytes src,int srcIndex, ::haxe::io::Bytes dst,::hx::Null< int > dstIndex);
+ ::Dynamic decryptBlock_dyn();
+
+ void generateBlock(::Array< int > keySchedule,::Array< int > SUB_MIX_0,::Array< int > SUB_MIX_1,::Array< int > SUB_MIX_2,::Array< int > SUB_MIX_3,::Array< int > SBOX);
+ ::Dynamic generateBlock_dyn();
+
+ int bytesToInt32( ::haxe::io::Bytes bs,int off);
+ ::Dynamic bytesToInt32_dyn();
+
+ void int32ToBytes(int n, ::haxe::io::Bytes bs,int off);
+ ::Dynamic int32ToBytes_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+
+#endif /* INCLUDED_haxe_crypto_Aes */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/CBC.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/CBC.h
new file mode 100644
index 0000000..aca564a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/CBC.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_CBC
+#define INCLUDED_haxe_crypto_mode_CBC
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,CBC)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES CBC_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CBC_obj OBJ_;
+ CBC_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1013da96 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.CBC")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.CBC"); }
+
+ inline static ::hx::ObjectPtr< CBC_obj > __new() {
+ ::hx::ObjectPtr< CBC_obj > __this = new CBC_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< CBC_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ CBC_obj *__this = (CBC_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CBC_obj), false, "haxe.crypto.mode.CBC"));
+ *(void **)__this = CBC_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CBC_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("CBC",c4,10,33,00); }
+
+ static void encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_CBC */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/CCM.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/CCM.h
new file mode 100644
index 0000000..d6c7f3b
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/CCM.h
@@ -0,0 +1,86 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_CCM
+#define INCLUDED_haxe_crypto_mode_CCM
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,CCM)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES CCM_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CCM_obj OBJ_;
+ CCM_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1013db7f };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.CCM")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.CCM"); }
+
+ inline static ::hx::ObjectPtr< CCM_obj > __new() {
+ ::hx::ObjectPtr< CCM_obj > __this = new CCM_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< CCM_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ CCM_obj *__this = (CCM_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CCM_obj), false, "haxe.crypto.mode.CCM"));
+ *(void **)__this = CCM_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CCM_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("CCM",ad,11,33,00); }
+
+ static ::haxe::io::Bytes encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes nonce, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static ::haxe::io::Bytes decrypt( ::haxe::io::Bytes ciphertextWithTag, ::haxe::io::Bytes nonce, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+ static ::Array< ::Dynamic> createAuthBlocks( ::haxe::io::Bytes B0, ::haxe::io::Bytes aad, ::haxe::io::Bytes message,int blockSize);
+ static ::Dynamic createAuthBlocks_dyn();
+
+ static ::haxe::io::Bytes computeCBCMac(::Array< ::Dynamic> blocks,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic computeCBCMac_dyn();
+
+ static ::haxe::io::Bytes formatAuthData( ::haxe::io::Bytes aad);
+ static ::Dynamic formatAuthData_dyn();
+
+ static ::haxe::io::Bytes encryptCTR( ::haxe::io::Bytes nonce, ::haxe::io::Bytes message,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encryptCTR_dyn();
+
+ static ::haxe::io::Bytes encryptTag( ::haxe::io::Bytes nonce, ::haxe::io::Bytes tag,int tagLen,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encryptTag_dyn();
+
+ static bool constantTimeCompare( ::haxe::io::Bytes a, ::haxe::io::Bytes b);
+ static ::Dynamic constantTimeCompare_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_CCM */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/CFB.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/CFB.h
new file mode 100644
index 0000000..6ca9b18
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/CFB.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_CFB
+#define INCLUDED_haxe_crypto_mode_CFB
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,CFB)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES CFB_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CFB_obj OBJ_;
+ CFB_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1013de11 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.CFB")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.CFB"); }
+
+ inline static ::hx::ObjectPtr< CFB_obj > __new() {
+ ::hx::ObjectPtr< CFB_obj > __this = new CFB_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< CFB_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ CFB_obj *__this = (CFB_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CFB_obj), false, "haxe.crypto.mode.CFB"));
+ *(void **)__this = CFB_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CFB_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("CFB",3f,14,33,00); }
+
+ static void encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_CFB */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/CMAC.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/CMAC.h
new file mode 100644
index 0000000..10a993b
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/CMAC.h
@@ -0,0 +1,71 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_CMAC
+#define INCLUDED_haxe_crypto_mode_CMAC
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,CMAC)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES CMAC_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CMAC_obj OBJ_;
+ CMAC_obj();
+
+ public:
+ enum { _hx_ClassId = 0x0153bffa };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.CMAC")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.CMAC"); }
+
+ inline static ::hx::ObjectPtr< CMAC_obj > __new() {
+ ::hx::ObjectPtr< CMAC_obj > __this = new CMAC_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< CMAC_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ CMAC_obj *__this = (CMAC_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CMAC_obj), false, "haxe.crypto.mode.CMAC"));
+ *(void **)__this = CMAC_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CMAC_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("CMAC",0c,f2,83,2c); }
+
+ static ::haxe::io::Bytes generate( ::haxe::io::Bytes message, ::haxe::io::Bytes key,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic generate_dyn();
+
+ static ::Dynamic generateSubkeys( ::haxe::io::Bytes key,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic generateSubkeys_dyn();
+
+ static ::haxe::io::Bytes leftShiftOnebit( ::haxe::io::Bytes input);
+ static ::Dynamic leftShiftOnebit_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_CMAC */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/CTR.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/CTR.h
new file mode 100644
index 0000000..d20ac9b
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/CTR.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#define INCLUDED_haxe_crypto_mode_CTR
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,CTR)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES CTR_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef CTR_obj OBJ_;
+ CTR_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1013ea53 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.CTR")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.CTR"); }
+
+ inline static ::hx::ObjectPtr< CTR_obj > __new() {
+ ::hx::ObjectPtr< CTR_obj > __this = new CTR_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< CTR_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ CTR_obj *__this = (CTR_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(CTR_obj), false, "haxe.crypto.mode.CTR"));
+ *(void **)__this = CTR_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~CTR_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("CTR",81,20,33,00); }
+
+ static void encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_CTR */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/EAX.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/EAX.h
new file mode 100644
index 0000000..410f995
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/EAX.h
@@ -0,0 +1,74 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_EAX
+#define INCLUDED_haxe_crypto_mode_EAX
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,EAX)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES EAX_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef EAX_obj OBJ_;
+ EAX_obj();
+
+ public:
+ enum { _hx_ClassId = 0x10155e4e };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.EAX")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.EAX"); }
+
+ inline static ::hx::ObjectPtr< EAX_obj > __new() {
+ ::hx::ObjectPtr< EAX_obj > __this = new EAX_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< EAX_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ EAX_obj *__this = (EAX_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EAX_obj), false, "haxe.crypto.mode.EAX"));
+ *(void **)__this = EAX_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~EAX_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("EAX",7c,94,34,00); }
+
+ static ::haxe::io::Bytes encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock,::Array< ::Dynamic> aad);
+ static ::Dynamic encrypt_dyn();
+
+ static ::haxe::io::Bytes decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock,::Array< ::Dynamic> aad);
+ static ::Dynamic decrypt_dyn();
+
+ static ::haxe::io::Bytes omac(int t, ::haxe::io::Bytes message, ::haxe::io::Bytes key, ::Dynamic encryptBlock);
+ static ::Dynamic omac_dyn();
+
+ static bool constantTimeEquals( ::haxe::io::Bytes a, ::haxe::io::Bytes b);
+ static ::Dynamic constantTimeEquals_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_EAX */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/ECB.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/ECB.h
new file mode 100644
index 0000000..a75d785
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/ECB.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_ECB
+#define INCLUDED_haxe_crypto_mode_ECB
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,ECB)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES ECB_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ECB_obj OBJ_;
+ ECB_obj();
+
+ public:
+ enum { _hx_ClassId = 0x10155ff6 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.ECB")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.ECB"); }
+
+ inline static ::hx::ObjectPtr< ECB_obj > __new() {
+ ::hx::ObjectPtr< ECB_obj > __this = new ECB_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< ECB_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ ECB_obj *__this = (ECB_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ECB_obj), false, "haxe.crypto.mode.ECB"));
+ *(void **)__this = ECB_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ECB_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("ECB",24,96,34,00); }
+
+ static void encrypt( ::haxe::io::Bytes src,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_ECB */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/GCM.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/GCM.h
new file mode 100644
index 0000000..116fb9a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/GCM.h
@@ -0,0 +1,89 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_GCM
+#define INCLUDED_haxe_crypto_mode_GCM
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,GCM)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES GCM_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef GCM_obj OBJ_;
+ GCM_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1016e483 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.GCM")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.GCM"); }
+
+ inline static ::hx::ObjectPtr< GCM_obj > __new() {
+ ::hx::ObjectPtr< GCM_obj > __this = new GCM_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< GCM_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ GCM_obj *__this = (GCM_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(GCM_obj), false, "haxe.crypto.mode.GCM"));
+ *(void **)__this = GCM_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~GCM_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("GCM",b1,1a,36,00); }
+
+ static ::haxe::io::Bytes encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static ::haxe::io::Bytes decrypt( ::haxe::io::Bytes ciphertextWithTag, ::haxe::io::Bytes iv, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+ static ::haxe::io::Bytes calculateJ0( ::haxe::io::Bytes H, ::haxe::io::Bytes iv);
+ static ::Dynamic calculateJ0_dyn();
+
+ static ::haxe::io::Bytes incrementCounter( ::haxe::io::Bytes counter);
+ static ::Dynamic incrementCounter_dyn();
+
+ static ::haxe::io::Bytes calculateTag( ::haxe::io::Bytes H, ::haxe::io::Bytes aad, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes J0, ::Dynamic encryptBlock);
+ static ::Dynamic calculateTag_dyn();
+
+ static ::haxe::io::Bytes ghash( ::haxe::io::Bytes H, ::haxe::io::Bytes aad, ::haxe::io::Bytes ciphertext);
+ static ::Dynamic ghash_dyn();
+
+ static ::haxe::io::Bytes ghashUpdate( ::haxe::io::Bytes H, ::haxe::io::Bytes state, ::haxe::io::Bytes data);
+ static ::Dynamic ghashUpdate_dyn();
+
+ static ::haxe::io::Bytes gmult( ::haxe::io::Bytes X, ::haxe::io::Bytes Y);
+ static ::Dynamic gmult_dyn();
+
+ static bool constantTimeCompare( ::haxe::io::Bytes a, ::haxe::io::Bytes b);
+ static ::Dynamic constantTimeCompare_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_GCM */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/GCMSIV.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/GCMSIV.h
new file mode 100644
index 0000000..09ac765
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/GCMSIV.h
@@ -0,0 +1,92 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_GCMSIV
+#define INCLUDED_haxe_crypto_mode_GCMSIV
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,GCMSIV)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES GCMSIV_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef GCMSIV_obj OBJ_;
+ GCMSIV_obj();
+
+ public:
+ enum { _hx_ClassId = 0x5dcabbf9 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.GCMSIV")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.GCMSIV"); }
+
+ inline static ::hx::ObjectPtr< GCMSIV_obj > __new() {
+ ::hx::ObjectPtr< GCMSIV_obj > __this = new GCMSIV_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< GCMSIV_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ GCMSIV_obj *__this = (GCMSIV_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(GCMSIV_obj), false, "haxe.crypto.mode.GCMSIV"));
+ *(void **)__this = GCMSIV_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~GCMSIV_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static bool __SetStatic(const ::String &inString, Dynamic &ioValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("GCMSIV",ef,24,54,2a); }
+
+ static void __boot();
+ static int AES_BLOCK_SIZE;
+ static int NONCE_SIZE;
+ static ::cpp::Int64 E;
+ static ::cpp::Int64 h0;
+ static ::cpp::Int64 h1;
+ static ::cpp::Int64 s0;
+ static ::cpp::Int64 s1;
+ static ::haxe::io::Bytes encrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes nonce, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic encrypt_dyn();
+
+ static ::haxe::io::Bytes decrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes nonce, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic decrypt_dyn();
+
+ static ::haxe::io::Bytes subKey(int ctrStart,int ctrEnd, ::haxe::io::Bytes nonce, ::Dynamic encryptBlock);
+ static ::Dynamic subKey_dyn();
+
+ static ::haxe::io::Bytes hash( ::haxe::io::Bytes encKey, ::haxe::io::Bytes authKey, ::haxe::io::Bytes nonce, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock);
+ static ::Dynamic hash_dyn();
+
+ static void initPolyval( ::haxe::io::Bytes authKey);
+ static ::Dynamic initPolyval_dyn();
+
+ static void updateBlockPolyval( ::haxe::io::Bytes b,int offset);
+ static ::Dynamic updateBlockPolyval_dyn();
+
+ static void aesCTR( ::haxe::io::Bytes key, ::haxe::io::Bytes tag, ::haxe::io::Bytes input, ::haxe::io::Bytes output, ::Dynamic encryptBlock);
+ static ::Dynamic aesCTR_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_GCMSIV */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/OFB.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/OFB.h
new file mode 100644
index 0000000..1788e13
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/OFB.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_OFB
+#define INCLUDED_haxe_crypto_mode_OFB
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,OFB)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES OFB_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef OFB_obj OBJ_;
+ OFB_obj();
+
+ public:
+ enum { _hx_ClassId = 0x101cf91d };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.OFB")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.OFB"); }
+
+ inline static ::hx::ObjectPtr< OFB_obj > __new() {
+ ::hx::ObjectPtr< OFB_obj > __this = new OFB_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< OFB_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ OFB_obj *__this = (OFB_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OFB_obj), false, "haxe.crypto.mode.OFB"));
+ *(void **)__this = OFB_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~OFB_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("OFB",4b,2f,3c,00); }
+
+ static void encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_OFB */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/PCBC.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/PCBC.h
new file mode 100644
index 0000000..6b8469a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/PCBC.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_PCBC
+#define INCLUDED_haxe_crypto_mode_PCBC
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,PCBC)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES PCBC_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef PCBC_obj OBJ_;
+ PCBC_obj();
+
+ public:
+ enum { _hx_ClassId = 0x09e3f062 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.PCBC")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.PCBC"); }
+
+ inline static ::hx::ObjectPtr< PCBC_obj > __new() {
+ ::hx::ObjectPtr< PCBC_obj > __this = new PCBC_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< PCBC_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ PCBC_obj *__this = (PCBC_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PCBC_obj), false, "haxe.crypto.mode.PCBC"));
+ *(void **)__this = PCBC_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~PCBC_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("PCBC",74,22,14,35); }
+
+ static void encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock);
+ static ::Dynamic encrypt_dyn();
+
+ static void decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock);
+ static ::Dynamic decrypt_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_PCBC */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/mode/SIV.h b/Sources/c_borogove/iinclude/haxe/crypto/mode/SIV.h
new file mode 100644
index 0000000..c2fd964
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/mode/SIV.h
@@ -0,0 +1,86 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_mode_SIV
+#define INCLUDED_haxe_crypto_mode_SIV
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,mode,SIV)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+
+class HXCPP_CLASS_ATTRIBUTES SIV_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef SIV_obj OBJ_;
+ SIV_obj();
+
+ public:
+ enum { _hx_ClassId = 0x102004d2 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.mode.SIV")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.mode.SIV"); }
+
+ inline static ::hx::ObjectPtr< SIV_obj > __new() {
+ ::hx::ObjectPtr< SIV_obj > __this = new SIV_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< SIV_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ SIV_obj *__this = (SIV_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SIV_obj), false, "haxe.crypto.mode.SIV"));
+ *(void **)__this = SIV_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~SIV_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("SIV",00,3b,3f,00); }
+
+ static ::haxe::io::Bytes encrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes nonce,::Array< ::Dynamic> associatedData, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic encrypt_dyn();
+
+ static ::haxe::io::Bytes decrypt( ::haxe::io::Bytes combinedKey, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes nonce,::Array< ::Dynamic> associatedData, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic decrypt_dyn();
+
+ static ::haxe::io::Bytes computeCtr( ::haxe::io::Bytes input, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic computeCtr_dyn();
+
+ static ::haxe::io::Bytes s2v( ::haxe::io::Bytes macKey, ::haxe::io::Bytes plaintext,::Array< ::Dynamic> associatedData, ::haxe::io::Bytes nonce, ::Dynamic encryptBlock, ::Dynamic initKey);
+ static ::Dynamic s2v_dyn();
+
+ static int shiftLeft( ::haxe::io::Bytes block, ::haxe::io::Bytes output);
+ static ::Dynamic shiftLeft_dyn();
+
+ static ::haxe::io::Bytes dbl( ::haxe::io::Bytes input);
+ static ::Dynamic dbl_dyn();
+
+ static ::haxe::io::Bytes _hx_xor( ::haxe::io::Bytes in1, ::haxe::io::Bytes in2);
+ static ::Dynamic _hx_xor_dyn();
+
+ static ::haxe::io::Bytes xorend( ::haxe::io::Bytes in1, ::haxe::io::Bytes in2);
+ static ::Dynamic xorend_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
+
+#endif /* INCLUDED_haxe_crypto_mode_SIV */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/AnsiX923.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/AnsiX923.h
new file mode 100644
index 0000000..11ae283
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/AnsiX923.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_AnsiX923
+#define INCLUDED_haxe_crypto_padding_AnsiX923
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,AnsiX923)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES AnsiX923_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef AnsiX923_obj OBJ_;
+ AnsiX923_obj();
+
+ public:
+ enum { _hx_ClassId = 0x16ad6123 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.AnsiX923")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.AnsiX923"); }
+
+ inline static ::hx::ObjectPtr< AnsiX923_obj > __new() {
+ ::hx::ObjectPtr< AnsiX923_obj > __this = new AnsiX923_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< AnsiX923_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ AnsiX923_obj *__this = (AnsiX923_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AnsiX923_obj), false, "haxe.crypto.padding.AnsiX923"));
+ *(void **)__this = AnsiX923_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~AnsiX923_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("AnsiX923",45,9b,7b,0e); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_AnsiX923 */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/BitPadding.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/BitPadding.h
new file mode 100644
index 0000000..987b953
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/BitPadding.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_BitPadding
+#define INCLUDED_haxe_crypto_padding_BitPadding
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,BitPadding)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES BitPadding_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef BitPadding_obj OBJ_;
+ BitPadding_obj();
+
+ public:
+ enum { _hx_ClassId = 0x317f63e6 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.BitPadding")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.BitPadding"); }
+
+ inline static ::hx::ObjectPtr< BitPadding_obj > __new() {
+ ::hx::ObjectPtr< BitPadding_obj > __this = new BitPadding_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< BitPadding_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ BitPadding_obj *__this = (BitPadding_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(BitPadding_obj), false, "haxe.crypto.padding.BitPadding"));
+ *(void **)__this = BitPadding_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~BitPadding_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("BitPadding",a4,30,e1,a0); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_BitPadding */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/ISO10126.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/ISO10126.h
new file mode 100644
index 0000000..9c2282b
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/ISO10126.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_ISO10126
+#define INCLUDED_haxe_crypto_padding_ISO10126
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,ISO10126)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES ISO10126_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ISO10126_obj OBJ_;
+ ISO10126_obj();
+
+ public:
+ enum { _hx_ClassId = 0x5b3681fb };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.ISO10126")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.ISO10126"); }
+
+ inline static ::hx::ObjectPtr< ISO10126_obj > __new() {
+ ::hx::ObjectPtr< ISO10126_obj > __this = new ISO10126_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< ISO10126_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ ISO10126_obj *__this = (ISO10126_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ISO10126_obj), false, "haxe.crypto.padding.ISO10126"));
+ *(void **)__this = ISO10126_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ISO10126_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("ISO10126",71,91,8b,b7); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_ISO10126 */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/NoPadding.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/NoPadding.h
new file mode 100644
index 0000000..a00f40e
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/NoPadding.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_NoPadding
+#define INCLUDED_haxe_crypto_padding_NoPadding
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,NoPadding)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES NoPadding_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef NoPadding_obj OBJ_;
+ NoPadding_obj();
+
+ public:
+ enum { _hx_ClassId = 0x422383a6 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.NoPadding")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.NoPadding"); }
+
+ inline static ::hx::ObjectPtr< NoPadding_obj > __new() {
+ ::hx::ObjectPtr< NoPadding_obj > __this = new NoPadding_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< NoPadding_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ NoPadding_obj *__this = (NoPadding_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(NoPadding_obj), false, "haxe.crypto.padding.NoPadding"));
+ *(void **)__this = NoPadding_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~NoPadding_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("NoPadding",70,fb,3b,b0); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_NoPadding */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/NullPadding.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/NullPadding.h
new file mode 100644
index 0000000..363249e
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/NullPadding.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_NullPadding
+#define INCLUDED_haxe_crypto_padding_NullPadding
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,NullPadding)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES NullPadding_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef NullPadding_obj OBJ_;
+ NullPadding_obj();
+
+ public:
+ enum { _hx_ClassId = 0x63beeba0 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.NullPadding")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.NullPadding"); }
+
+ inline static ::hx::ObjectPtr< NullPadding_obj > __new() {
+ ::hx::ObjectPtr< NullPadding_obj > __this = new NullPadding_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< NullPadding_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ NullPadding_obj *__this = (NullPadding_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(NullPadding_obj), false, "haxe.crypto.padding.NullPadding"));
+ *(void **)__this = NullPadding_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~NullPadding_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("NullPadding",ea,69,bc,e2); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_NullPadding */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/PKCS7.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/PKCS7.h
new file mode 100644
index 0000000..2118cda
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/PKCS7.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_PKCS7
+#define INCLUDED_haxe_crypto_padding_PKCS7
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,PKCS7)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES PKCS7_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef PKCS7_obj OBJ_;
+ PKCS7_obj();
+
+ public:
+ enum { _hx_ClassId = 0x15a0ad06 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.PKCS7")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.PKCS7"); }
+
+ inline static ::hx::ObjectPtr< PKCS7_obj > __new() {
+ ::hx::ObjectPtr< PKCS7_obj > __this = new PKCS7_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< PKCS7_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ PKCS7_obj *__this = (PKCS7_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(PKCS7_obj), false, "haxe.crypto.padding.PKCS7"));
+ *(void **)__this = PKCS7_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~PKCS7_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("PKCS7",6c,88,d4,41); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_PKCS7 */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/SpacePadding.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/SpacePadding.h
new file mode 100644
index 0000000..0d2a9b5
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/SpacePadding.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_SpacePadding
+#define INCLUDED_haxe_crypto_padding_SpacePadding
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,SpacePadding)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES SpacePadding_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef SpacePadding_obj OBJ_;
+ SpacePadding_obj();
+
+ public:
+ enum { _hx_ClassId = 0x4ec10871 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.SpacePadding")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.SpacePadding"); }
+
+ inline static ::hx::ObjectPtr< SpacePadding_obj > __new() {
+ ::hx::ObjectPtr< SpacePadding_obj > __this = new SpacePadding_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< SpacePadding_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ SpacePadding_obj *__this = (SpacePadding_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SpacePadding_obj), false, "haxe.crypto.padding.SpacePadding"));
+ *(void **)__this = SpacePadding_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~SpacePadding_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("SpacePadding",cb,05,a8,50); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_SpacePadding */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/padding/TBC.h b/Sources/c_borogove/iinclude/haxe/crypto/padding/TBC.h
new file mode 100644
index 0000000..101c55a
--- /dev/null
+++ b/Sources/c_borogove/iinclude/haxe/crypto/padding/TBC.h
@@ -0,0 +1,68 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_haxe_crypto_padding_TBC
+#define INCLUDED_haxe_crypto_padding_TBC
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(haxe,crypto,padding,TBC)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
+
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+
+class HXCPP_CLASS_ATTRIBUTES TBC_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef TBC_obj OBJ_;
+ TBC_obj();
+
+ public:
+ enum { _hx_ClassId = 0x1629e12f };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="haxe.crypto.padding.TBC")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"haxe.crypto.padding.TBC"); }
+
+ inline static ::hx::ObjectPtr< TBC_obj > __new() {
+ ::hx::ObjectPtr< TBC_obj > __this = new TBC_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< TBC_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ TBC_obj *__this = (TBC_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(TBC_obj), false, "haxe.crypto.padding.TBC"));
+ *(void **)__this = TBC_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~TBC_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("TBC",15,f7,3f,00); }
+
+ static ::haxe::io::Bytes pad( ::haxe::io::Bytes ciphertext,int blockSize);
+ static ::Dynamic pad_dyn();
+
+ static ::haxe::io::Bytes unpad( ::haxe::io::Bytes encrypt);
+ static ::Dynamic unpad_dyn();
+
+};
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
+
+#endif /* INCLUDED_haxe_crypto_padding_TBC */
diff --git a/Sources/c_borogove/iinclude/haxe/crypto/random/SecureRandom.h b/Sources/c_borogove/iinclude/haxe/crypto/random/SecureRandom.h
index ee9a36a..1217348 100644
--- a/Sources/c_borogove/iinclude/haxe/crypto/random/SecureRandom.h
+++ b/Sources/c_borogove/iinclude/haxe/crypto/random/SecureRandom.h
@@ -7,6 +7,7 @@
#endif
HX_DECLARE_CLASS3(haxe,crypto,random,SecureRandom)
+HX_DECLARE_CLASS2(haxe,io,Bytes)
namespace haxe{
namespace crypto{
@@ -61,12 +62,21 @@ class HXCPP_CLASS_ATTRIBUTES SecureRandom_obj : public ::hx::Object
static int _hx_int();
static ::Dynamic _hx_int_dyn();
+ static ::haxe::io::Bytes bytes(int length);
+ static ::Dynamic bytes_dyn();
+
static int sysInt();
static ::Dynamic sysInt_dyn();
+ static ::haxe::io::Bytes sysBytes(int length);
+ static ::Dynamic sysBytes_dyn();
+
static int winInt();
static ::Dynamic winInt_dyn();
+ static ::haxe::io::Bytes winBytes(int length);
+ static ::Dynamic winBytes_dyn();
+
};
} // end namespace haxe
diff --git a/Sources/c_borogove/iinclude/haxe/io/Input.h b/Sources/c_borogove/iinclude/haxe/io/Input.h
index 8e88cce..1348faa 100644
--- a/Sources/c_borogove/iinclude/haxe/io/Input.h
+++ b/Sources/c_borogove/iinclude/haxe/io/Input.h
@@ -70,6 +70,9 @@ class HXCPP_CLASS_ATTRIBUTES Input_obj : public ::hx::Object
::haxe::io::Bytes readAll( ::Dynamic bufsize);
::Dynamic readAll_dyn();
+ ::haxe::io::Bytes read(int nbytes);
+ ::Dynamic read_dyn();
+
int readInt32();
::Dynamic readInt32_dyn();
diff --git a/Sources/c_borogove/iinclude/haxe/io/Output.h b/Sources/c_borogove/iinclude/haxe/io/Output.h
index 7fc6dc3..b3ae8e6 100644
--- a/Sources/c_borogove/iinclude/haxe/io/Output.h
+++ b/Sources/c_borogove/iinclude/haxe/io/Output.h
@@ -62,9 +62,6 @@ class HXCPP_CLASS_ATTRIBUTES Output_obj : public ::hx::Object
virtual void close();
::Dynamic close_dyn();
- void write( ::haxe::io::Bytes s);
- ::Dynamic write_dyn();
-
void writeFullBytes( ::haxe::io::Bytes s,int pos,int len);
::Dynamic writeFullBytes_dyn();
diff --git a/Sources/c_borogove/iinclude/haxe/io/Path.h b/Sources/c_borogove/iinclude/haxe/io/Path.h
index c3b75d8..275f648 100644
--- a/Sources/c_borogove/iinclude/haxe/io/Path.h
+++ b/Sources/c_borogove/iinclude/haxe/io/Path.h
@@ -48,6 +48,9 @@ class HXCPP_CLASS_ATTRIBUTES Path_obj : public ::hx::Object
static ::String withoutDirectory(::String path);
static ::Dynamic withoutDirectory_dyn();
+ static ::String extension(::String path);
+ static ::Dynamic extension_dyn();
+
static ::String join(::Array< ::String > paths);
static ::Dynamic join_dyn();
diff --git a/Sources/c_borogove/iinclude/hx/Anon.h b/Sources/c_borogove/iinclude/hx/Anon.h
index f41e2ee..7de5544 100644
--- a/Sources/c_borogove/iinclude/hx/Anon.h
+++ b/Sources/c_borogove/iinclude/hx/Anon.h
@@ -114,26 +114,26 @@ public:
void operator delete( void *, int) { }
- hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp);
- bool __HasField(const String &inString);
- hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp);
- virtual void __GetFields(Array<String> &outFields);
- Dynamic *__GetFieldMap() { return &mFields; }
+ hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
+ bool __HasField(const String &inString) HXCPP_OVERRIDE;
+ hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
+ void __GetFields(Array<String> &outFields) HXCPP_OVERRIDE;
+ Dynamic *__GetFieldMap() HXCPP_OVERRIDE { return &mFields; }
- virtual int __GetType() const { return vtObject; }
+ int __GetType() const HXCPP_OVERRIDE { return vtObject; }
hx::Anon_obj *Add(const String &inName,const Dynamic &inValue,bool inSetThisPointer=true);
- void __Mark(hx::MarkContext *__inCtx);
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE;
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx);
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE;
#endif
- String __ToString() const;
- String toString();
+ String __ToString() const HXCPP_OVERRIDE;
+ String toString() HXCPP_OVERRIDE;
static hx::ObjectPtr<hx::Class_obj> __mClass; \
static hx::ObjectPtr<hx::Class_obj> &__SGetClass() { return __mClass; }
- hx::ObjectPtr<hx::Class_obj > __GetClass() const { return __mClass; }
+ hx::ObjectPtr<hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; }
bool __Remove(String inKey);
};
@@ -227,7 +227,7 @@ public:
}
return result;
}
- hx::Val __Field(const String &inField, hx::PropertyAccess)
+ hx::Val __Field(const String &inField, hx::PropertyAccess) HXCPP_OVERRIDE
{
if (inField.__s==name0.__s) return t0;
if (inField.__s==name1.__s) return t1;
@@ -241,7 +241,7 @@ public:
if (HX_QSTR_EQ_AE(inField,name1)) return t1;
return null();
}
- hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp)
+ hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (inField.__s==name0.__s) {
t0 = inValue.Cast< _hx_T0 >();
@@ -276,26 +276,26 @@ public:
return inValue;
}
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_MEMBER(t0);
HX_MARK_MEMBER(t1);
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
HX_VISIT_MEMBER(t0);
HX_VISIT_MEMBER(t1);
}
#endif
- void __GetFields(Array<String> &outFields)
+ void __GetFields(Array<String> &outFields) HXCPP_OVERRIDE
{
outFields->push(name0);
outFields->push(name1);
}
- String toString() { return StringFromAnonFields(this); }
+ String toString() HXCPP_OVERRIDE { return StringFromAnonFields(this); }
};
@@ -330,7 +330,7 @@ public:
}
return result;
}
- hx::Val __Field(const String &inField, hx::PropertyAccess)
+ hx::Val __Field(const String &inField, hx::PropertyAccess) HXCPP_OVERRIDE
{
if (inField.__s==name0.__s) return t0;
if (inField.__s==name1.__s) return t1;
@@ -344,7 +344,7 @@ public:
if (HX_QSTR_EQ_AE(inField,name2)) return t2;
return null();
}
- hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp)
+ hx::Val __SetField(const String &inField,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (inField.__s==name0.__s) {
t0 = inValue.Cast< _hx_T0 >();
@@ -394,14 +394,14 @@ public:
return inValue;
}
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_MEMBER(t0);
HX_MARK_MEMBER(t1);
HX_MARK_MEMBER(t2);
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
HX_VISIT_MEMBER(t0);
HX_VISIT_MEMBER(t1);
@@ -409,14 +409,14 @@ public:
}
#endif
- void __GetFields(Array<String> &outFields)
+ void __GetFields(Array<String> &outFields) HXCPP_OVERRIDE
{
outFields->push(name0);
outFields->push(name1);
outFields->push(name2);
}
- String toString() { return StringFromAnonFields(this); }
+ String toString() HXCPP_OVERRIDE { return StringFromAnonFields(this); }
};
@@ -516,7 +516,7 @@ public:
t1 = inValue.Cast< _hx_T1 >();
if (hx::ContainsPointers<_hx_T1>()) {
HX_OBJ_WB_GET(this, hx::PointerOf(t1));
- }
+ }
return inValue;
}
if (HX_QSTR_EQ(inField,name2)) {
diff --git a/Sources/c_borogove/iinclude/hx/CFFILoader.h b/Sources/c_borogove/iinclude/hx/CFFILoader.h
index ed95f1f..eca1e0a 100644
--- a/Sources/c_borogove/iinclude/hx/CFFILoader.h
+++ b/Sources/c_borogove/iinclude/hx/CFFILoader.h
@@ -127,7 +127,7 @@ extern "C" ret name def_args;
struct DynAlloc : public hx::IStringAlloc
{
#define WANT_DYNALLOC_ALLOC_BYTES
- void *allocBytes(size_t n);
+ void *allocBytes(size_t n) HXCPP_OVERRIDE;
};
diff --git a/Sources/c_borogove/iinclude/hx/CFFIPrime.h b/Sources/c_borogove/iinclude/hx/CFFIPrime.h
index 2e597fd..88481f8 100644
--- a/Sources/c_borogove/iinclude/hx/CFFIPrime.h
+++ b/Sources/c_borogove/iinclude/hx/CFFIPrime.h
@@ -542,247 +542,252 @@ struct AutoValue
#elif defined(STATIC_LINK)
+#if defined(HXCPP_STATIC_CFFI) || defined(HXCPP_NO_PRIME_EXPORT)
+#define PRIME_EXPORT
+#else
+#define PRIME_EXPORT EXPORT
+#endif
#define DEFINE_PRIME0(func) extern "C" { \
- EXPORT value func##__prime(const char *inSig) { \
+ PRIME_EXPORT value func##__prime(const char *inSig) { \
if (!cffi::CheckSig0(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap() { return cffi::ToValue( func() ); } \
- EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__0",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME0v(func) extern "C" { \
- EXPORT value func##__prime(const char *inSig) { \
+ PRIME_EXPORT value func##__prime(const char *inSig) { \
if (!cffi::CheckSig0(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap() { func(); return alloc_null(); } \
- EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__0() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__0",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME1(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig1(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL1) { return cffi::ToValue( func(PRIME_ARG_LIST1) ); } \
- EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__1",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME1v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig1(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL1) { func(PRIME_ARG_LIST1); return alloc_null(); } \
- EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__1() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__1",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME2(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig2(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL2) { return cffi::ToValue( func(PRIME_ARG_LIST2) ); } \
- EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__2",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME2v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig2(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL2) { func(PRIME_ARG_LIST2); return alloc_null(); } \
- EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__2() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__2",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME3(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig3(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL3) { return cffi::ToValue( func(PRIME_ARG_LIST3) ); } \
- EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__3",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME3v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig3(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL3) { func(PRIME_ARG_LIST3); return alloc_null(); } \
- EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__3() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__3",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME4(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig4(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL4) { return cffi::ToValue( func(PRIME_ARG_LIST4) ); } \
- EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__4",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME4v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig4(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL4) { func(PRIME_ARG_LIST4); return alloc_null(); } \
- EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__4() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__4",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME5(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig5(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL5) { return cffi::ToValue( func(PRIME_ARG_LIST5) ); } \
- EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__5",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME5v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig5(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(PRIME_ARG_DECL5) { func(PRIME_ARG_LIST5); return alloc_null(); } \
- EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__5() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__5",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME6(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig6(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST6) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME6v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig6(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST6); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME7(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig7(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST7) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME7v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig7(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST7); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME8(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig8(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST8) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME8v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig8(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST8); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME9(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig9(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST9) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME9v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig9(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST9); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME10(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig10(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST10) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME10v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig10(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST10); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME11(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig11(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST11) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME11v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig11(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST11); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME12(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig12(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST12) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME12v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig12(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST12); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
@@ -790,38 +795,38 @@ struct AutoValue
#define DEFINE_PRIME13(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig13(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST13) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME13v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig13(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST13); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME14(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig14(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST14) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME14v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig14(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST14); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
@@ -829,19 +834,19 @@ struct AutoValue
#define DEFINE_PRIME15(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig15(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg,int) { return cffi::ToValue( func(PRIME_ARG_LIST15) ); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
#define DEFINE_PRIME15v(func) extern "C" { \
- EXPORT void *func##__prime(const char *inSig) { \
+ PRIME_EXPORT void *func##__prime(const char *inSig) { \
if (!cffi::CheckSig15(func,inSig)) return 0; return cffi::alloc_pointer((void*)&func); } \
value func##__wrap(cffi::AutoValue *arg, int) { func(PRIME_ARG_LIST15); return alloc_null(); } \
- EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
+ PRIME_EXPORT void *func##__MULT() { return (void*)(&func##__wrap); } \
int __reg_##func##__prime = hx_register_prim(#func "__prime",(void *)(&func##__prime)); \
int __reg_##func = hx_register_prim(#func "__MULT",(void *)(&func##__wrap)); \
}
diff --git a/Sources/c_borogove/iinclude/hx/Class.h b/Sources/c_borogove/iinclude/hx/Class.h
index adaed2e..1514fcc 100644
--- a/Sources/c_borogove/iinclude/hx/Class.h
+++ b/Sources/c_borogove/iinclude/hx/Class.h
@@ -125,7 +125,7 @@ public:
#endif
);
- String __ToString() const;
+ String __ToString() const HXCPP_OVERRIDE;
void MarkStatics(hx::MarkContext *__inCtx);
@@ -136,22 +136,22 @@ public:
static ::Array< ::String > dupFunctions(String inStatics[]);
// the "Class class"
- hx::Class __GetClass() const;
+ hx::Class __GetClass() const HXCPP_OVERRIDE;
static hx::Class & __SGetClass();
static void __boot();
- hx::Val __Field(const String &inString ,hx::PropertyAccess inCallProp);
+ hx::Val __Field(const String &inString,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
- hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp);
+ hx::Val __SetField(const String &inString,const hx::Val &inValue ,hx::PropertyAccess inCallProp) HXCPP_OVERRIDE;
- bool __HasField(const String &inString);
+ bool __HasField(const String &inString) HXCPP_OVERRIDE;
virtual Dynamic ConstructEmpty();
virtual Dynamic ConstructArgs(hx::DynamicArray inArgs);
virtual Dynamic ConstructEnum(String inName,hx::DynamicArray inArgs);
virtual bool VCanCast(hx::Object *inPtr) { return false; }
- int __GetType() const { return vtObject; }
+ int __GetType() const HXCPP_OVERRIDE { return vtObject; }
virtual bool __IsEnum();
@@ -283,7 +283,7 @@ HXCPP_EXTERN_CLASS_ATTRIBUTES void RegisterVTableOffset(int inOffset);
{ \
CLASS *dummy = (CLASS *)0; \
INTERFACE *intf = dummy; \
- hx::RegisterVTableOffset( (int)( (size_t)((char *)intf - (char *)dummy)) ); \
+ ::hx::RegisterVTableOffset( (int)( (size_t)((char *)intf - (char *)dummy)) ); \
}
diff --git a/Sources/c_borogove/iinclude/hx/Debug.h b/Sources/c_borogove/iinclude/hx/Debug.h
index 1e0ee22..903468f 100644
--- a/Sources/c_borogove/iinclude/hx/Debug.h
+++ b/Sources/c_borogove/iinclude/hx/Debug.h
@@ -216,6 +216,11 @@ private:
bool (*mTestFunction)(Dynamic e);
};
+#if defined(HXCPP_SCRIPTABLE) && (HXCPP_API_LEVEL >= 500)
+// This is the function to call when a new script has been loaded.
+// Signature: Void -> Void
+extern Dynamic g_onScriptLoadedFunction;
+#endif
#endif // HXCPP_DEBUGGER
@@ -298,6 +303,9 @@ void __hxcpp_dbg_setNewStackFrameFunction(Dynamic function);
void __hxcpp_dbg_setNewThreadInfoFunction(Dynamic function);
void __hxcpp_dbg_setAddParameterToStackFrameFunction(Dynamic function);
void __hxcpp_dbg_setAddStackFrameToThreadInfoFunction(Dynamic function);
+#if defined(HXCPP_SCRIPTABLE) && (HXCPP_API_LEVEL >= 500)
+void __hxcpp_dbg_setOnScriptLoadedFunction(Dynamic function);
+#endif
bool __hxcpp_dbg_fix_critical_error(String inErr);
@@ -351,6 +359,9 @@ inline void __hxcpp_dbg_setNewStackFrameFunction(Dynamic) { }
inline void __hxcpp_dbg_setNewThreadInfoFunction(Dynamic) { }
inline void __hxcpp_dbg_setAddParameterToStackFrameFunction(Dynamic) { }
inline void __hxcpp_dbg_setAddStackFrameToThreadInfoFunction(Dynamic) { }
+#if defined(HXCPP_SCRIPTABLE) && (HXCPP_API_LEVEL >= 500)
+inline void __hxcpp_dbg_setOnScriptLoadedFunction(Dynamic) { }
+#endif
// The following functions are called by Thread.cpp to notify of thread
// created and terminated
diff --git a/Sources/c_borogove/iinclude/hx/DynamicImpl.h b/Sources/c_borogove/iinclude/hx/DynamicImpl.h
index 7661253..b10f40f 100644
--- a/Sources/c_borogove/iinclude/hx/DynamicImpl.h
+++ b/Sources/c_borogove/iinclude/hx/DynamicImpl.h
@@ -26,7 +26,7 @@ struct CMemberFunction0 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction0 *other = dynamic_cast<const CMemberFunction0 *>(inRHS);
if (!other)
@@ -34,26 +34,28 @@ struct CMemberFunction0 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 0; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction0.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 0; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction0.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr());
}
- Dynamic __run()
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run() HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr());
}
+#endif
};
@@ -71,7 +73,7 @@ struct CStaticFunction0 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction0 *other = dynamic_cast<const CStaticFunction0 *>(inRHS);
if (!other)
@@ -79,17 +81,19 @@ struct CStaticFunction0 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 0; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 0; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction();
}
- Dynamic __run()
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run() HXCPP_OVERRIDE
{
return mFunction();
}
+#endif
};
@@ -123,7 +127,7 @@ struct CMemberFunction1 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction1 *other = dynamic_cast<const CMemberFunction1 *>(inRHS);
if (!other)
@@ -131,26 +135,28 @@ struct CMemberFunction1 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 1; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction1.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 1; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction1.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs[0]);
}
- Dynamic __run(const Dynamic &inArg0)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArg0);
}
+#endif
};
@@ -168,7 +174,7 @@ struct CStaticFunction1 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction1 *other = dynamic_cast<const CStaticFunction1 *>(inRHS);
if (!other)
@@ -176,17 +182,19 @@ struct CStaticFunction1 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 1; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 1; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs[0]);
}
- Dynamic __run(const Dynamic &inArg0)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0) HXCPP_OVERRIDE
{
return mFunction(inArg0);
}
+#endif
};
@@ -220,7 +228,7 @@ struct CMemberFunction2 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction2 *other = dynamic_cast<const CMemberFunction2 *>(inRHS);
if (!other)
@@ -228,26 +236,28 @@ struct CMemberFunction2 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 2; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction2.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 2; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction2.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArg0,inArg1);
}
+#endif
};
@@ -265,7 +275,7 @@ struct CStaticFunction2 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction2 *other = dynamic_cast<const CStaticFunction2 *>(inRHS);
if (!other)
@@ -273,17 +283,19 @@ struct CStaticFunction2 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 2; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 2; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs[0],inArgs[1]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1) HXCPP_OVERRIDE
{
return mFunction(inArg0,inArg1);
}
+#endif
};
@@ -317,7 +329,7 @@ struct CMemberFunction3 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction3 *other = dynamic_cast<const CMemberFunction3 *>(inRHS);
if (!other)
@@ -325,26 +337,28 @@ struct CMemberFunction3 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 3; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction3.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 3; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction3.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2);
}
+#endif
};
@@ -362,7 +376,7 @@ struct CStaticFunction3 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction3 *other = dynamic_cast<const CStaticFunction3 *>(inRHS);
if (!other)
@@ -370,17 +384,19 @@ struct CStaticFunction3 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 3; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 3; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs[0],inArgs[1],inArgs[2]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) HXCPP_OVERRIDE
{
return mFunction(inArg0,inArg1,inArg2);
}
+#endif
};
@@ -414,7 +430,7 @@ struct CMemberFunction4 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction4 *other = dynamic_cast<const CMemberFunction4 *>(inRHS);
if (!other)
@@ -422,26 +438,28 @@ struct CMemberFunction4 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 4; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction4.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 4; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction4.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2,inArg3);
}
+#endif
};
@@ -459,7 +477,7 @@ struct CStaticFunction4 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction4 *other = dynamic_cast<const CStaticFunction4 *>(inRHS);
if (!other)
@@ -467,17 +485,19 @@ struct CStaticFunction4 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 4; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 4; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) HXCPP_OVERRIDE
{
return mFunction(inArg0,inArg1,inArg2,inArg3);
}
+#endif
};
@@ -511,7 +531,7 @@ struct CMemberFunction5 : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction5 *other = dynamic_cast<const CMemberFunction5 *>(inRHS);
if (!other)
@@ -519,26 +539,28 @@ struct CMemberFunction5 : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 5; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction5.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 5; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction5.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArg0,inArg1,inArg2,inArg3,inArg4);
}
+#endif
};
@@ -556,7 +578,7 @@ struct CStaticFunction5 : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction5 *other = dynamic_cast<const CStaticFunction5 *>(inRHS);
if (!other)
@@ -564,17 +586,19 @@ struct CStaticFunction5 : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return 5; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return 5; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
}
- Dynamic __run(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) HXCPP_OVERRIDE
{
return mFunction(inArg0,inArg1,inArg2,inArg3,inArg4);
}
+#endif
};
@@ -590,7 +614,9 @@ Dynamic CreateStaticFunction5(const char *inName,StaticFunction5 inFunc)
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(6)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5));
@@ -598,17 +624,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(6)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(7)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6));
@@ -616,17 +645,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(7)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(8)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7));
@@ -634,17 +666,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(8)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(9)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8));
@@ -652,17 +687,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(9)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(10)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9));
@@ -670,17 +708,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(10)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(11)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10));
@@ -688,17 +729,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(11)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(12)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11));
@@ -706,17 +750,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(12)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(13)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12));
@@ -724,17 +771,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(13)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(14)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13));
@@ -742,17 +792,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(14)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(15)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14));
@@ -760,17 +813,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(15)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(16)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15));
@@ -778,17 +834,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(16)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(17)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16));
@@ -796,17 +855,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(17)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(18)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17));
@@ -814,17 +876,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(18)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(19)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18));
@@ -832,17 +897,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(19)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(20)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19));
@@ -850,17 +918,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(20)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(21)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20));
@@ -868,17 +939,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(21)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(22)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21));
@@ -886,17 +960,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(22)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(23)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22));
@@ -904,17 +981,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(23)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(24)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23));
@@ -922,17 +1002,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(24)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(25)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23)->init(24,inArg24));
@@ -940,17 +1023,20 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(25)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23)->init(24,inArg24));
}
}
+#endif
-Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24,const Dynamic &inArg25)
+
+#if (HXCPP_API_LEVEL<500)
+Dynamic Dynamic::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24,const ::Dynamic &inArg25)
{
CheckFPtr();
return mPtr->__Run(Array_obj<Dynamic>::__new(26)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23)->init(24,inArg24)->init(25,inArg25));
@@ -958,13 +1044,14 @@ Dynamic Dynamic::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dy
namespace cpp
{
-::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24,const Dynamic &inArg25)
+::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24,const ::Dynamic &inArg25)
{
if (isNull()) Dynamic::ThrowBadFunctionError();
return valObject->__Run(Array_obj<Dynamic>::__new(26)->init(0,inArg0)->init(1,inArg1)->init(2,inArg2)->init(3,inArg3)->init(4,inArg4)->init(5,inArg5)->init(6,inArg6)->init(7,inArg7)->init(8,inArg8)->init(9,inArg9)->init(10,inArg10)->init(11,inArg11)->init(12,inArg12)->init(13,inArg13)->init(14,inArg14)->init(15,inArg15)->init(16,inArg16)->init(17,inArg17)->init(18,inArg18)->init(19,inArg19)->init(20,inArg20)->init(21,inArg21)->init(22,inArg22)->init(23,inArg23)->init(24,inArg24)->init(25,inArg25));
}
}
+#endif
@@ -991,7 +1078,7 @@ struct CMemberFunctionVar : public hx::Object
mName = inName;
N = inN;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunctionVar *other = dynamic_cast<const CMemberFunctionVar *>(inRHS);
if (!other)
@@ -1000,15 +1087,15 @@ struct CMemberFunctionVar : public hx::Object
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return N; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return N; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs);
}
@@ -1030,7 +1117,7 @@ struct CStaticFunctionVar : public hx::Object
mName = inName;
N = inN;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunctionVar *other = dynamic_cast<const CStaticFunctionVar *>(inRHS);
if (!other)
@@ -1039,10 +1126,10 @@ struct CStaticFunctionVar : public hx::Object
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return N; }
- ::String __ToString() const { return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return N; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs);
}
diff --git a/Sources/c_borogove/iinclude/hx/DynamicImpl.tpl b/Sources/c_borogove/iinclude/hx/DynamicImpl.tpl
index ae0e380..c2f07a3 100644
--- a/Sources/c_borogove/iinclude/hx/DynamicImpl.tpl
+++ b/Sources/c_borogove/iinclude/hx/DynamicImpl.tpl
@@ -1,5 +1,7 @@
::foreach PARAMS:: ::if (ARG>=6)::
+
+#if (HXCPP_API_LEVEL<500)
Dynamic Dynamic::NS::operator()(::DYNAMIC_ARG_LIST::)
{
CheckFPtr();
@@ -15,6 +17,7 @@ namespace cpp
}
}
+#endif
::else::
@@ -35,7 +38,7 @@ struct CMemberFunction::ARG:: : public hx::Object
mThis = inObj;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunction::ARG:: *other = dynamic_cast<const CMemberFunction::ARG:: *>(inRHS);
if (!other)
@@ -43,15 +46,15 @@ struct CMemberFunction::ARG:: : public hx::Object
return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return ::ARG::; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction::ARG::.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return ::ARG::; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction::ARG::.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
::if (ARG>0)::
return mFunction(mThis.GetPtr(), ::ARR_LIST::);
@@ -59,7 +62,8 @@ struct CMemberFunction::ARG:: : public hx::Object
return mFunction(mThis.GetPtr());
::end::
}
- Dynamic __run(::DYNAMIC_ARG_LIST::)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(::DYNAMIC_ARG_LIST::) HXCPP_OVERRIDE
{
::if (ARG>0)::
return mFunction(mThis.GetPtr(), ::ARG_LIST::);
@@ -67,6 +71,7 @@ struct CMemberFunction::ARG:: : public hx::Object
return mFunction(mThis.GetPtr());
::end::
}
+#endif
};
@@ -84,7 +89,7 @@ struct CStaticFunction::ARG:: : public hx::Object
mName = inName;
mFunction = inFunction;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunction::ARG:: *other = dynamic_cast<const CStaticFunction::ARG:: *>(inRHS);
if (!other)
@@ -92,17 +97,19 @@ struct CStaticFunction::ARG:: : public hx::Object
return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return ::ARG::; }
- ::String __ToString() const{ return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return ::ARG::; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(::ARR_LIST::);
}
- Dynamic __run(::DYNAMIC_ARG_LIST::)
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run(::DYNAMIC_ARG_LIST::) HXCPP_OVERRIDE
{
return mFunction(::ARG_LIST::);
}
+#endif
};
@@ -141,7 +148,7 @@ struct CMemberFunctionVar : public hx::Object
mName = inName;
N = inN;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CMemberFunctionVar *other = dynamic_cast<const CMemberFunctionVar *>(inRHS);
if (!other)
@@ -150,15 +157,15 @@ struct CMemberFunctionVar : public hx::Object
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return N; }
- ::String __ToString() const{ return String(mName); }
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return N; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mThis); }
#endif
- void *__GetHandle() const { return mThis.GetPtr(); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.GetPtr(); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(mThis.GetPtr(), inArgs);
}
@@ -180,7 +187,7 @@ struct CStaticFunctionVar : public hx::Object
mName = inName;
N = inN;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const CStaticFunctionVar *other = dynamic_cast<const CStaticFunctionVar *>(inRHS);
if (!other)
@@ -189,10 +196,10 @@ struct CStaticFunctionVar : public hx::Object
}
- int __GetType() const { return vtFunction; }
- int __ArgCount() const { return N; }
- ::String __ToString() const { return String(mName); }
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ int __ArgCount() const HXCPP_OVERRIDE { return N; }
+ ::String __ToString() const HXCPP_OVERRIDE { return String(mName); }
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE
{
return mFunction(inArgs);
}
diff --git a/Sources/c_borogove/iinclude/hx/ErrorCodes.h b/Sources/c_borogove/iinclude/hx/ErrorCodes.h
index fd7ca45..2c3ec7e 100644
--- a/Sources/c_borogove/iinclude/hx/ErrorCodes.h
+++ b/Sources/c_borogove/iinclude/hx/ErrorCodes.h
@@ -2,20 +2,20 @@
#define HX_ERROR_CODES
// --- Exteral constants, used inline
-#define HX_INVALID_CAST Dynamic(HX_CSTRING("Invalid Cast"))
-#define HX_INVALID_INTERFACE Dynamic(HX_CSTRING("Object does not implement interface"))
-#define HX_INDEX_OUT_OF_BOUNDS Dynamic(HX_CSTRING("Index Out of Bounds"))
-#define HX_INVALID_CONSTRUCTOR Dynamic(HX_CSTRING("Invalid constructor"))
+#define HX_INVALID_CAST ::Dynamic(HX_CSTRING("Invalid Cast"))
+#define HX_INVALID_INTERFACE ::Dynamic(HX_CSTRING("Object does not implement interface"))
+#define HX_INDEX_OUT_OF_BOUNDS ::Dynamic(HX_CSTRING("Index Out of Bounds"))
+#define HX_INVALID_CONSTRUCTOR ::Dynamic(HX_CSTRING("Invalid constructor"))
#define HX_INVALID_ENUM_CONSTRUCTOR(_enum_name, _constructor_name) \
- Dynamic(HX_CSTRING("Invalid enum constructor for ") + \
+ ::Dynamic(HX_CSTRING("Invalid enum constructor for ") + \
HX_CSTRING(_enum_name) + \
HX_CSTRING(": ") + \
_constructor_name)
-#define HX_INVALID_OBJECT Dynamic(HX_CSTRING("Invalid object"))
-#define HX_INVALID_ARG_COUNT Dynamic(HX_CSTRING("Invalid Arg Count"))
-#define HX_NULL_FUNCTION_POINTER Dynamic(HX_CSTRING("Null Function Pointer"))
+#define HX_INVALID_OBJECT ::Dynamic(HX_CSTRING("Invalid object"))
+#define HX_INVALID_ARG_COUNT ::Dynamic(HX_CSTRING("Invalid Arg Count"))
+#define HX_NULL_FUNCTION_POINTER ::Dynamic(HX_CSTRING("Null Function Pointer"))
#define HX_INVALID_ENUM_ARG_COUNT(_enum_name, _constructor_name, _count, _expected) \
- Dynamic(HX_CSTRING("Invalid enum arg count for ") + \
+ ::Dynamic(HX_CSTRING("Invalid enum arg count for ") + \
HX_CSTRING(_enum_name) + \
HX_CSTRING(".") + \
_constructor_name + \
diff --git a/Sources/c_borogove/iinclude/hx/FieldRef.h b/Sources/c_borogove/iinclude/hx/FieldRef.h
index 3ba1fdc..4bdef96 100644
--- a/Sources/c_borogove/iinclude/hx/FieldRef.h
+++ b/Sources/c_borogove/iinclude/hx/FieldRef.h
@@ -22,14 +22,14 @@ namespace hx
#define HX_FIELD_REF_MEM_OP(op,ret) \
inline ret operator op (const FieldRef &inA) \
- { return this->operator Dynamic() op inA.operator Dynamic(); } \
+ { return this->operator ::Dynamic() op inA.operator ::Dynamic(); } \
inline ret operator op (const IndexRef &inA); \
template<typename T> inline ret operator op (const T& inA) \
- { return this->operator Dynamic() op inA; }
+ { return this->operator ::Dynamic() op inA; }
#define HX_FIELD_REF_IMPL_MEM_OP(op,ret) \
-inline ret hx::FieldRef::operator op (const IndexRef &inA) \
- { return this->operator Dynamic() op inA.operator Dynamic(); } \
+inline ret FieldRef::operator op (const IndexRef &inA) \
+ { return this->operator ::Dynamic() op inA.operator ::Dynamic(); } \
class FieldRef
{
@@ -118,7 +118,7 @@ inline FieldRef ObjectPtr<T>::FieldRef(const String &inString)
#define HX_FIELD_REF_OP(op,ret) \
template<typename T> inline ret operator op (T &inT, const FieldRef &inA) \
- { return inT op ( inA.operator Dynamic()); }
+ { return inT op ( inA.operator ::Dynamic()); }
HX_FIELD_REF_OP(==,bool)
HX_FIELD_REF_OP(!=,bool)
@@ -142,11 +142,11 @@ HX_FIELD_REF_OP(%,double)
#define HX_INDEX_REF_MEM_OP(op,ret) \
inline ret operator op (const IndexRef &inA) \
- { return this->operator Dynamic() op inA.operator Dynamic(); } \
+ { return this->operator ::Dynamic() op inA.operator ::Dynamic(); } \
inline ret operator op (const FieldRef &inA) \
- { return this->operator Dynamic() op inA.operator Dynamic(); } \
+ { return this->operator ::Dynamic() op inA.operator ::Dynamic(); } \
template<typename T> inline ret operator op (const T& inA) \
- { return this->operator Dynamic() op inA; }
+ { return this->operator ::Dynamic() op inA; }
class IndexRef
@@ -227,7 +227,7 @@ inline IndexRef ObjectPtr<T>::IndexRef(int inIndex)
#define HX_INDEX_REF_OP(op,ret) \
template<typename T> inline ret operator op (T &inT, const IndexRef &inA) \
- { return inT op ( inA. operator Dynamic()); }
+ { return inT op ( inA. operator ::Dynamic()); }
HX_INDEX_REF_OP(==,bool)
HX_INDEX_REF_OP(!=,bool)
@@ -260,8 +260,8 @@ HX_FIELD_REF_IMPL_MEM_OP(%,double)
// Disambiguate Dynamic operators...
#define HX_INDEX_REF_OP_DYNAMIC(op,ret) \
-inline ret operator op (const Dynamic &inT, const IndexRef &inA) \
- { return inT op ( inA.operator Dynamic()); }
+inline ret operator op (const ::Dynamic &inT, const IndexRef &inA) \
+ { return inT op ( inA.operator ::Dynamic()); }
HX_INDEX_REF_OP_DYNAMIC(==,bool)
HX_INDEX_REF_OP_DYNAMIC(!=,bool)
diff --git a/Sources/c_borogove/iinclude/hx/Functions.h b/Sources/c_borogove/iinclude/hx/Functions.h
index a27180e..32c1b39 100644
--- a/Sources/c_borogove/iinclude/hx/Functions.h
+++ b/Sources/c_borogove/iinclude/hx/Functions.h
@@ -1,12 +1,13 @@
#ifndef HX_FUNCTIONS_H
#define HX_FUNCTIONS_H
-#include <hxcpp.h>
+
+#include <typeindex>
namespace hx
{
struct HXCPP_EXTERN_CLASS_ATTRIBUTES LocalFunc : public hx::Object
{
- int __GetType() const { return vtFunction; }
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
inline void DoMarkThis(hx::MarkContext *__inCtx) { }
#ifdef HXCPP_VISIT_ALLOCS
inline void DoVisitThis(hx::VisitContext *__inCtx) { }
@@ -16,13 +17,410 @@ namespace hx
struct HXCPP_EXTERN_CLASS_ATTRIBUTES LocalThisFunc : public LocalFunc
{
Dynamic __this;
- void __SetThis(Dynamic inThis) { __this = inThis; }
+ void __SetThis(Dynamic inThis) HXCPP_OVERRIDE { __this = inThis; }
inline void DoMarkThis(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); }
#ifdef HXCPP_VISIT_ALLOCS
inline void DoVisitThis(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); }
#endif
};
+#if (HXCPP_API_LEVEL>=500)
+
+ template<typename T1>
+ bool IsNotNull(const T1& v1);
+
+ struct HXCPP_EXTERN_CLASS_ATTRIBUTES ErasedCallable_obj : public hx::Object
+ {
+ virtual std::type_index callableId() const = 0;
+ };
+
+ template<class TReturn, class... TArgs>
+ class HXCPP_EXTERN_CLASS_ATTRIBUTES Callable_obj;
+
+ template<class TReturn, class... TArgs>
+ class HXCPP_EXTERN_CLASS_ATTRIBUTES Callable_obj<TReturn(TArgs...)> : public ErasedCallable_obj
+ {
+ public:
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure };
+
+ int __GetType() const override final
+ {
+ return vtFunction;
+ }
+
+ int __ArgCount() const override final
+ {
+ return sizeof...(TArgs);
+ }
+
+ Dynamic __Run(const Array<Dynamic>& inArgs) override = 0;
+
+ virtual TReturn HX_LOCAL_RUN(TArgs... args) = 0;
+
+ std::type_index callableId() const override
+ {
+ return std::type_index{ typeid(Callable_obj<TReturn(TArgs...)>) };
+ }
+
+ int __Compare(const ::hx::Object* other) const override
+ {
+ auto otherCallable = dynamic_cast<const ErasedCallable_obj*>(other);
+ if (nullptr == otherCallable)
+ {
+ return -1;
+ }
+
+ return callableId() == otherCallable->callableId() ? 0 : -1;
+ }
+ };
+
+ template<class TReturn, class... TArgs>
+ class HXCPP_EXTERN_CLASS_ATTRIBUTES AutoCallable_obj;
+
+ template<class TReturn, class... TArgs>
+ class HXCPP_EXTERN_CLASS_ATTRIBUTES AutoCallable_obj<TReturn(TArgs...)> : public ::hx::Callable_obj<TReturn(TArgs...)>
+ {
+ Dynamic __Run(const Array<Dynamic>& inArgs) override final;
+ };
+
+ // ::hx::ObjectPtr overloads
+
+ template<class TReturn, class... TArgs>
+ class HXCPP_EXTERN_CLASS_ATTRIBUTES Callable;
+
+ template<class TReturn, class... TArgs>
+ class Callable<TReturn(TArgs...)> : public ObjectPtr<Callable_obj<TReturn(TArgs...)>>
+ {
+ public:
+ using super = hx::ObjectPtr< Callable_obj<TReturn(TArgs...)> >;
+ using OBJ_ = Callable_obj<TReturn(TArgs...)>;
+ using Ptr = Callable_obj<TReturn(TArgs...)>*;
+
+ Callable()
+ : super(nullptr) {}
+
+ Callable(const null& inNull)
+ : super(nullptr) {}
+
+ Callable(Ptr inPtr) : super(inPtr) {}
+
+ Callable(const hx::ObjectPtr<OBJ_>& inCallable)
+ : super(inCallable) {}
+
+ Callable(const Callable<TReturn(TArgs...)>& inCallable)
+ : super(inCallable.GetPtr()) {}
+
+ Callable(const ::cpp::Variant& inVariant)
+ : Callable(Dynamic(inVariant.asObject())) {}
+
+ Callable(::cpp::Function<TReturn(TArgs...)> inFunction)
+ : super(nullptr)
+ {
+ struct FunctionCallable final : public AutoCallable_obj<TReturn(TArgs...)>
+ {
+ ::cpp::Function<TReturn(TArgs...)> func;
+
+ FunctionCallable(::cpp::Function<TReturn(TArgs...)> inFunc) : func(inFunc)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ TReturn HX_LOCAL_RUN(TArgs... args) override
+ {
+ return func(args...);
+ }
+ };
+
+ super::mPtr = new FunctionCallable(inFunction);
+ }
+
+ template<class TOtherReturn, class... TOtherArgs>
+ Callable(const Callable<TOtherReturn(TOtherArgs...)>& inCallable)
+ : super(nullptr)
+ {
+ struct AdapterCallable final : public AutoCallable_obj<TReturn(TArgs...)>
+ {
+ Callable<TOtherReturn(TOtherArgs...)> wrapped;
+
+ AdapterCallable(Callable<TOtherReturn(TOtherArgs...)> _wrapped) : wrapped(_wrapped)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ TReturn HX_LOCAL_RUN(TArgs... args) override
+ {
+ return wrapped(args...);
+ }
+
+ void* __GetHandle() const override
+ {
+ return wrapped.GetPtr();
+ }
+
+ std::type_index callableId() const override
+ {
+ return wrapped->callableId();
+ }
+
+ inline void __Mark(hx::MarkContext* __inCtx) override
+ {
+ HX_MARK_MEMBER(wrapped);
+ }
+#ifdef HXCPP_VISIT_ALLOCS
+ inline void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(wrapped);
+ }
+#endif
+ };
+
+ super::mPtr = new AdapterCallable(inCallable);
+ }
+
+ template<class... TOtherArgs>
+ Callable(const Callable<void(TOtherArgs...)>& inCallable)
+ : super(nullptr)
+ {
+ struct AdapterCallable final : public AutoCallable_obj<TReturn(TArgs...)>
+ {
+ Callable<void(TOtherArgs...)> wrapped;
+
+ AdapterCallable(Callable<void(TOtherArgs...)> _wrapped) : wrapped(_wrapped)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ TReturn HX_LOCAL_RUN(TArgs... args) override
+ {
+ wrapped(args...);
+
+ return null();
+ }
+
+ void* __GetHandle() const override
+ {
+ return wrapped.GetPtr();
+ }
+
+ inline void __Mark(hx::MarkContext* __inCtx) override
+ {
+ HX_MARK_MEMBER(wrapped);
+ }
+#ifdef HXCPP_VISIT_ALLOCS
+ inline void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(wrapped);
+ }
+#endif
+ };
+
+ super::mPtr = new AdapterCallable(inCallable);
+ }
+
+ Callable(const Dynamic& inDynamic)
+ : super(nullptr)
+ {
+ auto casted = dynamic_cast<Ptr>(inDynamic.GetPtr());
+ if (nullptr != casted)
+ {
+ super::mPtr = casted;
+ }
+ else
+ {
+ if (::hx::IsNotNull(inDynamic) && inDynamic->__GetType() == vtFunction)
+ {
+ struct DynamicCallable final : public AutoCallable_obj<TReturn(TArgs...)>
+ {
+ Dynamic wrapped;
+
+ DynamicCallable(Dynamic _wrapped) : wrapped(_wrapped)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ TReturn HX_LOCAL_RUN(TArgs... args) override
+ {
+ return wrapped(args...);
+ }
+
+ void* __GetHandle() const override
+ {
+ return wrapped.GetPtr();
+ }
+
+ inline void __Mark(hx::MarkContext* __inCtx) override
+ {
+ HX_MARK_MEMBER(wrapped);
+ }
+#ifdef HXCPP_VISIT_ALLOCS
+ inline void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(wrapped);
+ }
+#endif
+ };
+
+ super::mPtr = new DynamicCallable(inDynamic);
+ }
+ }
+ }
+
+ TReturn operator ()(TArgs... args)
+ {
+ if (nullptr == super::mPtr)
+ {
+ ::Dynamic::ThrowBadFunctionError();
+ }
+
+ return super::mPtr->_hx_run(args...);
+ }
+ };
+
+ template<class... TArgs>
+ class Callable<void(TArgs...)> : public ObjectPtr<Callable_obj<void(TArgs...)>>
+ {
+ public:
+ using super = hx::ObjectPtr< Callable_obj<void(TArgs...)> >;
+ using OBJ_ = Callable_obj<void(TArgs...)>;
+ using Ptr = Callable_obj<void(TArgs...)>*;
+
+ Callable()
+ : super(nullptr) {}
+
+ Callable(const null& inNull)
+ : super(nullptr) {}
+
+ Callable(Ptr inPtr) : super(inPtr) {}
+
+ Callable(const hx::ObjectPtr<OBJ_>& inCallable)
+ : super(inCallable) {}
+
+ Callable(const Callable<void(TArgs...)>& inCallable)
+ : super(inCallable.GetPtr()) {}
+
+ Callable(const ::cpp::Variant& inVariant)
+ : Callable(Dynamic(inVariant.asObject())) {}
+
+ Callable(::cpp::Function<void(TArgs...)> inFunction)
+ : super(nullptr)
+ {
+ struct FunctionCallable final : public AutoCallable_obj<void(TArgs... )>
+ {
+ ::cpp::Function<void(TArgs...)> func;
+
+ FunctionCallable(::cpp::Function<void(TArgs...)> inFunc) : func(inFunc) {}
+
+ void HX_LOCAL_RUN(TArgs... args) override
+ {
+ func(args...);
+ }
+ };
+
+ super::mPtr = new FunctionCallable(inFunction);
+ }
+
+ template<class TOtherReturn, class... TOtherArgs>
+ Callable(const Callable<TOtherReturn(TOtherArgs...)>& inCallable)
+ : super(nullptr)
+ {
+ struct AdapterCallable final : public AutoCallable_obj<void(TArgs...)>
+ {
+ Callable<TOtherReturn(TOtherArgs...)> wrapped;
+
+ AdapterCallable(Callable<TOtherReturn(TOtherArgs...)> _wrapped) : wrapped(_wrapped)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ void HX_LOCAL_RUN(TArgs... args) override
+ {
+ wrapped(args...);
+ }
+
+ void* __GetHandle() const override
+ {
+ return wrapped.GetPtr();
+ }
+
+ std::type_index callableId() const override
+ {
+ return wrapped->callableId();
+ }
+
+ inline void __Mark(hx::MarkContext* __inCtx) override
+ {
+ HX_MARK_MEMBER(wrapped);
+ }
+#ifdef HXCPP_VISIT_ALLOCS
+ inline void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(wrapped);
+ }
+#endif
+ };
+
+ super::mPtr = new AdapterCallable(inCallable);
+ }
+
+ Callable(const Dynamic& inDynamic)
+ : super(nullptr)
+ {
+ auto casted = dynamic_cast<Ptr>(inDynamic.GetPtr());
+ if (nullptr != casted)
+ {
+ super::mPtr = casted;
+ }
+ else
+ {
+ if (::hx::IsNotNull(inDynamic) && inDynamic->__GetType() == vtFunction)
+ {
+ struct DynamicCallable final : public AutoCallable_obj<void(TArgs...)>
+ {
+ Dynamic wrapped;
+
+ DynamicCallable(Dynamic _wrapped) : wrapped(_wrapped)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ void HX_LOCAL_RUN(TArgs... args) override
+ {
+ wrapped(args...);
+ }
+
+ void* __GetHandle() const override
+ {
+ return wrapped.GetPtr();
+ }
+
+ inline void __Mark(hx::MarkContext* __inCtx) override
+ {
+ HX_MARK_MEMBER(wrapped);
+ }
+#ifdef HXCPP_VISIT_ALLOCS
+ inline void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(wrapped);
+ }
+#endif
+ };
+
+ super::mPtr = new DynamicCallable(inDynamic);
+ }
+ }
+ }
+
+ void operator ()(TArgs... args)
+ {
+ if (nullptr == super::mPtr)
+ {
+ ::Dynamic::ThrowBadFunctionError();
+ }
+
+ super::mPtr->_hx_run(args...);
+ }
+ };
+#endif
}
#endif
diff --git a/Sources/c_borogove/iinclude/hx/GC.h b/Sources/c_borogove/iinclude/hx/GC.h
index 95b65c2..39480c2 100644
--- a/Sources/c_borogove/iinclude/hx/GC.h
+++ b/Sources/c_borogove/iinclude/hx/GC.h
@@ -287,7 +287,7 @@ namespace hx
#define HX_USE_INLINE_IMMIX_OPERATOR_NEW
-//#define HX_STACK_CTX ::hx::ImmixAllocator *_hx_stack_ctx = hx::gMultiThreadMode ? hx::tlsImmixAllocator : hx::gMainThreadAlloc;
+//#define HX_STACK_CTX ::hx::ImmixAllocator *_hx_stack_ctx = ::hx::gMultiThreadMode ? ::hx::tlsImmixAllocator : ::hx::gMainThreadAlloc;
// Each line ast 128 bytes (2^7)
@@ -322,14 +322,14 @@ namespace hx
// The gPauseForCollect bits will turn spaceEnd negative, and so force the slow path
#ifndef HXCPP_SINGLE_THREADED_APP
- #define WITH_PAUSE_FOR_COLLECT_FLAG | hx::gPauseForCollect
+ #define WITH_PAUSE_FOR_COLLECT_FLAG | ::hx::gPauseForCollect
#else
#define WITH_PAUSE_FOR_COLLECT_FLAG
#endif
-class StackContext;
+struct StackContext;
EXTERN_FAST_TLS_DATA(StackContext, tlsStackContext);
@@ -360,7 +360,7 @@ public:
- // These allocate the function using the garbage-colleced malloc
+ // These allocate the function using the garbage-collected malloc
inline static void *alloc(ImmixAllocator *alloc, size_t inSize, bool inContainer, const char *inName )
{
#ifdef HXCPP_GC_NURSERY
@@ -406,7 +406,7 @@ public:
// Ensure odd alignment in 8 bytes
start += 4 - (start & 4);
#endif
- int end = start + sizeof(int) + inSize;
+ int end = start + (int)(sizeof(int) + inSize);
if ( end <= alloc->spaceEnd )
{
@@ -420,11 +420,11 @@ public:
if (inContainer)
*buffer++ = (( (end+(IMMIX_LINE_LEN-1))>>IMMIX_LINE_BITS) -startRow) |
- (inSize<<IMMIX_ALLOC_SIZE_SHIFT) |
+ ((int)inSize<<IMMIX_ALLOC_SIZE_SHIFT) |
hx::gMarkIDWithContainer;
else
*buffer++ = (( (end+(IMMIX_LINE_LEN-1))>>IMMIX_LINE_BITS) -startRow) |
- (inSize<<IMMIX_ALLOC_SIZE_SHIFT) |
+ ((int)inSize<<IMMIX_ALLOC_SIZE_SHIFT) |
hx::gMarkID;
#if defined(HXCPP_GC_CHECK_POINTER) && defined(HXCPP_GC_DEBUG_ALWAYS_MOVE)
@@ -439,7 +439,7 @@ public:
}
// Fall back to external method
- void *result = alloc->CallAlloc(inSize, inContainer ? IMMIX_ALLOC_IS_CONTAINER : 0);
+ void *result = alloc->CallAlloc((int)inSize, inContainer ? IMMIX_ALLOC_IS_CONTAINER : 0);
#ifdef HXCPP_TELEMETRY
__hxt_gc_new((hx::StackContext *)alloc,result, inSize, inName);
@@ -457,19 +457,19 @@ typedef ImmixAllocator Ctx;
#ifdef HXCPP_GC_GENERATIONAL
#define HX_OBJ_WB_CTX(obj,value,ctx) { \
unsigned char &mark = ((unsigned char *)(obj))[ HX_ENDIAN_MARK_ID_BYTE]; \
- if (mark == hx::gByteMarkID && value && !((unsigned char *)(value))[ HX_ENDIAN_MARK_ID_BYTE ] ) { \
+ if (mark == ::hx::gByteMarkID && value && !((unsigned char *)(value))[ HX_ENDIAN_MARK_ID_BYTE ] ) { \
mark|=HX_GC_REMEMBERED; \
ctx->pushReferrer(obj); \
} }
#define HX_OBJ_WB_PESSIMISTIC_CTX(obj,ctx) { \
unsigned char &mark = ((unsigned char *)(obj))[ HX_ENDIAN_MARK_ID_BYTE]; \
- if (mark == hx::gByteMarkID) { \
+ if (mark == ::hx::gByteMarkID) { \
mark|=HX_GC_REMEMBERED; \
ctx->pushReferrer(obj); \
} }
// I'm not sure if this will ever trigger...
#define HX_OBJ_WB_NEW_MARKED_OBJECT(obj) { \
- if (((unsigned char *)(obj))[ HX_ENDIAN_MARK_ID_BYTE]==hx::gByteMarkID) hx::NewMarkedObject(obj); \
+ if (((unsigned char *)(obj))[ HX_ENDIAN_MARK_ID_BYTE]==::hx::gByteMarkID) ::hx::NewMarkedObject(obj); \
}
#else
#define HX_OBJ_WB_CTX(obj,value,ctx)
@@ -523,12 +523,12 @@ inline void MarkObjectAlloc(hx::Object *inPtr ,hx::MarkContext *__inCtx)
#define HX_MARK_ARG __inCtx
//#define HX_MARK_ADD_ARG ,__inCtx
-#define HX_MARK_PARAMS hx::MarkContext *__inCtx
-//#define HX_MARK_ADD_PARAMS ,hx::MarkContext *__inCtx
+#define HX_MARK_PARAMS ::hx::MarkContext *__inCtx
+//#define HX_MARK_ADD_PARAMS ,::hx::MarkContext *__inCtx
#ifdef HXCPP_VISIT_ALLOCS
#define HX_VISIT_ARG __inCtx
-#define HX_VISIT_PARAMS hx::VisitContext *__inCtx
+#define HX_VISIT_PARAMS ::hx::VisitContext *__inCtx
#else
#define HX_VISIT_ARG
#define HX_VISIT_PARAMS
@@ -544,40 +544,40 @@ inline void MarkObjectAlloc(hx::Object *inPtr ,hx::MarkContext *__inCtx)
#ifdef HXCPP_DEBUG
-#define HX_MARK_MEMBER_NAME(x,name) { hx::MarkSetMember(name, __inCtx); hx::MarkMember(x, __inCtx ); }
-#define HX_MARK_BEGIN_CLASS(x) hx::MarkPushClass(#x, __inCtx );
-#define HX_MARK_END_CLASS() hx::MarkPopClass(__inCtx );
-#define HX_MARK_MEMBER(x) { hx::MarkSetMember(0, __inCtx); hx::MarkMember(x, __inCtx ); }
-#define HX_MARK_MEMBER_ARRAY(x,len) { hx::MarkSetMember(0, __inCtx); hx::MarkMemberArray(x, len, __inCtx ); }
+#define HX_MARK_MEMBER_NAME(x,name) { ::hx::MarkSetMember(name, __inCtx); ::hx::MarkMember(x, __inCtx ); }
+#define HX_MARK_BEGIN_CLASS(x) ::hx::MarkPushClass(#x, __inCtx );
+#define HX_MARK_END_CLASS() ::hx::MarkPopClass(__inCtx );
+#define HX_MARK_MEMBER(x) { ::hx::MarkSetMember(0, __inCtx); ::hx::MarkMember(x, __inCtx ); }
+#define HX_MARK_MEMBER_ARRAY(x,len) { ::hx::MarkSetMember(0, __inCtx); ::hx::MarkMemberArray(x, len, __inCtx ); }
#else
-#define HX_MARK_MEMBER_NAME(x,name) hx::MarkMember(x, __inCtx )
+#define HX_MARK_MEMBER_NAME(x,name) ::hx::MarkMember(x, __inCtx )
#define HX_MARK_BEGIN_CLASS(x)
#define HX_MARK_END_CLASS()
-#define HX_MARK_MEMBER(x) hx::MarkMember(x, __inCtx )
-#define HX_MARK_MEMBER_ARRAY(x,len) hx::MarkMemberArray(x, len, __inCtx )
+#define HX_MARK_MEMBER(x) ::hx::MarkMember(x, __inCtx )
+#define HX_MARK_MEMBER_ARRAY(x,len) ::hx::MarkMemberArray(x, len, __inCtx )
#endif
-#define HX_MARK_OBJECT(ioPtr) if (ioPtr) hx::MarkObjectAlloc(ioPtr, __inCtx );
+#define HX_MARK_OBJECT(ioPtr) if (ioPtr) ::hx::MarkObjectAlloc(ioPtr, __inCtx );
#define HX_MARK_STRING(ioPtr) \
- if (ioPtr) hx::MarkAlloc((void *)ioPtr, __inCtx );
+ if (ioPtr) ::hx::MarkAlloc((void *)ioPtr, __inCtx );
-#define HX_MARK_ARRAY(ioPtr) { if (ioPtr) hx::MarkAlloc((void *)ioPtr, __inCtx ); }
+#define HX_MARK_ARRAY(ioPtr) { if (ioPtr) ::hx::MarkAlloc((void *)ioPtr, __inCtx ); }
-#define HX_VISIT_MEMBER_NAME(x,name) hx::VisitMember(x, __inCtx )
-#define HX_VISIT_MEMBER(x) hx::VisitMember(x, __inCtx )
+#define HX_VISIT_MEMBER_NAME(x,name) ::hx::VisitMember(x, __inCtx )
+#define HX_VISIT_MEMBER(x) ::hx::VisitMember(x, __inCtx )
#define HX_VISIT_OBJECT(ioPtr) \
- { if (ioPtr && !(((unsigned char *)ioPtr)[HX_GC_CONST_ALLOC_MARK_OFFSET] & HX_GC_CONST_ALLOC_MARK_BIT) ) __inCtx->visitObject( (hx::Object **)&ioPtr); }
+ { if (ioPtr && !(((unsigned char *)ioPtr)[HX_GC_CONST_ALLOC_MARK_OFFSET] & HX_GC_CONST_ALLOC_MARK_BIT) ) __inCtx->visitObject( (::hx::Object **)&ioPtr); }
#define HX_VISIT_STRING(ioPtr) \
if (ioPtr && !(((unsigned char *)ioPtr)[HX_GC_CONST_ALLOC_MARK_OFFSET] & HX_GC_CONST_ALLOC_MARK_BIT) ) __inCtx->visitAlloc((void **)&ioPtr);
diff --git a/Sources/c_borogove/iinclude/hx/GcTypeInference.h b/Sources/c_borogove/iinclude/hx/GcTypeInference.h
index b1f186e..e0500a5 100644
--- a/Sources/c_borogove/iinclude/hx/GcTypeInference.h
+++ b/Sources/c_borogove/iinclude/hx/GcTypeInference.h
@@ -23,6 +23,10 @@ template<typename T> inline void MarkMember(Array<T> &outT,hx::MarkContext *__in
{
HX_MARK_OBJECT(outT.mPtr);
}
+template<typename TReturn, typename... TArgs> inline void MarkMember(Callable<TReturn(TArgs...)>& outT, hx::MarkContext* __inCtx)
+{
+ HX_MARK_OBJECT(outT.mPtr);
+}
template<> inline void MarkMember<hx::Object *>(hx::Object *&outT,hx::MarkContext *__inCtx)
{
HX_MARK_OBJECT(outT);
@@ -114,6 +118,10 @@ template<typename T> inline void VisitMember(Array<T> &outT,hx::VisitContext *__
{
HX_VISIT_OBJECT(outT.mPtr);
}
+template<typename TReturn, typename... TArgs> inline void VisitMember(Callable<TReturn(TArgs...)>& outT, hx::VisitContext* __inCtx)
+{
+ HX_VISIT_OBJECT(outT.mPtr);
+}
template<> inline void VisitMember(cpp::Variant &outT,hx::VisitContext *__inCtx)
{
outT.visit(__inCtx);
diff --git a/Sources/c_borogove/iinclude/hx/GenMacro.hx b/Sources/c_borogove/iinclude/hx/GenMacro.hx
index 17e21f0..900d1e6 100644
--- a/Sources/c_borogove/iinclude/hx/GenMacro.hx
+++ b/Sources/c_borogove/iinclude/hx/GenMacro.hx
@@ -13,6 +13,8 @@ import neko.io.File;
import neko.io.FileOutput;
#end
+using StringTools;
+
class GenMacro
{
static var warning =
@@ -40,7 +42,7 @@ class GenMacro
{
arr_list.push( "inArgs[" + (arg-1) + "]");
arg_list.push( "inArg" + (arg-1));
- dynamic_arg_list.push("const Dynamic &inArg" + (arg-1) );
+ dynamic_arg_list.push("const ::Dynamic &inArg" + (arg-1) );
dynamic_adds.push( "->init(" + (arg-1) + ",inArg" + (arg-1) + ")" );
}
@@ -96,9 +98,9 @@ class GenMacro
Reflect.setField(context, "hxNS", " ::hx::");
var fixed = File.getContent("MacrosFixed.h");
- fixed = fixed.split("
").join("");
+ fixed = fixed.replace("\r", "");
var fileContents:String = File.getContent("Macros.tpl");
- fileContents = fileContents.split("
").join("");
+ fileContents = fileContents.replace("\r", "");
var template:Template = new Template(fileContents);
var result:String = template.execute(context);
@@ -109,7 +111,7 @@ class GenMacro
fileOutput.close();
var fileContents:String = File.getContent("MacrosJumbo.tpl");
- fileContents = fileContents.split("
").join("");
+ fileContents = fileContents.replace("\r", "");
var template:Template = new Template(fileContents);
Reflect.setField(context, "LOCALS", jumboLocals);
var result:String = template.execute(context);
@@ -121,7 +123,7 @@ class GenMacro
var fileContents:String = File.getContent("DynamicImpl.tpl");
- fileContents = fileContents.split("
").join("");
+ fileContents = fileContents.replace("\r", "");
var template:Template = new Template(fileContents);
var result:String = template.execute(context);
var fileOutput:FileOutput = File.write("DynamicImpl.h", true);
diff --git a/Sources/c_borogove/iinclude/hx/HxcppMain.h b/Sources/c_borogove/iinclude/hx/HxcppMain.h
index ad09f30..309e9e9 100644
--- a/Sources/c_borogove/iinclude/hx/HxcppMain.h
+++ b/Sources/c_borogove/iinclude/hx/HxcppMain.h
@@ -94,13 +94,22 @@
}
catch (Dynamic e)
{
- __hx_dump_stack();
- #ifdef HX_WIN_MAIN
- MessageBoxA(0, e==null() ? "null" : e->toString().__CStr(), "Error", 0);
- #else
- printf("Error : %s\n",e==null() ? "null" : e->toString().__CStr());
- #endif
- return -1;
+ auto customStack = e->__Field(HX_CSTRING("_hx_customStack"), HX_PROP_DYNAMIC).asString();
+ if (::hx::IsNotNull(customStack))
+ {
+ printf("%s\n", customStack.utf8_str());
+ }
+ else
+ {
+ __hx_dump_stack();
+ }
+
+#ifdef HX_WIN_MAIN
+ MessageBoxA(0, e == null() ? "null" : e->toString().__CStr(), "Error", 0);
+#else
+ printf("Error : %s\n", e == null() ? "null" : e->toString().__CStr());
+#endif
+ return -1;
}
return 0;
}
diff --git a/Sources/c_borogove/iinclude/hx/Invoker.h b/Sources/c_borogove/iinclude/hx/Invoker.h
new file mode 100644
index 0000000..c9593d4
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/Invoker.h
@@ -0,0 +1,193 @@
+#ifndef HX_CLOSURE_H
+#define HX_CLOSURE_H
+#include <hxcpp.h>
+#include <type_traits>
+
+namespace hx
+{
+ namespace invoker
+ {
+ namespace index
+ {
+ struct Helper
+ {
+ template<typename T, T... Ints>
+ struct integer_sequence
+ {
+ typedef T value_type;
+ static constexpr std::size_t size() { return sizeof...(Ints); }
+ };
+
+ template<std::size_t... Ints>
+ using index_sequence = integer_sequence<std::size_t, Ints...>;
+
+ template<typename T, std::size_t N, T... Is>
+ struct make_integer_sequence : make_integer_sequence<T, N - 1, N - 1, Is...> {};
+
+ template<typename T, T... Is>
+ struct make_integer_sequence<T, 0, Is...> : integer_sequence<T, Is...> {};
+
+ template<std::size_t N>
+ using make_index_sequence = make_integer_sequence<std::size_t, N>;
+
+ template<typename... T>
+ using index_sequence_for = make_index_sequence<sizeof...(T)>;
+ };
+ }
+
+ template<class T>
+ struct ConversionTrait
+ {
+ inline static Dynamic _hx_struct(T value, std::true_type)
+ {
+ return Dynamic{ value };
+ }
+ inline static Dynamic _hx_struct(T value, std::false_type)
+ {
+ return ::cpp::Struct<T>(value);
+ }
+
+ inline static Dynamic toDynamic(T v) { return _hx_struct(v, std::is_constructible<Dynamic, T>{}); }
+ inline static T fromDynamic(Dynamic d) { return T{ d }; }
+ };
+
+ template<class T>
+ struct ConversionTrait<T*>
+ {
+ inline static Dynamic toDynamic(T* v) { return Dynamic{ ::cpp::Pointer<T>(v)}; }
+ inline static T* fromDynamic(Dynamic d) { return ::cpp::Pointer<T>(d).ptr; }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::Pointer<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::Pointer<T> v) { return v; }
+ inline static ::cpp::Pointer<T> fromDynamic(Dynamic d) { return cpp::Pointer<T>(d); }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::Struct<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::Struct<T> v) { return v; }
+ inline static ::cpp::Struct<T> fromDynamic(Dynamic d) { return cpp::Struct<T>(d); }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::marshal::ValueReference<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::marshal::ValueReference<T> v) { return v; }
+ inline static ::cpp::marshal::ValueReference<T> fromDynamic(Dynamic d) { return ::cpp::marshal::ValueReference<T>{ ::cpp::marshal::ValueType<T>{ d } }; }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::marshal::ValueType<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::marshal::ValueType<T> v) { return ::cpp::marshal::ValueReference<T>{ v }; }
+ inline static ::cpp::marshal::ValueType<T> fromDynamic(Dynamic d) { return ::cpp::marshal::ValueType<T>{ d }; }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::marshal::PointerReference<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::marshal::PointerReference<T> v) { return v; }
+ inline static ::cpp::marshal::PointerReference<T> fromDynamic(Dynamic d) { return ::cpp::marshal::PointerReference<T>{ ::cpp::marshal::PointerType<T>{ d } }; }
+ };
+
+ template<class T>
+ struct ConversionTrait<::cpp::marshal::PointerType<T>>
+ {
+ inline static Dynamic toDynamic(::cpp::marshal::PointerType<T> v) { return ::cpp::marshal::PointerReference<T>{ v }; }
+ inline static ::cpp::marshal::PointerType<T> fromDynamic(Dynamic d) { return ::cpp::marshal::PointerType<T>{ d }; }
+ };
+
+ namespace unwrap
+ {
+ template<typename T>
+ T fromDynamic(Dynamic value)
+ {
+ using traits = ConversionTrait<T>;
+
+ return traits::fromDynamic(value);
+ }
+ }
+
+ namespace wrap
+ {
+ template<typename T>
+ Dynamic toDynamic(T value)
+ {
+ using traits = ConversionTrait<T>;
+
+ return traits::toDynamic(value);
+ }
+ }
+
+ template<bool void_return, class TReturn, class... TArgs>
+ struct Invoker;
+
+ template<class TReturn, class... TArgs>
+ struct Invoker<true, TReturn, TArgs...>
+ {
+ template<size_t... I>
+ static Dynamic call(hx::Callable<TReturn(TArgs...)> callable, const Array<Dynamic>& inArgs, index::Helper::index_sequence<I...>)
+ {
+ callable(invoker::unwrap::fromDynamic<TArgs>(inArgs[I]) ...);
+
+ return null();
+ }
+ };
+
+ template<class TReturn, class... TArgs>
+ struct Invoker<false, TReturn, TArgs...>
+ {
+ template<size_t... I>
+ static Dynamic call(hx::Callable<TReturn(TArgs...)> callable, const Array<Dynamic>& inArgs, index::Helper::index_sequence<I...>)
+ {
+ return invoker::wrap::toDynamic(callable(invoker::unwrap::fromDynamic<TArgs>(inArgs[I]) ...));
+ }
+ };
+
+ inline Dynamic invoke(hx::Object* obj)
+ {
+ return obj->__Run(Array_obj<::Dynamic>::__new(0, 0));
+ }
+
+ template<class ...TArgs>
+ inline Dynamic invoke(hx::Object* obj, const TArgs & ...args)
+ {
+ using unused = int[];
+
+ auto arr = Array_obj<::Dynamic>::__new(0, sizeof...(args));
+
+ (void)unused {
+ 0, (arr->push(invoker::wrap::toDynamic(args)), 0)...
+ };
+
+ return obj->__Run(arr);
+ }
+ }
+}
+
+template<class ...TArgs>
+::Dynamic Dynamic::operator()(const TArgs & ...args)
+{
+ CheckFPtr();
+
+ return hx::invoker::invoke(mPtr, args...);
+}
+
+template<class ...TArgs>
+::Dynamic cpp::Variant::operator()(const TArgs & ...args)
+{
+ CheckFPtr();
+
+ return hx::invoker::invoke(valObject, args...);
+}
+
+template<class TReturn, class... TArgs>
+::Dynamic hx::AutoCallable_obj<TReturn(TArgs...)>::__Run(const Array<Dynamic>& inArgs)
+{
+ return invoker::Invoker<std::is_void<TReturn>::value, TReturn, TArgs...>::call(this, inArgs, invoker::index::Helper::index_sequence_for<TArgs...>());
+}
+
+#endif
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/LessThanEq.h b/Sources/c_borogove/iinclude/hx/LessThanEq.h
index e87ebb0..209f69b 100644
--- a/Sources/c_borogove/iinclude/hx/LessThanEq.h
+++ b/Sources/c_borogove/iinclude/hx/LessThanEq.h
@@ -103,9 +103,9 @@ struct CompareTraits<double>
{
enum { type = (int)CompareAsDouble };
- inline static int toInt(double inValue) { return inValue; }
+ inline static int toInt(double inValue) { return (int)inValue; }
inline static double toDouble(double inValue) { return inValue; }
- inline static cpp::Int64 toInt64(double inValue) { return inValue; }
+ inline static cpp::Int64 toInt64(double inValue) { return (cpp::Int64)inValue; }
inline static String toString(double inValue) { return String(); }
inline static hx::Object *toObject(double inValue) { return 0; }
@@ -122,7 +122,7 @@ struct CompareTraits<cpp::Int64>
enum { type = (int)CompareAsInt64 };
inline static int toInt(cpp::Int64 inValue) { return (int)inValue; }
- inline static double toDouble(cpp::Int64 inValue) { return inValue; }
+ inline static double toDouble(cpp::Int64 inValue) { return (double)inValue; }
inline static cpp::Int64 toInt64(cpp::Int64 inValue) { return inValue; }
inline static String toString(cpp::Int64 inValue) { return String(); }
inline static hx::Object *toObject(cpp::Int64 inValue) { return 0; }
@@ -137,7 +137,7 @@ struct CompareTraits<cpp::UInt64>
enum { type = (int)CompareAsInt64 };
inline static int toInt(cpp::UInt64 inValue) { return (int)inValue; }
- inline static double toDouble(cpp::UInt64 inValue) { return inValue; }
+ inline static double toDouble(cpp::UInt64 inValue) { return (double)inValue; }
// Return value is unsigned ...
inline static cpp::UInt64 toInt64(cpp::UInt64 inValue) { return inValue; }
inline static String toString(cpp::UInt64 inValue) { return String(); }
@@ -246,6 +246,33 @@ struct CompareTraits< T * >
inline static bool isNull(T *inValue) { return !inValue; }
};
+template <typename T>
+struct CompareTraits< cpp::marshal::ValueReference<T> >
+{
+ enum { type = (int)CompareAsDynamic };
+
+ inline static int toInt(Dynamic inValue) { return inValue; }
+ inline static double toDouble(Dynamic inValue) { return inValue; }
+ inline static cpp::Int64 toInt64(Dynamic inValue) { return inValue; }
+ inline static String toString(Dynamic inValue) { return inValue; }
+ inline static hx::Object* toObject(Dynamic inValue) { return inValue.mPtr; }
+ inline static int getDynamicCompareType(const ::Dynamic&) { return type; }
+ inline static bool isNull(const ::cpp::marshal::ValueReference<T>& ref) { return nullptr == ref.ptr; }
+};
+
+template <typename T>
+struct CompareTraits< cpp::marshal::PointerReference<T> >
+{
+ enum { type = (int)CompareAsDynamic };
+
+ inline static int toInt(Dynamic inValue) { return inValue; }
+ inline static double toDouble(Dynamic inValue) { return inValue; }
+ inline static cpp::Int64 toInt64(Dynamic inValue) { return inValue; }
+ inline static String toString(Dynamic inValue) { return inValue; }
+ inline static hx::Object* toObject(Dynamic inValue) { return inValue.mPtr; }
+ inline static int getDynamicCompareType(const ::Dynamic&) { return type; }
+ inline static bool isNull(const ::cpp::marshal::PointerReference<T>& ref) { return nullptr == ref.ptr || nullptr == *ref.ptr; }
+};
template<typename T1>
hx::Object *GetExistingObject(const T1 &v1)
@@ -410,9 +437,37 @@ inline bool TestLessEq(const T1 &v1, const T2 &v2)
template<typename T1, typename T2>
bool IsEq(const T1 &v1, const T2 &v2) { return TestLessEq<false,true,T1,T2>(v1,v2); }
+template<typename T1, typename T2>
+bool IsEq(const ::cpp::marshal::ValueReference<T1>& v1, const ::cpp::marshal::ValueReference<T2>& v2) { return v1 == v2; }
+
+template<typename T1, typename T2>
+bool IsEq(const ::cpp::marshal::PointerReference<T1>& v1, const ::cpp::marshal::PointerReference<T2>& v2)
+{
+ if (nullptr == v1.ptr && nullptr == v2.ptr)
+ {
+ return true;
+ }
+ if (nullptr == v1.ptr && nullptr != v2.ptr)
+ {
+ return nullptr == *v2.ptr;
+ }
+ if (nullptr == v2.ptr && nullptr != v1.ptr)
+ {
+ return nullptr == *v1.ptr;
+ }
+
+ return *v1.ptr == *v2.ptr;
+}
+
template<typename T1, typename T2>
bool IsNotEq(const T1 &v1, const T2 &v2) { return TestLessEq<false,false,T1,T2>(v1,v2); }
+template<typename T1, typename T2>
+bool IsNotEq(const ::cpp::marshal::ValueReference<T1>& v1, const ::cpp::marshal::ValueReference<T2>& v2) { return v1 != v2; }
+
+template<typename T1, typename T2>
+bool IsNotEq(const ::cpp::marshal::PointerReference<T1>& v1, const ::cpp::marshal::PointerReference<T2>& v2) { return IsEq(v1, v2) == false; }
+
template<typename T1, typename T2>
bool IsLess(const T1 &v1, const T2 &v2) { return TestLessEq<true,false,T1,T2>(v1,v2); }
diff --git a/Sources/c_borogove/iinclude/hx/Macros.h b/Sources/c_borogove/iinclude/hx/Macros.h
index ac4e050..2bab4e7 100644
--- a/Sources/c_borogove/iinclude/hx/Macros.h
+++ b/Sources/c_borogove/iinclude/hx/Macros.h
@@ -52,19 +52,19 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \
// ---- Fields ----------------------
-#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) { return inClassId==1 || inClassId==(int)_hx_ClassId; }
+#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)_hx_ClassId; }
#define HX_DO_RTTI_ALL \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
- ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \
+ ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \
inline static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } \
inline operator super *() { return this; }
#define HX_DO_RTTI \
HX_DO_RTTI_ALL \
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \
- ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp); \
- void __GetFields(Array< ::String> &outFields);
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
+ void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE;
#define HX_DO_INTERFACE_RTTI \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
@@ -72,20 +72,20 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \
static void __register();
#define HX_DO_ENUM_RTTI_INTERNAL \
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
static int __FindIndex(::String inName); \
static int __FindArgCount(::String inName);
#define HX_DO_ENUM_RTTI \
HX_DO_ENUM_RTTI_INTERNAL \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
- ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \
+ ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \
static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; }
#define HX_DECLARE_IMPLEMENT_DYNAMIC ::Dynamic __mDynamicFields; \
::Dynamic *__GetFieldMap() { return &__mDynamicFields; } \
- bool __HasField(const String &inString) \
+ bool __HasField(const ::String &inString) \
{ return ::hx::FieldMapHas(&__mDynamicFields,inString) || super::__HasField(inString); }
@@ -362,32 +362,32 @@ void __hxcpp_lib_main() \
#define HX_DYNAMIC_ARG_LIST0
-#define HX_DYNAMIC_ARG_LIST1 const Dynamic &inArg0
-#define HX_DYNAMIC_ARG_LIST2 const Dynamic &inArg0,const Dynamic &inArg1
-#define HX_DYNAMIC_ARG_LIST3 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2
-#define HX_DYNAMIC_ARG_LIST4 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3
-#define HX_DYNAMIC_ARG_LIST5 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4
-#define HX_DYNAMIC_ARG_LIST6 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5
-#define HX_DYNAMIC_ARG_LIST7 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6
-#define HX_DYNAMIC_ARG_LIST8 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7
-#define HX_DYNAMIC_ARG_LIST9 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8
-#define HX_DYNAMIC_ARG_LIST10 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9
-#define HX_DYNAMIC_ARG_LIST11 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10
-#define HX_DYNAMIC_ARG_LIST12 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11
-#define HX_DYNAMIC_ARG_LIST13 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12
-#define HX_DYNAMIC_ARG_LIST14 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13
-#define HX_DYNAMIC_ARG_LIST15 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14
-#define HX_DYNAMIC_ARG_LIST16 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15
-#define HX_DYNAMIC_ARG_LIST17 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16
-#define HX_DYNAMIC_ARG_LIST18 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17
-#define HX_DYNAMIC_ARG_LIST19 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18
-#define HX_DYNAMIC_ARG_LIST20 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19
-#define HX_DYNAMIC_ARG_LIST21 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20
-#define HX_DYNAMIC_ARG_LIST22 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21
-#define HX_DYNAMIC_ARG_LIST23 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22
-#define HX_DYNAMIC_ARG_LIST24 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23
-#define HX_DYNAMIC_ARG_LIST25 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24
-#define HX_DYNAMIC_ARG_LIST26 const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24,const Dynamic &inArg25
+#define HX_DYNAMIC_ARG_LIST1 const ::Dynamic &inArg0
+#define HX_DYNAMIC_ARG_LIST2 const ::Dynamic &inArg0,const ::Dynamic &inArg1
+#define HX_DYNAMIC_ARG_LIST3 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2
+#define HX_DYNAMIC_ARG_LIST4 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3
+#define HX_DYNAMIC_ARG_LIST5 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4
+#define HX_DYNAMIC_ARG_LIST6 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5
+#define HX_DYNAMIC_ARG_LIST7 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6
+#define HX_DYNAMIC_ARG_LIST8 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7
+#define HX_DYNAMIC_ARG_LIST9 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8
+#define HX_DYNAMIC_ARG_LIST10 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9
+#define HX_DYNAMIC_ARG_LIST11 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10
+#define HX_DYNAMIC_ARG_LIST12 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11
+#define HX_DYNAMIC_ARG_LIST13 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12
+#define HX_DYNAMIC_ARG_LIST14 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13
+#define HX_DYNAMIC_ARG_LIST15 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14
+#define HX_DYNAMIC_ARG_LIST16 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15
+#define HX_DYNAMIC_ARG_LIST17 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16
+#define HX_DYNAMIC_ARG_LIST18 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17
+#define HX_DYNAMIC_ARG_LIST19 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18
+#define HX_DYNAMIC_ARG_LIST20 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19
+#define HX_DYNAMIC_ARG_LIST21 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20
+#define HX_DYNAMIC_ARG_LIST22 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21
+#define HX_DYNAMIC_ARG_LIST23 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22
+#define HX_DYNAMIC_ARG_LIST24 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23
+#define HX_DYNAMIC_ARG_LIST25 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24
+#define HX_DYNAMIC_ARG_LIST26 const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24,const ::Dynamic &inArg25
#define HX_ARG_LIST0
@@ -441,7 +441,7 @@ static ::Dynamic __##class##func( ::hx::Object *inObj, dynamic_arg_list) \
#define HX_DEFINE_DYNAMIC_FUNC_EXTRA(class,N,func,ret,array_list,dynamic_arg_list,arg_list) \
-static ::Dynamic __##class##func( ::hx::Object *inObj, const Array< ::Dynamic> &inArgs) \
+static ::Dynamic __##class##func( ::hx::Object *inObj, const ::Array< ::Dynamic> &inArgs) \
{ \
ret reinterpret_cast<class *>(inObj)->func(array_list); return ::Dynamic(); \
}; \
@@ -625,7 +625,7 @@ static ::Dynamic __##class##func(dynamic_arg_list) \
#define STATIC_HX_DEFINE_DYNAMIC_FUNC_EXTRA(class,N,func,ret,array_list,dynamic_arg_list,arg_list) \
-static ::Dynamic __##class##func(const Array< ::Dynamic> &inArgs) \
+static ::Dynamic __##class##func(const ::Array< ::Dynamic> &inArgs) \
{ \
ret class::func(array_list); return ::Dynamic(); \
}; \
@@ -769,10 +769,13 @@ static ::Dynamic __##class##func(const Array< ::Dynamic> &inArgs) \
-
-#define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \
- ::Dynamic __Run(const Array< ::Dynamic> &inArgs) { ret func( array_args ); return null();} \
- ::Dynamic __run(dyn_arg_list) { ret func( arg_list ); return null();}
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list)
+#else
+ #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \
+ ::Dynamic __Run(const ::Array< ::Dynamic> &inArgs) HXCPP_OVERRIDE { ret func( array_args ); return ::null();} \
+ ::Dynamic __run(dyn_arg_list) HXCPP_OVERRIDE { ret func( arg_list ); return ::null();}
+#endif
#define HX_DYNAMIC_CALL0(ret,func) HX_DYNAMIC_CALL(ret,func,HX_ARR_LIST0,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0)
@@ -803,162 +806,293 @@ static ::Dynamic __##class##func(const Array< ::Dynamic> &inArgs) \
#define HX_DYNAMIC_CALL25(ret,func) HX_DYNAMIC_CALL(ret,func,HX_ARR_LIST25,HX_DYNAMIC_ARG_LIST25,HX_ARG_LIST25)
#define HX_DYNAMIC_CALL26(ret,func) HX_DYNAMIC_CALL(ret,func,HX_ARR_LIST26,HX_DYNAMIC_ARG_LIST26,HX_ARG_LIST26)
-#define HX_BEGIN_DEFAULT_FUNC(name,t0) \
- namespace { \
- struct name : public ::hx::Object { int __GetType() const { return vtFunction; } \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- ::hx::ObjectPtr<t0> __this; \
- name( ::hx::ObjectPtr<t0> __0 = null()) : __this(__0) {} \
- void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \
- void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); }
-
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_BEGIN_DEFAULT_FUNC(name,t0) \
+ namespace { \
+ struct name : public ::hx::Object { \
+ ::hx::ObjectPtr<t0> __this; \
+ name( ::hx::ObjectPtr<t0> __0 = ::null()) : __this(__0) {} \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); }
+#else
+ #define HX_BEGIN_DEFAULT_FUNC(name,t0) \
+ namespace { \
+ struct name : public ::hx::Object { int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ ::hx::ObjectPtr<t0> __this; \
+ name( ::hx::ObjectPtr<t0> __0 = ::null()) : __this(__0) {} \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); }
+#endif
#define HX_END_DEFAULT_FUNC \
}
-#define HXARGC(x) int __ArgCount() const { return x; }
-
-#define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); } \
- name() {}
-
-
-#define HX_BEGIN_LOCAL_FUNC_S1(SUPER,name,t0,v0) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); } \
- name(t0 __0) : v0(__0) {}
-#define HX_BEGIN_LOCAL_FUNC_S2(SUPER,name,t0,v0,t1,v1) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \
- name(t0 __0,t1 __1) : v0(__0),v1(__1) {}
-#define HX_BEGIN_LOCAL_FUNC_S3(SUPER,name,t0,v0,t1,v1,t2,v2) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \
- name(t0 __0,t1 __1,t2 __2) : v0(__0),v1(__1),v2(__2) {}
-#define HX_BEGIN_LOCAL_FUNC_S4(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3) : v0(__0),v1(__1),v2(__2),v3(__3) {}
-#define HX_BEGIN_LOCAL_FUNC_S5(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4) {}
-#define HX_BEGIN_LOCAL_FUNC_S6(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5) {}
-#define HX_BEGIN_LOCAL_FUNC_S7(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6) {}
-#define HX_BEGIN_LOCAL_FUNC_S8(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7) {}
-#define HX_BEGIN_LOCAL_FUNC_S9(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8) {}
-#define HX_BEGIN_LOCAL_FUNC_S10(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9) {}
-#define HX_BEGIN_LOCAL_FUNC_S11(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10) {}
-#define HX_BEGIN_LOCAL_FUNC_S12(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11) {}
-#define HX_BEGIN_LOCAL_FUNC_S13(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12) {}
-#define HX_BEGIN_LOCAL_FUNC_S14(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13) {}
-#define HX_BEGIN_LOCAL_FUNC_S15(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14) {}
-#define HX_BEGIN_LOCAL_FUNC_S16(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15) {}
-#define HX_BEGIN_LOCAL_FUNC_S17(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16) {}
-#define HX_BEGIN_LOCAL_FUNC_S18(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17) {}
-#define HX_BEGIN_LOCAL_FUNC_S19(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18; \
- void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \
- void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18) {}
+#define HXARGC(x) int __ArgCount() const HXCPP_OVERRIDE { return x; }
+
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
+ struct name : public SUPER { \
+ name() {}
+
+
+ #define HX_BEGIN_LOCAL_FUNC_S1(SUPER,name,t0,v0) \
+ struct name : public SUPER { \
+ t0 v0; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); } \
+ name(t0 __0) : v0(__0) {}
+ #define HX_BEGIN_LOCAL_FUNC_S2(SUPER,name,t0,v0,t1,v1) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \
+ name(t0 __0,t1 __1) : v0(__0),v1(__1) {}
+ #define HX_BEGIN_LOCAL_FUNC_S3(SUPER,name,t0,v0,t1,v1,t2,v2) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \
+ name(t0 __0,t1 __1,t2 __2) : v0(__0),v1(__1),v2(__2) {}
+ #define HX_BEGIN_LOCAL_FUNC_S4(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3) : v0(__0),v1(__1),v2(__2),v3(__3) {}
+ #define HX_BEGIN_LOCAL_FUNC_S5(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4) {}
+ #define HX_BEGIN_LOCAL_FUNC_S6(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5) {}
+ #define HX_BEGIN_LOCAL_FUNC_S7(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6) {}
+ #define HX_BEGIN_LOCAL_FUNC_S8(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7) {}
+ #define HX_BEGIN_LOCAL_FUNC_S9(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8) {}
+ #define HX_BEGIN_LOCAL_FUNC_S10(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9) {}
+ #define HX_BEGIN_LOCAL_FUNC_S11(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10) {}
+ #define HX_BEGIN_LOCAL_FUNC_S12(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11) {}
+ #define HX_BEGIN_LOCAL_FUNC_S13(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12) {}
+ #define HX_BEGIN_LOCAL_FUNC_S14(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13) {}
+ #define HX_BEGIN_LOCAL_FUNC_S15(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14) {}
+ #define HX_BEGIN_LOCAL_FUNC_S16(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15) {}
+ #define HX_BEGIN_LOCAL_FUNC_S17(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16) {}
+ #define HX_BEGIN_LOCAL_FUNC_S18(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17) {}
+ #define HX_BEGIN_LOCAL_FUNC_S19(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18; \
+ void __Mark( ::hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \
+ void __Visit( ::hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18) {}
+#else
+ #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); } \
+ name() {}
+
+
+ #define HX_BEGIN_LOCAL_FUNC_S1(SUPER,name,t0,v0) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); } \
+ name(t0 __0) : v0(__0) {}
+ #define HX_BEGIN_LOCAL_FUNC_S2(SUPER,name,t0,v0,t1,v1) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); } \
+ name(t0 __0,t1 __1) : v0(__0),v1(__1) {}
+ #define HX_BEGIN_LOCAL_FUNC_S3(SUPER,name,t0,v0,t1,v1,t2,v2) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); } \
+ name(t0 __0,t1 __1,t2 __2) : v0(__0),v1(__1),v2(__2) {}
+ #define HX_BEGIN_LOCAL_FUNC_S4(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3) : v0(__0),v1(__1),v2(__2),v3(__3) {}
+ #define HX_BEGIN_LOCAL_FUNC_S5(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4) {}
+ #define HX_BEGIN_LOCAL_FUNC_S6(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5) {}
+ #define HX_BEGIN_LOCAL_FUNC_S7(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6) {}
+ #define HX_BEGIN_LOCAL_FUNC_S8(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7) {}
+ #define HX_BEGIN_LOCAL_FUNC_S9(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8) {}
+ #define HX_BEGIN_LOCAL_FUNC_S10(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9) {}
+ #define HX_BEGIN_LOCAL_FUNC_S11(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10) {}
+ #define HX_BEGIN_LOCAL_FUNC_S12(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11) {}
+ #define HX_BEGIN_LOCAL_FUNC_S13(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12) {}
+ #define HX_BEGIN_LOCAL_FUNC_S14(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13) {}
+ #define HX_BEGIN_LOCAL_FUNC_S15(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14) {}
+ #define HX_BEGIN_LOCAL_FUNC_S16(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15) {}
+ #define HX_BEGIN_LOCAL_FUNC_S17(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16) {}
+ #define HX_BEGIN_LOCAL_FUNC_S18(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17) {}
+ #define HX_BEGIN_LOCAL_FUNC_S19(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hx::clsIdClosure }; \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18; \
+ void __Mark( ::hx::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); } \
+ void __Visit( ::hx::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18) {}
+#endif
#define HX_LOCAL_RUN _hx_run
@@ -1029,68 +1163,68 @@ static ::Dynamic __##class##func(const Array< ::Dynamic> &inArgs) \
#define HX_DECLARE_DYNAMIC_FUNCTIONS \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24,const Dynamic &inArg25); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24,const ::Dynamic &inArg25); \
#define HX_DECLARE_VARIANT_FUNCTIONS \
inline ::Dynamic operator()(); \
- inline ::Dynamic operator()(const Dynamic &inArg0); \
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1); \
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2); \
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3); \
- inline ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24); \
- ::Dynamic operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4,const Dynamic &inArg5,const Dynamic &inArg6,const Dynamic &inArg7,const Dynamic &inArg8,const Dynamic &inArg9,const Dynamic &inArg10,const Dynamic &inArg11,const Dynamic &inArg12,const Dynamic &inArg13,const Dynamic &inArg14,const Dynamic &inArg15,const Dynamic &inArg16,const Dynamic &inArg17,const Dynamic &inArg18,const Dynamic &inArg19,const Dynamic &inArg20,const Dynamic &inArg21,const Dynamic &inArg22,const Dynamic &inArg23,const Dynamic &inArg24,const Dynamic &inArg25); \
+ inline ::Dynamic operator()(const ::Dynamic &inArg0); \
+ inline ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1); \
+ inline ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2); \
+ inline ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3); \
+ inline ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24); \
+ ::Dynamic operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4,const ::Dynamic &inArg5,const ::Dynamic &inArg6,const ::Dynamic &inArg7,const ::Dynamic &inArg8,const ::Dynamic &inArg9,const ::Dynamic &inArg10,const ::Dynamic &inArg11,const ::Dynamic &inArg12,const ::Dynamic &inArg13,const ::Dynamic &inArg14,const ::Dynamic &inArg15,const ::Dynamic &inArg16,const ::Dynamic &inArg17,const ::Dynamic &inArg18,const ::Dynamic &inArg19,const ::Dynamic &inArg20,const ::Dynamic &inArg21,const ::Dynamic &inArg22,const ::Dynamic &inArg23,const ::Dynamic &inArg24,const ::Dynamic &inArg25); \
#define HX_IMPLEMENT_INLINE_VARIANT_FUNCTIONS \
::Dynamic Variant::operator()() { CheckFPtr(); return valObject->__run(); } \
- ::Dynamic Variant::operator()(const Dynamic &inArg0) { CheckFPtr(); return valObject->__run(inArg0); } \
- ::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1) { CheckFPtr(); return valObject->__run(inArg0,inArg1); } \
- ::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2); } \
- ::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2,inArg3); } \
- ::Dynamic Variant::operator()(const Dynamic &inArg0,const Dynamic &inArg1,const Dynamic &inArg2,const Dynamic &inArg3,const Dynamic &inArg4) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2,inArg3,inArg4); } \
+ ::Dynamic Variant::operator()(const ::Dynamic &inArg0) { CheckFPtr(); return valObject->__run(inArg0); } \
+ ::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1) { CheckFPtr(); return valObject->__run(inArg0,inArg1); } \
+ ::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2); } \
+ ::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2,inArg3); } \
+ ::Dynamic Variant::operator()(const ::Dynamic &inArg0,const ::Dynamic &inArg1,const ::Dynamic &inArg2,const ::Dynamic &inArg3,const ::Dynamic &inArg4) { CheckFPtr(); return valObject->__run(inArg0,inArg1,inArg2,inArg3,inArg4); } \
diff --git a/Sources/c_borogove/iinclude/hx/Macros.tpl b/Sources/c_borogove/iinclude/hx/Macros.tpl
index bae9abf..5f75bde 100644
--- a/Sources/c_borogove/iinclude/hx/Macros.tpl
+++ b/Sources/c_borogove/iinclude/hx/Macros.tpl
@@ -35,7 +35,7 @@ static ::NS::Dynamic __##class##func(::hxNS::Object *inObj, dynamic_arg_list) \
#define HX_DEFINE_DYNAMIC_FUNC_EXTRA(class,N,func,ret,array_list,dynamic_arg_list,arg_list) \
-static ::NS::Dynamic __##class##func(::hxNS::Object *inObj, const Array< ::NS::Dynamic> &inArgs) \
+static ::NS::Dynamic __##class##func(::hxNS::Object *inObj, const ::NS::Array< ::NS::Dynamic> &inArgs) \
{ \
ret reinterpret_cast<class *>(inObj)->func(array_list); return ::NS::Dynamic(); \
}; \
@@ -96,7 +96,7 @@ static ::NS::Dynamic __##class##func(dynamic_arg_list) \
#define STATIC_HX_DEFINE_DYNAMIC_FUNC_EXTRA(class,N,func,ret,array_list,dynamic_arg_list,arg_list) \
-static ::NS::Dynamic __##class##func(const Array< ::NS::Dynamic> &inArgs) \
+static ::NS::Dynamic __##class##func(const ::NS::Array< ::NS::Dynamic> &inArgs) \
{ \
ret class::func(array_list); return ::NS::Dynamic(); \
}; \
@@ -117,44 +117,70 @@ static ::NS::Dynamic __##class##func(const Array< ::NS::Dynamic> &inArgs) \
::end::
::end::::end::
-
-#define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \
- ::NS::Dynamic __Run(const Array< ::NS::Dynamic> &inArgs) { ret func( array_args ); return null();} \
- ::NS::Dynamic __run(dyn_arg_list) { ret func( arg_list ); return null();}
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list)
+#else
+ #define HX_DYNAMIC_CALL(ret,func,array_args,dyn_arg_list,arg_list) \
+ ::NS::Dynamic __Run(const ::NS::Array< ::NS::Dynamic> &inArgs) HXCPP_OVERRIDE { ret func( array_args ); return ::NS::null();} \
+ ::NS::Dynamic __run(dyn_arg_list) HXCPP_OVERRIDE { ret func( arg_list ); return ::NS::null();}
+#endif
::foreach PARAMS::
#define HX_DYNAMIC_CALL::ARG::(ret,func) HX_DYNAMIC_CALL(ret,func,HX_ARR_LIST::ARG::,HX_DYNAMIC_ARG_LIST::ARG::,HX_ARG_LIST::ARG::)::end::
-#define HX_BEGIN_DEFAULT_FUNC(name,t0) \
- namespace { \
- struct name : public ::hxNS::Object { int __GetType() const { return vtFunction; } \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
- ::hxNS::ObjectPtr<t0> __this; \
- name(::hxNS::ObjectPtr<t0> __0 = null()) : __this(__0) {} \
- void __Mark(::hxNS::MarkContext *__inCtx) { HX_MARK_MEMBER(__this); } \
- void __Visit(::hxNS::VisitContext *__inCtx) { HX_VISIT_MEMBER(__this); }
-
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_BEGIN_DEFAULT_FUNC(name,t0) \
+ namespace { \
+ struct name : public ::hxNS::Object { \
+ ::hxNS::ObjectPtr<t0> __this; \
+ name(::hxNS::ObjectPtr<t0> __0 = ::NS::null()) : __this(__0) {} \
+ void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \
+ void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); }
+#else
+ #define HX_BEGIN_DEFAULT_FUNC(name,t0) \
+ namespace { \
+ struct name : public ::hxNS::Object { int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
+ ::hxNS::ObjectPtr<t0> __this; \
+ name(::hxNS::ObjectPtr<t0> __0 = ::NS::null()) : __this(__0) {} \
+ void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(__this); } \
+ void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(__this); }
+#endif
#define HX_END_DEFAULT_FUNC \
}
-#define HXARGC(x) int __ArgCount() const { return x; }
-
-#define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
- void __Mark(::hxNS::MarkContext *__inCtx) { DoMarkThis(__inCtx); } \
- void __Visit(::hxNS::VisitContext *__inCtx) { DoVisitThis(__inCtx); } \
- name() {}
-
-::foreach LOCALS::
-#define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
- struct name : public SUPER { \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
- ::TYPE_DECL::; \
- void __Mark(::hxNS::MarkContext *__inCtx) { DoMarkThis(__inCtx); ::MARKS:: } \
- void __Visit(::hxNS::VisitContext *__inCtx) { DoVisitThis(__inCtx); ::VISITS:: } \
- name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#define HXARGC(x) int __ArgCount() const HXCPP_OVERRIDE { return x; }
+
+#if (HXCPP_API_LEVEL>=500)
+ #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
+ struct name : public SUPER { \
+ name() {}
+
+ ::foreach LOCALS::
+ #define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
+ struct name : public SUPER { \
+ ::TYPE_DECL::; \
+ void __Mark(::hxNS::MarkContext *__inCtx) override { ::MARKS:: } \
+ void __Visit(::hxNS::VisitContext *__inCtx) override { ::VISITS:: } \
+ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#else
+ #define HX_BEGIN_LOCAL_FUNC_S0(SUPER,name) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
+ void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); } \
+ void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); } \
+ name() {}
+
+ ::foreach LOCALS::
+ #define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
+ struct name : public SUPER { \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = ::hxNS::clsIdClosure }; \
+ ::TYPE_DECL::; \
+ void __Mark(::hxNS::MarkContext *__inCtx) HXCPP_OVERRIDE { DoMarkThis(__inCtx); ::MARKS:: } \
+ void __Visit(::hxNS::VisitContext *__inCtx) HXCPP_OVERRIDE { DoVisitThis(__inCtx); ::VISITS:: } \
+ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#endif
#define HX_LOCAL_RUN _hx_run
diff --git a/Sources/c_borogove/iinclude/hx/MacrosFixed.h b/Sources/c_borogove/iinclude/hx/MacrosFixed.h
index d3c194a..0396e88 100644
--- a/Sources/c_borogove/iinclude/hx/MacrosFixed.h
+++ b/Sources/c_borogove/iinclude/hx/MacrosFixed.h
@@ -44,19 +44,19 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \
// ---- Fields ----------------------
-#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) { return inClassId==1 || inClassId==(int)_hx_ClassId; }
+#define HX_IS_INSTANCE_OF bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE { return inClassId==1 || inClassId==(int)_hx_ClassId; }
#define HX_DO_RTTI_ALL \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
- ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \
+ ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \
inline static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; } \
inline operator super *() { return this; }
#define HX_DO_RTTI \
HX_DO_RTTI_ALL \
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \
- ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp); \
- void __GetFields(Array< ::String> &outFields);
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
+ void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE;
#define HX_DO_INTERFACE_RTTI \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
@@ -64,20 +64,20 @@ static ::Dynamic Create##enum_obj(::String inName,::hx::DynamicArray inArgs) \
static void __register();
#define HX_DO_ENUM_RTTI_INTERNAL \
- ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp); \
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE; \
static int __FindIndex(::String inName); \
static int __FindArgCount(::String inName);
#define HX_DO_ENUM_RTTI \
HX_DO_ENUM_RTTI_INTERNAL \
static ::hx::ObjectPtr< ::hx::Class_obj> __mClass; \
- ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const { return __mClass; } \
+ ::hx::ObjectPtr< ::hx::Class_obj > __GetClass() const HXCPP_OVERRIDE { return __mClass; } \
static ::hx::ObjectPtr< ::hx::Class_obj> &__SGetClass() { return __mClass; }
#define HX_DECLARE_IMPLEMENT_DYNAMIC ::Dynamic __mDynamicFields; \
::Dynamic *__GetFieldMap() { return &__mDynamicFields; } \
- bool __HasField(const String &inString) \
+ bool __HasField(const ::String &inString) \
{ return ::hx::FieldMapHas(&__mDynamicFields,inString) || super::__HasField(inString); }
diff --git a/Sources/c_borogove/iinclude/hx/MacrosJumbo.h b/Sources/c_borogove/iinclude/hx/MacrosJumbo.h
index 52b6d93..285c627 100644
--- a/Sources/c_borogove/iinclude/hx/MacrosJumbo.h
+++ b/Sources/c_borogove/iinclude/hx/MacrosJumbo.h
@@ -9,259 +9,515 @@
#ifndef HX_MACROS_JUMBO_H
#define HX_MACROS_JUMBO_H
-
-#define HX_BEGIN_LOCAL_FUNC_S20(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19) {}
-#define HX_BEGIN_LOCAL_FUNC_S21(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20) {}
-#define HX_BEGIN_LOCAL_FUNC_S22(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21) {}
-#define HX_BEGIN_LOCAL_FUNC_S23(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22) {}
-#define HX_BEGIN_LOCAL_FUNC_S24(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23) {}
-#define HX_BEGIN_LOCAL_FUNC_S25(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24) {}
-#define HX_BEGIN_LOCAL_FUNC_S26(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25) {}
-#define HX_BEGIN_LOCAL_FUNC_S27(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26) {}
-#define HX_BEGIN_LOCAL_FUNC_S28(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27) {}
-#define HX_BEGIN_LOCAL_FUNC_S29(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28) {}
-#define HX_BEGIN_LOCAL_FUNC_S30(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29) {}
-#define HX_BEGIN_LOCAL_FUNC_S31(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30) {}
-#define HX_BEGIN_LOCAL_FUNC_S32(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31) {}
-#define HX_BEGIN_LOCAL_FUNC_S33(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32) {}
-#define HX_BEGIN_LOCAL_FUNC_S34(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33) {}
-#define HX_BEGIN_LOCAL_FUNC_S35(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34) {}
-#define HX_BEGIN_LOCAL_FUNC_S36(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35) {}
-#define HX_BEGIN_LOCAL_FUNC_S37(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36) {}
-#define HX_BEGIN_LOCAL_FUNC_S38(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37) {}
-#define HX_BEGIN_LOCAL_FUNC_S39(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38) {}
-#define HX_BEGIN_LOCAL_FUNC_S40(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39) {}
-#define HX_BEGIN_LOCAL_FUNC_S41(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40) {}
-#define HX_BEGIN_LOCAL_FUNC_S42(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41) {}
-#define HX_BEGIN_LOCAL_FUNC_S43(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42) {}
-#define HX_BEGIN_LOCAL_FUNC_S44(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43) {}
-#define HX_BEGIN_LOCAL_FUNC_S45(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44) {}
-#define HX_BEGIN_LOCAL_FUNC_S46(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45) {}
-#define HX_BEGIN_LOCAL_FUNC_S47(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46) {}
-#define HX_BEGIN_LOCAL_FUNC_S48(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47) {}
-#define HX_BEGIN_LOCAL_FUNC_S49(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48) {}
-#define HX_BEGIN_LOCAL_FUNC_S50(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49) {}
-#define HX_BEGIN_LOCAL_FUNC_S51(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50) {}
-#define HX_BEGIN_LOCAL_FUNC_S52(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51) {}
-#define HX_BEGIN_LOCAL_FUNC_S53(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52) {}
-#define HX_BEGIN_LOCAL_FUNC_S54(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53) {}
-#define HX_BEGIN_LOCAL_FUNC_S55(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54) {}
-#define HX_BEGIN_LOCAL_FUNC_S56(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55) {}
-#define HX_BEGIN_LOCAL_FUNC_S57(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56) {}
-#define HX_BEGIN_LOCAL_FUNC_S58(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57) {}
-#define HX_BEGIN_LOCAL_FUNC_S59(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58) {}
-#define HX_BEGIN_LOCAL_FUNC_S60(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59) {}
-#define HX_BEGIN_LOCAL_FUNC_S61(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60) \
- struct name : public SUPER { \
- t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59;t60 v60; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); HX_MARK_MEMBER(v60); } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); HX_VISIT_MEMBER(v60); } \
- name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59,t60 __60) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59),v60(__60) {}
+#if (HXCPP_API_LEVEL>=500)
+
+ #define HX_BEGIN_LOCAL_FUNC_S20(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19) {}
+ #define HX_BEGIN_LOCAL_FUNC_S21(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20) {}
+ #define HX_BEGIN_LOCAL_FUNC_S22(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21) {}
+ #define HX_BEGIN_LOCAL_FUNC_S23(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22) {}
+ #define HX_BEGIN_LOCAL_FUNC_S24(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23) {}
+ #define HX_BEGIN_LOCAL_FUNC_S25(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24) {}
+ #define HX_BEGIN_LOCAL_FUNC_S26(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25) {}
+ #define HX_BEGIN_LOCAL_FUNC_S27(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26) {}
+ #define HX_BEGIN_LOCAL_FUNC_S28(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27) {}
+ #define HX_BEGIN_LOCAL_FUNC_S29(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28) {}
+ #define HX_BEGIN_LOCAL_FUNC_S30(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29) {}
+ #define HX_BEGIN_LOCAL_FUNC_S31(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30) {}
+ #define HX_BEGIN_LOCAL_FUNC_S32(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31) {}
+ #define HX_BEGIN_LOCAL_FUNC_S33(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32) {}
+ #define HX_BEGIN_LOCAL_FUNC_S34(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33) {}
+ #define HX_BEGIN_LOCAL_FUNC_S35(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34) {}
+ #define HX_BEGIN_LOCAL_FUNC_S36(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35) {}
+ #define HX_BEGIN_LOCAL_FUNC_S37(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36) {}
+ #define HX_BEGIN_LOCAL_FUNC_S38(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37) {}
+ #define HX_BEGIN_LOCAL_FUNC_S39(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38) {}
+ #define HX_BEGIN_LOCAL_FUNC_S40(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39) {}
+ #define HX_BEGIN_LOCAL_FUNC_S41(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40) {}
+ #define HX_BEGIN_LOCAL_FUNC_S42(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41) {}
+ #define HX_BEGIN_LOCAL_FUNC_S43(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42) {}
+ #define HX_BEGIN_LOCAL_FUNC_S44(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43) {}
+ #define HX_BEGIN_LOCAL_FUNC_S45(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44) {}
+ #define HX_BEGIN_LOCAL_FUNC_S46(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45) {}
+ #define HX_BEGIN_LOCAL_FUNC_S47(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46) {}
+ #define HX_BEGIN_LOCAL_FUNC_S48(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47) {}
+ #define HX_BEGIN_LOCAL_FUNC_S49(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48) {}
+ #define HX_BEGIN_LOCAL_FUNC_S50(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49) {}
+ #define HX_BEGIN_LOCAL_FUNC_S51(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50) {}
+ #define HX_BEGIN_LOCAL_FUNC_S52(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51) {}
+ #define HX_BEGIN_LOCAL_FUNC_S53(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52) {}
+ #define HX_BEGIN_LOCAL_FUNC_S54(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53) {}
+ #define HX_BEGIN_LOCAL_FUNC_S55(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54) {}
+ #define HX_BEGIN_LOCAL_FUNC_S56(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55) {}
+ #define HX_BEGIN_LOCAL_FUNC_S57(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56) {}
+ #define HX_BEGIN_LOCAL_FUNC_S58(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57) {}
+ #define HX_BEGIN_LOCAL_FUNC_S59(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58) {}
+ #define HX_BEGIN_LOCAL_FUNC_S60(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59) {}
+ #define HX_BEGIN_LOCAL_FUNC_S61(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59;t60 v60; \
+ void __Mark( ::hx::MarkContext *__inCtx) { HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); HX_MARK_MEMBER(v60); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); HX_VISIT_MEMBER(v60); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59,t60 __60) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59),v60(__60) {}
+#else
+
+ #define HX_BEGIN_LOCAL_FUNC_S20(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19) {}
+ #define HX_BEGIN_LOCAL_FUNC_S21(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20) {}
+ #define HX_BEGIN_LOCAL_FUNC_S22(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21) {}
+ #define HX_BEGIN_LOCAL_FUNC_S23(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22) {}
+ #define HX_BEGIN_LOCAL_FUNC_S24(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23) {}
+ #define HX_BEGIN_LOCAL_FUNC_S25(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24) {}
+ #define HX_BEGIN_LOCAL_FUNC_S26(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25) {}
+ #define HX_BEGIN_LOCAL_FUNC_S27(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26) {}
+ #define HX_BEGIN_LOCAL_FUNC_S28(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27) {}
+ #define HX_BEGIN_LOCAL_FUNC_S29(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28) {}
+ #define HX_BEGIN_LOCAL_FUNC_S30(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29) {}
+ #define HX_BEGIN_LOCAL_FUNC_S31(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30) {}
+ #define HX_BEGIN_LOCAL_FUNC_S32(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31) {}
+ #define HX_BEGIN_LOCAL_FUNC_S33(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32) {}
+ #define HX_BEGIN_LOCAL_FUNC_S34(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33) {}
+ #define HX_BEGIN_LOCAL_FUNC_S35(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34) {}
+ #define HX_BEGIN_LOCAL_FUNC_S36(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35) {}
+ #define HX_BEGIN_LOCAL_FUNC_S37(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36) {}
+ #define HX_BEGIN_LOCAL_FUNC_S38(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37) {}
+ #define HX_BEGIN_LOCAL_FUNC_S39(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38) {}
+ #define HX_BEGIN_LOCAL_FUNC_S40(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39) {}
+ #define HX_BEGIN_LOCAL_FUNC_S41(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40) {}
+ #define HX_BEGIN_LOCAL_FUNC_S42(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41) {}
+ #define HX_BEGIN_LOCAL_FUNC_S43(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42) {}
+ #define HX_BEGIN_LOCAL_FUNC_S44(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43) {}
+ #define HX_BEGIN_LOCAL_FUNC_S45(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44) {}
+ #define HX_BEGIN_LOCAL_FUNC_S46(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45) {}
+ #define HX_BEGIN_LOCAL_FUNC_S47(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46) {}
+ #define HX_BEGIN_LOCAL_FUNC_S48(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47) {}
+ #define HX_BEGIN_LOCAL_FUNC_S49(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48) {}
+ #define HX_BEGIN_LOCAL_FUNC_S50(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49) {}
+ #define HX_BEGIN_LOCAL_FUNC_S51(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50) {}
+ #define HX_BEGIN_LOCAL_FUNC_S52(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51) {}
+ #define HX_BEGIN_LOCAL_FUNC_S53(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52) {}
+ #define HX_BEGIN_LOCAL_FUNC_S54(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53) {}
+ #define HX_BEGIN_LOCAL_FUNC_S55(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54) {}
+ #define HX_BEGIN_LOCAL_FUNC_S56(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55) {}
+ #define HX_BEGIN_LOCAL_FUNC_S57(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56) {}
+ #define HX_BEGIN_LOCAL_FUNC_S58(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57) {}
+ #define HX_BEGIN_LOCAL_FUNC_S59(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58) {}
+ #define HX_BEGIN_LOCAL_FUNC_S60(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59) {}
+ #define HX_BEGIN_LOCAL_FUNC_S61(SUPER,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60) \
+ struct name : public SUPER { \
+ t0 v0;t1 v1;t2 v2;t3 v3;t4 v4;t5 v5;t6 v6;t7 v7;t8 v8;t9 v9;t10 v10;t11 v11;t12 v12;t13 v13;t14 v14;t15 v15;t16 v16;t17 v17;t18 v18;t19 v19;t20 v20;t21 v21;t22 v22;t23 v23;t24 v24;t25 v25;t26 v26;t27 v27;t28 v28;t29 v29;t30 v30;t31 v31;t32 v32;t33 v33;t34 v34;t35 v35;t36 v36;t37 v37;t38 v38;t39 v39;t40 v40;t41 v41;t42 v42;t43 v43;t44 v44;t45 v45;t46 v46;t47 v47;t48 v48;t49 v49;t50 v50;t51 v51;t52 v52;t53 v53;t54 v54;t55 v55;t56 v56;t57 v57;t58 v58;t59 v59;t60 v60; \
+ void __Mark( ::hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); HX_MARK_MEMBER(v0); HX_MARK_MEMBER(v1); HX_MARK_MEMBER(v2); HX_MARK_MEMBER(v3); HX_MARK_MEMBER(v4); HX_MARK_MEMBER(v5); HX_MARK_MEMBER(v6); HX_MARK_MEMBER(v7); HX_MARK_MEMBER(v8); HX_MARK_MEMBER(v9); HX_MARK_MEMBER(v10); HX_MARK_MEMBER(v11); HX_MARK_MEMBER(v12); HX_MARK_MEMBER(v13); HX_MARK_MEMBER(v14); HX_MARK_MEMBER(v15); HX_MARK_MEMBER(v16); HX_MARK_MEMBER(v17); HX_MARK_MEMBER(v18); HX_MARK_MEMBER(v19); HX_MARK_MEMBER(v20); HX_MARK_MEMBER(v21); HX_MARK_MEMBER(v22); HX_MARK_MEMBER(v23); HX_MARK_MEMBER(v24); HX_MARK_MEMBER(v25); HX_MARK_MEMBER(v26); HX_MARK_MEMBER(v27); HX_MARK_MEMBER(v28); HX_MARK_MEMBER(v29); HX_MARK_MEMBER(v30); HX_MARK_MEMBER(v31); HX_MARK_MEMBER(v32); HX_MARK_MEMBER(v33); HX_MARK_MEMBER(v34); HX_MARK_MEMBER(v35); HX_MARK_MEMBER(v36); HX_MARK_MEMBER(v37); HX_MARK_MEMBER(v38); HX_MARK_MEMBER(v39); HX_MARK_MEMBER(v40); HX_MARK_MEMBER(v41); HX_MARK_MEMBER(v42); HX_MARK_MEMBER(v43); HX_MARK_MEMBER(v44); HX_MARK_MEMBER(v45); HX_MARK_MEMBER(v46); HX_MARK_MEMBER(v47); HX_MARK_MEMBER(v48); HX_MARK_MEMBER(v49); HX_MARK_MEMBER(v50); HX_MARK_MEMBER(v51); HX_MARK_MEMBER(v52); HX_MARK_MEMBER(v53); HX_MARK_MEMBER(v54); HX_MARK_MEMBER(v55); HX_MARK_MEMBER(v56); HX_MARK_MEMBER(v57); HX_MARK_MEMBER(v58); HX_MARK_MEMBER(v59); HX_MARK_MEMBER(v60); } \
+ void __Visit( ::hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); HX_VISIT_MEMBER(v0); HX_VISIT_MEMBER(v1); HX_VISIT_MEMBER(v2); HX_VISIT_MEMBER(v3); HX_VISIT_MEMBER(v4); HX_VISIT_MEMBER(v5); HX_VISIT_MEMBER(v6); HX_VISIT_MEMBER(v7); HX_VISIT_MEMBER(v8); HX_VISIT_MEMBER(v9); HX_VISIT_MEMBER(v10); HX_VISIT_MEMBER(v11); HX_VISIT_MEMBER(v12); HX_VISIT_MEMBER(v13); HX_VISIT_MEMBER(v14); HX_VISIT_MEMBER(v15); HX_VISIT_MEMBER(v16); HX_VISIT_MEMBER(v17); HX_VISIT_MEMBER(v18); HX_VISIT_MEMBER(v19); HX_VISIT_MEMBER(v20); HX_VISIT_MEMBER(v21); HX_VISIT_MEMBER(v22); HX_VISIT_MEMBER(v23); HX_VISIT_MEMBER(v24); HX_VISIT_MEMBER(v25); HX_VISIT_MEMBER(v26); HX_VISIT_MEMBER(v27); HX_VISIT_MEMBER(v28); HX_VISIT_MEMBER(v29); HX_VISIT_MEMBER(v30); HX_VISIT_MEMBER(v31); HX_VISIT_MEMBER(v32); HX_VISIT_MEMBER(v33); HX_VISIT_MEMBER(v34); HX_VISIT_MEMBER(v35); HX_VISIT_MEMBER(v36); HX_VISIT_MEMBER(v37); HX_VISIT_MEMBER(v38); HX_VISIT_MEMBER(v39); HX_VISIT_MEMBER(v40); HX_VISIT_MEMBER(v41); HX_VISIT_MEMBER(v42); HX_VISIT_MEMBER(v43); HX_VISIT_MEMBER(v44); HX_VISIT_MEMBER(v45); HX_VISIT_MEMBER(v46); HX_VISIT_MEMBER(v47); HX_VISIT_MEMBER(v48); HX_VISIT_MEMBER(v49); HX_VISIT_MEMBER(v50); HX_VISIT_MEMBER(v51); HX_VISIT_MEMBER(v52); HX_VISIT_MEMBER(v53); HX_VISIT_MEMBER(v54); HX_VISIT_MEMBER(v55); HX_VISIT_MEMBER(v56); HX_VISIT_MEMBER(v57); HX_VISIT_MEMBER(v58); HX_VISIT_MEMBER(v59); HX_VISIT_MEMBER(v60); } \
+ name(t0 __0,t1 __1,t2 __2,t3 __3,t4 __4,t5 __5,t6 __6,t7 __7,t8 __8,t9 __9,t10 __10,t11 __11,t12 __12,t13 __13,t14 __14,t15 __15,t16 __16,t17 __17,t18 __18,t19 __19,t20 __20,t21 __21,t22 __22,t23 __23,t24 __24,t25 __25,t26 __26,t27 __27,t28 __28,t29 __29,t30 __30,t31 __31,t32 __32,t33 __33,t34 __34,t35 __35,t36 __36,t37 __37,t38 __38,t39 __39,t40 __40,t41 __41,t42 __42,t43 __43,t44 __44,t45 __45,t46 __46,t47 __47,t48 __48,t49 __49,t50 __50,t51 __51,t52 __52,t53 __53,t54 __54,t55 __55,t56 __56,t57 __57,t58 __58,t59 __59,t60 __60) : v0(__0),v1(__1),v2(__2),v3(__3),v4(__4),v5(__5),v6(__6),v7(__7),v8(__8),v9(__9),v10(__10),v11(__11),v12(__12),v13(__13),v14(__14),v15(__15),v16(__16),v17(__17),v18(__18),v19(__19),v20(__20),v21(__21),v22(__22),v23(__23),v24(__24),v25(__25),v26(__26),v27(__27),v28(__28),v29(__29),v30(__30),v31(__31),v32(__32),v33(__33),v34(__34),v35(__35),v36(__36),v37(__37),v38(__38),v39(__39),v40(__40),v41(__41),v42(__42),v43(__43),v44(__44),v45(__45),v46(__46),v47(__47),v48(__48),v49(__49),v50(__50),v51(__51),v52(__52),v53(__53),v54(__54),v55(__55),v56(__56),v57(__57),v58(__58),v59(__59),v60(__60) {}
+#endif
#define HX_LOCAL_RUN _hx_run
@@ -312,89 +568,89 @@
// For compatibility until next version of haxe is released
#define HX_BEGIN_LOCAL_FUNC20(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19) \
- HX_BEGIN_LOCAL_FUNC_S20(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19)
+ HX_BEGIN_LOCAL_FUNC_S20( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19)
#define HX_BEGIN_LOCAL_FUNC21(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20) \
- HX_BEGIN_LOCAL_FUNC_S21(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20)
+ HX_BEGIN_LOCAL_FUNC_S21( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20)
#define HX_BEGIN_LOCAL_FUNC22(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21) \
- HX_BEGIN_LOCAL_FUNC_S22(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21)
+ HX_BEGIN_LOCAL_FUNC_S22( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21)
#define HX_BEGIN_LOCAL_FUNC23(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22) \
- HX_BEGIN_LOCAL_FUNC_S23(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22)
+ HX_BEGIN_LOCAL_FUNC_S23( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22)
#define HX_BEGIN_LOCAL_FUNC24(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23) \
- HX_BEGIN_LOCAL_FUNC_S24(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23)
+ HX_BEGIN_LOCAL_FUNC_S24( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23)
#define HX_BEGIN_LOCAL_FUNC25(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24) \
- HX_BEGIN_LOCAL_FUNC_S25(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24)
+ HX_BEGIN_LOCAL_FUNC_S25( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24)
#define HX_BEGIN_LOCAL_FUNC26(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25) \
- HX_BEGIN_LOCAL_FUNC_S26(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25)
+ HX_BEGIN_LOCAL_FUNC_S26( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25)
#define HX_BEGIN_LOCAL_FUNC27(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26) \
- HX_BEGIN_LOCAL_FUNC_S27(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26)
+ HX_BEGIN_LOCAL_FUNC_S27( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26)
#define HX_BEGIN_LOCAL_FUNC28(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27) \
- HX_BEGIN_LOCAL_FUNC_S28(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27)
+ HX_BEGIN_LOCAL_FUNC_S28( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27)
#define HX_BEGIN_LOCAL_FUNC29(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28) \
- HX_BEGIN_LOCAL_FUNC_S29(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28)
+ HX_BEGIN_LOCAL_FUNC_S29( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28)
#define HX_BEGIN_LOCAL_FUNC30(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29) \
- HX_BEGIN_LOCAL_FUNC_S30(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29)
+ HX_BEGIN_LOCAL_FUNC_S30( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29)
#define HX_BEGIN_LOCAL_FUNC31(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30) \
- HX_BEGIN_LOCAL_FUNC_S31(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30)
+ HX_BEGIN_LOCAL_FUNC_S31( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30)
#define HX_BEGIN_LOCAL_FUNC32(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31) \
- HX_BEGIN_LOCAL_FUNC_S32(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31)
+ HX_BEGIN_LOCAL_FUNC_S32( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31)
#define HX_BEGIN_LOCAL_FUNC33(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32) \
- HX_BEGIN_LOCAL_FUNC_S33(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32)
+ HX_BEGIN_LOCAL_FUNC_S33( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32)
#define HX_BEGIN_LOCAL_FUNC34(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33) \
- HX_BEGIN_LOCAL_FUNC_S34(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33)
+ HX_BEGIN_LOCAL_FUNC_S34( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33)
#define HX_BEGIN_LOCAL_FUNC35(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34) \
- HX_BEGIN_LOCAL_FUNC_S35(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34)
+ HX_BEGIN_LOCAL_FUNC_S35( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34)
#define HX_BEGIN_LOCAL_FUNC36(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35) \
- HX_BEGIN_LOCAL_FUNC_S36(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35)
+ HX_BEGIN_LOCAL_FUNC_S36( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35)
#define HX_BEGIN_LOCAL_FUNC37(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36) \
- HX_BEGIN_LOCAL_FUNC_S37(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36)
+ HX_BEGIN_LOCAL_FUNC_S37( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36)
#define HX_BEGIN_LOCAL_FUNC38(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37) \
- HX_BEGIN_LOCAL_FUNC_S38(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37)
+ HX_BEGIN_LOCAL_FUNC_S38( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37)
#define HX_BEGIN_LOCAL_FUNC39(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38) \
- HX_BEGIN_LOCAL_FUNC_S39(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38)
+ HX_BEGIN_LOCAL_FUNC_S39( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38)
#define HX_BEGIN_LOCAL_FUNC40(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39) \
- HX_BEGIN_LOCAL_FUNC_S40(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39)
+ HX_BEGIN_LOCAL_FUNC_S40( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39)
#define HX_BEGIN_LOCAL_FUNC41(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40) \
- HX_BEGIN_LOCAL_FUNC_S41(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40)
+ HX_BEGIN_LOCAL_FUNC_S41( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40)
#define HX_BEGIN_LOCAL_FUNC42(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41) \
- HX_BEGIN_LOCAL_FUNC_S42(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41)
+ HX_BEGIN_LOCAL_FUNC_S42( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41)
#define HX_BEGIN_LOCAL_FUNC43(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42) \
- HX_BEGIN_LOCAL_FUNC_S43(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42)
+ HX_BEGIN_LOCAL_FUNC_S43( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42)
#define HX_BEGIN_LOCAL_FUNC44(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43) \
- HX_BEGIN_LOCAL_FUNC_S44(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43)
+ HX_BEGIN_LOCAL_FUNC_S44( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43)
#define HX_BEGIN_LOCAL_FUNC45(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44) \
- HX_BEGIN_LOCAL_FUNC_S45(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44)
+ HX_BEGIN_LOCAL_FUNC_S45( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44)
#define HX_BEGIN_LOCAL_FUNC46(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45) \
- HX_BEGIN_LOCAL_FUNC_S46(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45)
+ HX_BEGIN_LOCAL_FUNC_S46( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45)
#define HX_BEGIN_LOCAL_FUNC47(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46) \
- HX_BEGIN_LOCAL_FUNC_S47(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46)
+ HX_BEGIN_LOCAL_FUNC_S47( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46)
#define HX_BEGIN_LOCAL_FUNC48(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47) \
- HX_BEGIN_LOCAL_FUNC_S48(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47)
+ HX_BEGIN_LOCAL_FUNC_S48( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47)
#define HX_BEGIN_LOCAL_FUNC49(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48) \
- HX_BEGIN_LOCAL_FUNC_S49(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48)
+ HX_BEGIN_LOCAL_FUNC_S49( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48)
#define HX_BEGIN_LOCAL_FUNC50(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49) \
- HX_BEGIN_LOCAL_FUNC_S50(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49)
+ HX_BEGIN_LOCAL_FUNC_S50( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49)
#define HX_BEGIN_LOCAL_FUNC51(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50) \
- HX_BEGIN_LOCAL_FUNC_S51(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50)
+ HX_BEGIN_LOCAL_FUNC_S51( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50)
#define HX_BEGIN_LOCAL_FUNC52(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51) \
- HX_BEGIN_LOCAL_FUNC_S52(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51)
+ HX_BEGIN_LOCAL_FUNC_S52( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51)
#define HX_BEGIN_LOCAL_FUNC53(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52) \
- HX_BEGIN_LOCAL_FUNC_S53(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52)
+ HX_BEGIN_LOCAL_FUNC_S53( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52)
#define HX_BEGIN_LOCAL_FUNC54(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53) \
- HX_BEGIN_LOCAL_FUNC_S54(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53)
+ HX_BEGIN_LOCAL_FUNC_S54( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53)
#define HX_BEGIN_LOCAL_FUNC55(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54) \
- HX_BEGIN_LOCAL_FUNC_S55(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54)
+ HX_BEGIN_LOCAL_FUNC_S55( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54)
#define HX_BEGIN_LOCAL_FUNC56(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55) \
- HX_BEGIN_LOCAL_FUNC_S56(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55)
+ HX_BEGIN_LOCAL_FUNC_S56( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55)
#define HX_BEGIN_LOCAL_FUNC57(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56) \
- HX_BEGIN_LOCAL_FUNC_S57(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56)
+ HX_BEGIN_LOCAL_FUNC_S57( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56)
#define HX_BEGIN_LOCAL_FUNC58(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57) \
- HX_BEGIN_LOCAL_FUNC_S58(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57)
+ HX_BEGIN_LOCAL_FUNC_S58( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57)
#define HX_BEGIN_LOCAL_FUNC59(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58) \
- HX_BEGIN_LOCAL_FUNC_S59(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58)
+ HX_BEGIN_LOCAL_FUNC_S59( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58)
#define HX_BEGIN_LOCAL_FUNC60(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59) \
- HX_BEGIN_LOCAL_FUNC_S60(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59)
+ HX_BEGIN_LOCAL_FUNC_S60( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59)
#define HX_BEGIN_LOCAL_FUNC61(name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60) \
- HX_BEGIN_LOCAL_FUNC_S61(hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60)
+ HX_BEGIN_LOCAL_FUNC_S61( ::hx::LocalFunc,name,t0,v0,t1,v1,t2,v2,t3,v3,t4,v4,t5,v5,t6,v6,t7,v7,t8,v8,t9,v9,t10,v10,t11,v11,t12,v12,t13,v13,t14,v14,t15,v15,t16,v16,t17,v17,t18,v18,t19,v19,t20,v20,t21,v21,t22,v22,t23,v23,t24,v24,t25,v25,t26,v26,t27,v27,t28,v28,t29,v29,t30,v30,t31,v31,t32,v32,t33,v33,t34,v34,t35,v35,t36,v36,t37,v37,t38,v38,t39,v39,t40,v40,t41,v41,t42,v42,t43,v43,t44,v44,t45,v45,t46,v46,t47,v47,t48,v48,t49,v49,t50,v50,t51,v51,t52,v52,t53,v53,t54,v54,t55,v55,t56,v56,t57,v57,t58,v58,t59,v59,t60,v60)
#endif
diff --git a/Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl b/Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl
index 213b272..6fdc62f 100644
--- a/Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl
+++ b/Sources/c_borogove/iinclude/hx/MacrosJumbo.tpl
@@ -1,13 +1,23 @@
#ifndef HX_MACROS_JUMBO_H
#define HX_MACROS_JUMBO_H
-::foreach LOCALS::
-#define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
- struct name : public SUPER { \
- ::TYPE_DECL::; \
- void __Mark(hx::MarkContext *__inCtx) { DoMarkThis(__inCtx); ::MARKS:: } \
- void __Visit(hx::VisitContext *__inCtx) { DoVisitThis(__inCtx); ::VISITS:: } \
- name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#if (HXCPP_API_LEVEL>=500)
+ ::foreach LOCALS::
+ #define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
+ struct name : public SUPER { \
+ ::TYPE_DECL::; \
+ void __Mark(::hxNS::MarkContext *__inCtx) { ::MARKS:: } \
+ void __Visit(::hxNS::VisitContext *__inCtx) { ::VISITS:: } \
+ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#else
+ ::foreach LOCALS::
+ #define HX_BEGIN_LOCAL_FUNC_S::ARG::(SUPER,name,::TYPE_ARGS::) \
+ struct name : public SUPER { \
+ ::TYPE_DECL::; \
+ void __Mark(::hxNS::MarkContext *__inCtx) { DoMarkThis(__inCtx); ::MARKS:: } \
+ void __Visit(::hxNS::VisitContext *__inCtx) { DoVisitThis(__inCtx); ::VISITS:: } \
+ name(::CONSTRUCT_ARGS::) : ::CONSTRUCT_VARS:: {}::end::
+#endif
#define HX_LOCAL_RUN _hx_run
@@ -17,7 +27,7 @@
// For compatibility until next version of haxe is released
::foreach LOCALS::
#define HX_BEGIN_LOCAL_FUNC::ARG::(name,::TYPE_ARGS::) \
- HX_BEGIN_LOCAL_FUNC_S::ARG::(hx::LocalFunc,name,::TYPE_ARGS::)::end::
+ HX_BEGIN_LOCAL_FUNC_S::ARG::(::hxNS::LocalFunc,name,::TYPE_ARGS::)::end::
#endif
diff --git a/Sources/c_borogove/iinclude/hx/Native.h b/Sources/c_borogove/iinclude/hx/Native.h
index 4b68982..7d8bea5 100644
--- a/Sources/c_borogove/iinclude/hx/Native.h
+++ b/Sources/c_borogove/iinclude/hx/Native.h
@@ -175,8 +175,8 @@ namespace hx
T operator->() { return ptr; }
};
- #define HX_NATIVE_IMPLEMENTATION hx::Object *__GetRealObject() { return this; }
- #define HX_EXTERN_NATIVE_IMPLEMENTATION hx::Object *__GetRealObject() { return 0; }
+ #define HX_NATIVE_IMPLEMENTATION ::hx::Object *__GetRealObject() { return this; }
+ #define HX_EXTERN_NATIVE_IMPLEMENTATION ::hx::Object *__GetRealObject() { return 0; }
}
#endif
diff --git a/Sources/c_borogove/iinclude/hx/ObjcHelpers.h b/Sources/c_borogove/iinclude/hx/ObjcHelpers.h
index 90ef857..393705a 100644
--- a/Sources/c_borogove/iinclude/hx/ObjcHelpers.h
+++ b/Sources/c_borogove/iinclude/hx/ObjcHelpers.h
@@ -36,7 +36,7 @@ struct TObjcBlockVoidVoid
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^ {
- wrapper->haxeObject->__run();
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(0));
};
return wrap;
}
@@ -52,7 +52,7 @@ struct TObjcBlockRetVoid
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^() {
- return (Ret) wrapper->haxeObject->__run();
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(0));
};
return wrap;
}
@@ -69,7 +69,7 @@ struct TObjcBlockVoidArgs1
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0) {
- wrapper->haxeObject->__run(a0);
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(1)->init(0, a0));
};
return wrap;
}
@@ -83,7 +83,7 @@ struct TObjcBlockRetArgs1
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0) {
- return (Ret) wrapper->haxeObject->__run(a0);
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(1)->init(0, a0));
} ;
}
};
@@ -100,7 +100,7 @@ struct TObjcBlockVoidArgs2
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1) {
- wrapper->haxeObject->__run(a0,a1);
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(2)->init(0, a0)->init(1, a1));
};
return wrap;
}
@@ -114,7 +114,7 @@ struct TObjcBlockRetArgs2
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1) {
- return (Ret) wrapper->haxeObject->__run(a0,a1);
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(2)->init(0, a0)->init(1, a1));
} ;
}
};
@@ -130,7 +130,7 @@ struct TObjcBlockVoidArgs3
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2) {
- wrapper->haxeObject->__run(a0,a1,a2);
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(3)->init(0, a0)->init(1, a1)->init(2, a2));
};
return wrap;
}
@@ -144,7 +144,7 @@ struct TObjcBlockRetArgs3
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2) {
- return (Ret) wrapper->haxeObject->__run(a0,a1,a2);
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(3)->init(0, a0)->init(1, a1)->init(2, a2));
} ;
}
};
@@ -160,7 +160,7 @@ struct TObjcBlockVoidArgs4
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2, Arg3 a3) {
- wrapper->haxeObject->__run(a0,a1,a2,a3);
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(4)->init(0, a0)->init(1, a1)->init(2, a2)->init(3, a3));
};
return wrap;
}
@@ -174,7 +174,7 @@ struct TObjcBlockRetArgs4
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2, Arg3 a3) {
- return (Ret) wrapper->haxeObject->__run(a0,a1,a2,a3);
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(4)->init(0, a0)->init(1, a1)->init(2, a2)->init(3, a3));
} ;
}
};
@@ -190,7 +190,7 @@ struct TObjcBlockVoidArgs5
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) {
- wrapper->haxeObject->__run(a0,a1,a2,a3,a4);
+ wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(5)->init(0, a0)->init(1, a1)->init(2, a2)->init(3, a3)->init(4, a4));
};
return wrap;
}
@@ -204,7 +204,7 @@ struct TObjcBlockRetArgs5
{
NSHaxeWrapperClass *wrapper = [[NSHaxeWrapperClass alloc] init:func.mPtr];
t wrap = ^(Arg0 a0, Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) {
- return (Ret) wrapper->haxeObject->__run(a0,a1,a2,a3,a4);
+ return (Ret) wrapper->haxeObject->__Run(Array_obj<Dynamic>::__new(5)->init(0, a0)->init(1, a1)->init(2, a2)->init(3, a3)->init(4, a4));
} ;
}
};
diff --git a/Sources/c_borogove/iinclude/hx/Object.h b/Sources/c_borogove/iinclude/hx/Object.h
index 8cf2fa8..f2fe42a 100644
--- a/Sources/c_borogove/iinclude/hx/Object.h
+++ b/Sources/c_borogove/iinclude/hx/Object.h
@@ -27,7 +27,6 @@ enum hxObjectType
vtAbstractBase = 0x100,
};
-
namespace hx
{
@@ -43,7 +42,7 @@ HXCPP_EXTERN_CLASS_ATTRIBUTES null BadCast();
// CPPIA_CALL = fastcall on x86(32), nothing otherwise
#if (defined(_WIN32) && !defined(_M_X64) && !defined(__x86_64__) && !defined(_ARM_) ) || \
defined(HXCPP_X86) || defined(__i386__) || defined(__i386) || \
- (!defined(_WIN32) && !defined(_ARM_) && !defined(__arm__) && !defined(__x86_64__) )
+ (!defined(_WIN32) && !defined(_ARM_) && !defined(__arm__) && !defined(__aarch64__) && !defined(__x86_64__) )
#if defined(__GNUC__) && !defined(__APPLE__) && !defined(EMSCRIPTEN)
#define CPPIA_CALL __attribute__ ((fastcall))
@@ -240,7 +239,7 @@ public:
virtual Dynamic __GetItem(int inIndex) const;
virtual Dynamic __SetItem(int inIndex,Dynamic inValue);
-
+#if (HXCPP_API_LEVEL<500)
typedef const Dynamic &D;
virtual Dynamic __run();
virtual Dynamic __run(D a);
@@ -248,6 +247,7 @@ public:
virtual Dynamic __run(D a,D b,D c);
virtual Dynamic __run(D a,D b,D c,D d);
virtual Dynamic __run(D a,D b,D c,D d,D e);
+#endif
virtual int __ArgCount() const { return -1; }
@@ -322,7 +322,13 @@ public:
inline ObjectPtr(const SOURCE_ *inPtr,bool inCheckCast=true)
{
if (!SetPtr(const_cast<SOURCE_ *>(inPtr)))
- CastPtr(const_cast<SOURCE_ *>(inPtr),inCheckCast);
+ CastPtr(
+#if (HXCPP_API_LEVEL>=500)
+ reinterpret_cast<::hx::Object*>(const_cast<SOURCE_ *>(inPtr))
+#else
+ const_cast<SOURCE_*>(inPtr)
+#endif
+ ,inCheckCast);
}
inline ObjectPtr &operator=(const null &inNull) { mPtr = 0; return *this; }
@@ -403,5 +409,4 @@ public:
} // end namespace hx
-
#endif
diff --git a/Sources/c_borogove/iinclude/hx/Operators.h b/Sources/c_borogove/iinclude/hx/Operators.h
index 862a5da..333c09c 100644
--- a/Sources/c_borogove/iinclude/hx/Operators.h
+++ b/Sources/c_borogove/iinclude/hx/Operators.h
@@ -8,6 +8,8 @@ template<typename T> inline bool null::operator != (const hx::ObjectPtr<T> &O) c
template<typename T> inline bool null::operator == (const Array<T> &O) const { return !O.mPtr; }
template<typename T> inline bool null::operator != (const Array<T> &O) const { return O.mPtr; }
+template<class TReturn, class... TArgs> inline bool null::operator==(const ::hx::Callable<TReturn(TArgs...)>& O) const { return !O.mPtr; }
+template<class TReturn, class... TArgs> inline bool null::operator!=(const ::hx::Callable<TReturn(TArgs...)>& O) const { return O.mPtr; }
inline bool null::operator == (const hx::FieldRef &O) const { return !O.HasPointer(); }
inline bool null::operator != (const hx::FieldRef &O) const { return O.HasPointer(); }
inline bool null::operator == (const hx::IndexRef &O) const { return !O.HasPointer(); }
@@ -80,8 +82,8 @@ template<> inline double ToDouble(double inValue) { return inValue; }
template<> inline double ToDouble(int inValue) { return inValue; }
template<> inline double ToDouble(bool inValue) { return inValue; }
template<> inline double ToDouble(float inValue) { return inValue; }
-template<> inline double ToDouble(cpp::UInt64 inValue) { return inValue; }
-template<> inline double ToDouble(cpp::Int64 inValue) { return inValue; }
+template<> inline double ToDouble(cpp::UInt64 inValue) { return (double)inValue; }
+template<> inline double ToDouble(cpp::Int64 inValue) { return (double)inValue; }
template<> inline double ToDouble(null inValue) { return 0; }
@@ -259,7 +261,7 @@ template<> inline float TCastObject<float>(hx::Object *inObj)
{
if (!inObj || (inObj->__GetType()!=::vtFloat && inObj->__GetType()!=::vtInt64 && inObj->__GetType()!=::vtInt))
return hx::BadCast();
- return inObj->__ToDouble();
+ return (float)inObj->__ToDouble();
}
template<> inline String TCastObject<String>(hx::Object *inObj)
@@ -343,6 +345,17 @@ template<> struct DynamicConvertType< Array_obj< ::String> * > { enum { Convert
template<typename T> struct DynamicConvertType< Array_obj<T> * > { enum { Convert = sizeof(T) }; };
template<> struct DynamicConvertType< cpp::VirtualArray_obj * > { enum { Convert = aciVirtualArray }; };
+#if (HXCPP_API_LEVEL>=500 && defined(HXCPP_SCRIPTABLE))
+
+// We need to specify callables getting a formal conversion due to an unfortunate edge case involving cppia.
+// Generics are type erased with Dynamic so the parameter is lost at runtime, this means that if a cppia script were
+// to push a closure into a array of Void->Void functions in the host it would not be pushing a callable since cppia
+// does not use them internally.
+// Later when the host perform a static cast on those elements to get a callable it will cause a memory error.
+template<typename T> struct DynamicConvertType< ::hx::Callable_obj<T>* > { enum { Convert = aciAlwaysConvert }; };
+
+#endif
+
}
@@ -393,7 +406,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES StringValueIterator : public cpp::StringIter
public:
StringValueIterator(const String &inValue) : StringIterator(inValue) { }
- int next() { return value.cca(pos++); }
+ int next() HXCPP_OVERRIDE { return value.cca(pos++); }
};
class HXCPP_EXTERN_CLASS_ATTRIBUTES StringKeyValueIterator : public cpp::StringIterator<Dynamic>
@@ -401,7 +414,7 @@ class HXCPP_EXTERN_CLASS_ATTRIBUTES StringKeyValueIterator : public cpp::StringI
public:
StringKeyValueIterator(const String &inValue) : StringIterator(inValue) { }
- Dynamic next() {
+ Dynamic next() HXCPP_OVERRIDE {
int p = pos;
return
hx::AnonStruct2_obj< int,int >::Create(HX_("key",9f,89,51,00),p,
diff --git a/Sources/c_borogove/iinclude/hx/Scriptable.h b/Sources/c_borogove/iinclude/hx/Scriptable.h
index db66f25..7a605dc 100644
--- a/Sources/c_borogove/iinclude/hx/Scriptable.h
+++ b/Sources/c_borogove/iinclude/hx/Scriptable.h
@@ -19,11 +19,19 @@ struct ScriptNamedFunction : public ScriptFunction
{
ScriptNamedFunction(const ScriptFunction &s) : ScriptFunction(s), name(0), isStatic(false), superExecute(0) { }
+#if (HXCPP_API_LEVEL >= 500)
+ ScriptNamedFunction(const char *inName=0,StackExecute inExe=0,const char *inSig=0, bool inIsStatic=false, StackExecute superExecute=0, bool inIsOverride=false)
+ : ScriptFunction(inExe, inSig), name(inName), isStatic(inIsStatic), isOverride(inIsOverride), superExecute(superExecute) { }
+#else
ScriptNamedFunction(const char *inName=0,StackExecute inExe=0,const char *inSig=0, bool inIsStatic=false, StackExecute superExecute=0)
: ScriptFunction(inExe, inSig), name(inName), isStatic(inIsStatic), superExecute(superExecute) { }
+#endif
const char *name;
bool isStatic;
+#if (HXCPP_API_LEVEL >= 500)
+ bool isOverride;
+#endif
StackExecute superExecute;
};
@@ -198,15 +206,15 @@ void __scriptable_load_neko_bytes(Array<unsigned char> inBytes);
void __scriptable_load_abc(Array<unsigned char> inBytes);
#define HX_SCRIPTABLE_REGISTER_INTERFACE(name,class) \
- hx::ScriptableRegisterInterface( HX_CSTRING(name), __scriptableFunctions, & class##_scriptable )
+ ::hx::ScriptableRegisterInterface( HX_CSTRING(name), __scriptableFunctions, & class##_scriptable )
#define HX_SCRIPTABLE_REGISTER_CLASS(name,class) \
- hx::ScriptableRegisterClass( HX_CSTRING(name), (int)offsetof(class##__scriptable,__scriptVTable) + sizeof(void *), __scriptableFunctions, class##__scriptable::__script_create, class##__scriptable::__script_construct )
+ ::hx::ScriptableRegisterClass( HX_CSTRING(name), (int)offsetof(class##__scriptable,__scriptVTable) + sizeof(void *), __scriptableFunctions, class##__scriptable::__script_create, class##__scriptable::__script_construct )
#ifdef HXCPP_VISIT_ALLOCS
#define SCRIPTABLE_VISIT_FUNCTION \
-void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); hx::ScriptableVisit(__scriptVTable[-1],this,HX_VISIT_ARG); }
+void __Visit(HX_VISIT_PARAMS) HXCPP_OVERRIDE { super::__Visit(HX_VISIT_ARG); ::hx::ScriptableVisit(__scriptVTable[-1],this,HX_VISIT_ARG); }
#else
#define SCRIPTABLE_VISIT_FUNCTION
#endif
@@ -215,35 +223,35 @@ void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); hx::ScriptableVisi
#define HX_DEFINE_SCRIPTABLE(ARG_LIST) \
inline void *operator new( size_t inSize, int inExtraDataSize ) \
{ \
- return hx::InternalNew(inSize + inExtraDataSize,true); \
+ return ::hx::InternalNew(inSize + inExtraDataSize,true); \
} \
inline void operator delete(void *,int) {} \
public: \
void **__scriptVTable; \
- static hx::Object *__script_create(void **inVTable, int inExtra) { \
+ static ::hx::Object *__script_create(void **inVTable, int inExtra) { \
__ME *result = new (inExtra) __ME(); \
result->__scriptVTable = inVTable; \
return result; } \
- void ** __GetScriptVTable() { return __scriptVTable; } \
- ::String toString() { if (__scriptVTable[0] ) \
- { hx::CppiaCtx *ctx = hx::CppiaCtx::getCurrent(); hx::AutoStack a(ctx); ctx->pushObject(this); return ctx->runString(__scriptVTable[0]); } \
+ void ** __GetScriptVTable() HXCPP_OVERRIDE { return __scriptVTable; } \
+ ::String toString() HXCPP_OVERRIDE { if (__scriptVTable[0] ) \
+ { ::hx::CppiaCtx *ctx = ::hx::CppiaCtx::getCurrent(); ::hx::AutoStack a(ctx); ctx->pushObject(this); return ctx->runString(__scriptVTable[0]); } \
else return __superString::toString(); } \
- ::String __ToString() const { return hx::ScriptableToString(__scriptVTable[-1]); } \
- hx::Class __GetClass() const { return hx::ScriptableGetClass(__scriptVTable[-1]); } \
- int __GetType() const { return hx::ScriptableGetType(__scriptVTable[-1]); } \
- void __Mark(HX_MARK_PARAMS) { super::__Mark(HX_MARK_ARG); hx::ScriptableMark(__scriptVTable[-1],this,HX_MARK_ARG); } \
+ ::String __ToString() const HXCPP_OVERRIDE { return ::hx::ScriptableToString(__scriptVTable[-1]); } \
+ ::hx::Class __GetClass() const HXCPP_OVERRIDE { return ::hx::ScriptableGetClass(__scriptVTable[-1]); } \
+ int __GetType() const HXCPP_OVERRIDE { return ::hx::ScriptableGetType(__scriptVTable[-1]); } \
+ void __Mark(HX_MARK_PARAMS) HXCPP_OVERRIDE { super::__Mark(HX_MARK_ARG); ::hx::ScriptableMark(__scriptVTable[-1],this,HX_MARK_ARG); } \
SCRIPTABLE_VISIT_FUNCTION
#define HX_DEFINE_SCRIPTABLE_INTERFACE \
void **__scriptVTable; \
- Dynamic mDelegate; \
- hx::Object *__GetRealObject() { return mDelegate.mPtr; } \
+ ::Dynamic mDelegate; \
+ ::hx::Object *__GetRealObject() { return mDelegate.mPtr; } \
SCRIPTABLE_VISIT_FUNCTION \
void ** __GetScriptVTable() { return __scriptVTable; } \
public: \
- static hx::Object *__script_create(void **inVTable,hx::Object *inDelegate) { \
+ static ::hx::Object *__script_create(void **inVTable,::hx::Object *inDelegate) { \
__ME *result = new __ME(); \
result->__scriptVTable = inVTable; \
result->mDelegate = inDelegate; \
@@ -253,21 +261,21 @@ void __Visit(HX_VISIT_PARAMS) { super::__Visit(HX_VISIT_ARG); hx::ScriptableVisi
#define HX_DEFINE_SCRIPTABLE_DYNAMIC \
\
- hx::Val __Field(const ::String &inName,hx::PropertyAccess inCallProp) \
- { Dynamic result; if (hx::ScriptableField(this,inName,inCallProp,result)) return result; return super::__Field(inName,inCallProp); } \
- Float __INumField(int inFieldID) \
- { Float result; if (hx::ScriptableField(this,inFieldID,hx::paccAlways,result)) return result; return super::__INumField(inFieldID); } \
- Dynamic __IField(int inFieldID) \
- { Dynamic result; if (hx::ScriptableField(this,inFieldID,hx::paccAlways,result)) return result; return super::__IField(inFieldID); } \
- hx::Val __SetField(const ::String &inName,const hx::Val &inValue,hx::PropertyAccess inCallProp) \
+ ::hx::Val __Field(const ::String &inName,::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE \
+ { ::Dynamic result; if (::hx::ScriptableField(this,inName,inCallProp,result)) return result; return super::__Field(inName,inCallProp); } \
+ ::Float __INumField(int inFieldID) \
+ { ::Float result; if (::hx::ScriptableField(this,inFieldID,::hx::paccAlways,result)) return result; return super::__INumField(inFieldID); } \
+ ::Dynamic __IField(int inFieldID) \
+ { ::Dynamic result; if (::hx::ScriptableField(this,inFieldID,::hx::paccAlways,result)) return result; return super::__IField(inFieldID); } \
+ ::hx::Val __SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp) HXCPP_OVERRIDE \
{ \
- Dynamic value; \
- if (hx::ScriptableSetField(this, inName, inValue,inCallProp,value)) \
+ ::Dynamic value; \
+ if (::hx::ScriptableSetField(this, inName, inValue,inCallProp,value)) \
return value; \
return super::__SetField(inName,inValue,inCallProp); \
} \
- void __GetFields(Array< ::String> &outFields) \
- { super::__GetFields(outFields); hx::ScriptableGetFields(this,outFields); }
+ void __GetFields(::Array< ::String> &outFields) HXCPP_OVERRIDE \
+ { super::__GetFields(outFields); ::hx::ScriptableGetFields(this,outFields); }
diff --git a/Sources/c_borogove/iinclude/hx/StackContext.h b/Sources/c_borogove/iinclude/hx/StackContext.h
index 67dc563..1b54285 100644
--- a/Sources/c_borogove/iinclude/hx/StackContext.h
+++ b/Sources/c_borogove/iinclude/hx/StackContext.h
@@ -116,7 +116,7 @@
::hx::StackVariable __stackvariable_##cpp_var(_hx_stackframe.variables, false, haxe_name, &cpp_var);
#define HX_STACK_CATCHABLE(T, n) \
- hx::StackCatchable __stackcatchable_##n \
+ ::hx::StackCatchable __stackcatchable_##n \
(_hx_stackframe, reinterpret_cast<T *>(&_hx_stackframe));
// If HXCPP_DEBUGGER is enabled, then a throw is checked to see if it
diff --git a/Sources/c_borogove/iinclude/hx/StdLibs.h b/Sources/c_borogove/iinclude/hx/StdLibs.h
index 8bb7190..fdfd86d 100644
--- a/Sources/c_borogove/iinclude/hx/StdLibs.h
+++ b/Sources/c_borogove/iinclude/hx/StdLibs.h
@@ -43,6 +43,7 @@ Array<unsigned char> __hxcpp_resource_bytes(String inName);
// System access
Array<String> __get_args();
double __time_stamp();
+::cpp::Int64 __time_stamp_ms();
HXCPP_EXTERN_CLASS_ATTRIBUTES void __hxcpp_print_string(const String &inV);
HXCPP_EXTERN_CLASS_ATTRIBUTES void __hxcpp_println_string(const String &inV);
@@ -89,7 +90,11 @@ HXCPP_EXTERN_CLASS_ATTRIBUTES Dynamic __hxcpp_parse_int(const String &inString);
HXCPP_EXTERN_CLASS_ATTRIBUTES double __hxcpp_parse_float(const String &inString);
HXCPP_EXTERN_CLASS_ATTRIBUTES double __hxcpp_parse_substr_float(const String &inString, int start, int len);
HXCPP_EXTERN_CLASS_ATTRIBUTES int __hxcpp_parse_substr_int(const String &inString, int start=0, int len=-1);
+#if (HXCPP_API_LEVEL>=500)
+HXCPP_EXTERN_CLASS_ATTRIBUTES Dynamic __hxcpp_create_var_args(::hx::Callable<::Dynamic(::cpp::VirtualArray)>& inArrayFunc);
+#else
HXCPP_EXTERN_CLASS_ATTRIBUTES Dynamic __hxcpp_create_var_args(Dynamic &inArrayFunc);
+#endif
HXCPP_EXTERN_CLASS_ATTRIBUTES void __hxcpp_set_float_format(String inFormat);
inline int _hx_idiv(int inNum,int inDenom) { return inNum/inDenom; }
@@ -149,19 +154,20 @@ HXCPP_EXTERN_CLASS_ATTRIBUTES String __hxcpp_char_bytes_to_utf8_string(String &i
HXCPP_EXTERN_CLASS_ATTRIBUTES String __hxcpp_utf8_string_to_char_bytes(String &inUTF8);
+
#ifdef HXCPP_GC_GENERATIONAL
#define HX_MAP_THIS this, h
#define HX_MAP_THIS_ this,
- #define HX_MAP_THIS_ARG hx::Object *owner, Dynamic &ioHash
+ #define HX_MAP_THIS_ARG ::hx::Object *owner, ::Dynamic &ioHash
#else
#define HX_MAP_THIS h
- #define HX_MAP_THIS_
- #define HX_MAP_THIS_ARG Dynamic &ioHash
+ #define HX_MAP_THIS_
+ #define HX_MAP_THIS_ARG ::Dynamic &ioHash
#endif
// --- HashRoot ---------------------------------------------------------------------
-HXCPP_EXTERN_CLASS_ATTRIBUTES int __root_hash_size(Dynamic *rtHash);
+HXCPP_EXTERN_CLASS_ATTRIBUTES int __root_hash_size(Dynamic &rtHash);
// --- IntHash ----------------------------------------------------------------------
@@ -293,11 +299,14 @@ double __hxcpp_time_stamp();
// --- vm/threading --------------------------------------------------------------------
+#if (HXCPP_API_LEVEL<500)
+
Dynamic __hxcpp_thread_create(Dynamic inFunc);
+
Dynamic __hxcpp_thread_current();
void __hxcpp_thread_send(Dynamic inThread, Dynamic inMessage);
Dynamic __hxcpp_thread_read_message(bool inBlocked);
-bool __hxcpp_is_current_thread(hx::Object *inThread);
+bool __hxcpp_is_current_thread(hx::Object* inThread);
Dynamic __hxcpp_mutex_create();
void __hxcpp_mutex_acquire(Dynamic);
@@ -314,21 +323,23 @@ void __hxcpp_condition_acquire(Dynamic);
bool __hxcpp_condition_try_acquire(Dynamic);
void __hxcpp_condition_release(Dynamic);
void __hxcpp_condition_wait(Dynamic);
-bool __hxcpp_condition_timed_wait(Dynamic,double);
+bool __hxcpp_condition_timed_wait(Dynamic, double);
void __hxcpp_condition_signal(Dynamic);
void __hxcpp_condition_broadcast(Dynamic);
Dynamic __hxcpp_lock_create();
-bool __hxcpp_lock_wait(Dynamic inlock,double inTime);
+bool __hxcpp_lock_wait(Dynamic inlock, double inTime);
void __hxcpp_lock_release(Dynamic inlock);
Dynamic __hxcpp_deque_create();
-void __hxcpp_deque_add(Dynamic q,Dynamic inVal);
-void __hxcpp_deque_push(Dynamic q,Dynamic inVal);
-Dynamic __hxcpp_deque_pop(Dynamic q,bool block);
+void __hxcpp_deque_add(Dynamic q, Dynamic inVal);
+void __hxcpp_deque_push(Dynamic q, Dynamic inVal);
+Dynamic __hxcpp_deque_pop(Dynamic q, bool block);
Dynamic __hxcpp_tls_get(int inID);
-void __hxcpp_tls_set(int inID,Dynamic inVal);
+void __hxcpp_tls_set(int inID, Dynamic inVal);
+
+#endif
bool _hx_atomic_exchange_if(::cpp::Pointer<cpp::AtomicInt> inPtr, int test, int newVal );
int _hx_atomic_inc(::cpp::Pointer<cpp::AtomicInt> inPtr );
@@ -472,9 +483,11 @@ inline void* _hx_atomic_compare_exchange_ptr(volatile void **a, void *expected,
#elif defined(HX_MSVC_ATOMICS)
return _InterlockedCompareExchangePointer((void *volatile *)a, replacement, expected);
#else
- void *old = *a;
- *a = replacement;
- return old;
+ void *old = *a;
+ if (old == expected) {
+ *a = replacement;
+ }
+ return old;
#endif
}
@@ -482,6 +495,90 @@ inline void* _hx_atomic_compare_exchange_cast_ptr(void *a, void *expected, void
return _hx_atomic_compare_exchange_ptr((volatile void **)a, expected, replacement);
}
+#include <atomic>
+
+struct AtomicObject: hx::Object {
+ std::atomic< ::hx::Object *> aPtr;
+
+ AtomicObject(Dynamic val) { aPtr = val.mPtr; }
+
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE {
+ Dynamic ptr = load();
+ HX_MARK_MEMBER(ptr);
+ }
+
+#ifdef HXCPP_VISIT_ALLOCS
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE {
+ hx::Object *obj = aPtr.load();
+ HX_VISIT_MEMBER(obj);
+ aPtr.store(obj);
+ }
+#endif
+
+ Dynamic store(Dynamic val) {
+ aPtr.store(val.mPtr);
+ HX_OBJ_WB_GET(this, val.mPtr);
+ return val;
+ }
+
+ Dynamic load() {
+ return aPtr.load();
+ }
+
+ Dynamic exchange(Dynamic val) {
+ Dynamic ret = aPtr.exchange(val.mPtr);
+ HX_OBJ_WB_GET(this, val.mPtr);
+ return ret;
+ }
+
+ Dynamic compareExchange(Dynamic expected, Dynamic replacement) {
+ // Note: using Dynamic instead of hx::Object* is important
+ // Dynamic has an overloaded == operator, a raw pointer to hx::Object does not.
+ Dynamic original = aPtr.load();
+ while (original == expected) {
+ if (aPtr.compare_exchange_weak(original.mPtr, replacement.mPtr)) {
+ HX_OBJ_WB_GET(this, replacement.mPtr);
+ return original;
+ } else {
+ continue;
+ }
+ }
+ return original;
+ }
+};
+
+inline Dynamic __hxcpp_atomic_object_create(Dynamic value) {
+ return new AtomicObject(value);
+}
+
+inline Dynamic __hxcpp_atomic_object_store(Dynamic dynObj, Dynamic val) {
+ AtomicObject *obj = dynamic_cast<AtomicObject *>(dynObj.mPtr);
+ if (!obj)
+ throw HX_INVALID_OBJECT;
+ return obj->store(val);
+}
+
+inline Dynamic __hxcpp_atomic_object_load(Dynamic dynObj) {
+ AtomicObject *obj = dynamic_cast<AtomicObject *>(dynObj.mPtr);
+ if (!obj)
+ throw HX_INVALID_OBJECT;
+ return obj->load();
+}
+
+inline Dynamic __hxcpp_atomic_object_exchange(Dynamic dynObj, Dynamic newVal) {
+ AtomicObject *obj = dynamic_cast<AtomicObject *>(dynObj.mPtr);
+ if (!obj)
+ throw HX_INVALID_OBJECT;
+ return obj->exchange(newVal);
+}
+
+inline Dynamic __hxcpp_atomic_object_compare_exchange(Dynamic dynObj, Dynamic expected, Dynamic replacement) {
+ AtomicObject *obj = dynamic_cast<AtomicObject *>(dynObj.mPtr);
+ if (!obj)
+ throw HX_INVALID_OBJECT;
+ return obj->compareExchange(expected, replacement);
+}
+
Array<String> __hxcpp_get_call_stack(bool inSkipLast);
Array<String> __hxcpp_get_exception_stack();
#define HXCPP_HAS_CLASSLIST
@@ -903,7 +1000,11 @@ void _hx_ssl_conf_close( Dynamic hconf );
void _hx_ssl_conf_set_ca( Dynamic hconf, Dynamic hcert );
void _hx_ssl_conf_set_verify( Dynamic hconf, int mode );
void _hx_ssl_conf_set_cert( Dynamic hconf, Dynamic hcert, Dynamic hpkey );
+#if (HXCPP_API_LEVEL>=500)
+void _hx_ssl_conf_set_servername_callback(Dynamic hconf, ::hx::Callable<::Dynamic(::String)> obj);
+#else
void _hx_ssl_conf_set_servername_callback( Dynamic hconf, Dynamic obj );
+#endif
Dynamic _hx_ssl_cert_load_defaults();
Dynamic _hx_ssl_cert_load_file( String file );
Dynamic _hx_ssl_cert_load_path( String path );
diff --git a/Sources/c_borogove/iinclude/hx/StringAlloc.h b/Sources/c_borogove/iinclude/hx/StringAlloc.h
index 29fb7f7..59df683 100755
--- a/Sources/c_borogove/iinclude/hx/StringAlloc.h
+++ b/Sources/c_borogove/iinclude/hx/StringAlloc.h
@@ -16,6 +16,14 @@ class IStringAlloc
~IStringAlloc(){};
};
+#ifndef HXCPP_OVERRIDE
+ #if HXCPP_API_LEVEL >= 500 && (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSVC_LANG >= 201103L))
+ #define HXCPP_OVERRIDE override
+ #else
+ #define HXCPP_OVERRIDE
+ #endif
+#endif
+
template<int STACK>
class StringAlloc : public IStringAlloc
{
@@ -30,7 +38,7 @@ class StringAlloc : public IStringAlloc
if (heap)
free(heap);
}
- void *allocBytes(size_t inBytes)
+ void *allocBytes(size_t inBytes) HXCPP_OVERRIDE
{
if (inBytes<=STACK)
return buffer;
diff --git a/Sources/c_borogove/iinclude/hx/Telemetry.h b/Sources/c_borogove/iinclude/hx/Telemetry.h
index cf86577..8554433 100644
--- a/Sources/c_borogove/iinclude/hx/Telemetry.h
+++ b/Sources/c_borogove/iinclude/hx/Telemetry.h
@@ -3,7 +3,6 @@
#define HX_TELEMETRY_VERSION 1
-#include <hxcpp.h>
#include <vector>
struct TelemetryFrame
diff --git a/Sources/c_borogove/iinclude/hx/TelemetryTracy.h b/Sources/c_borogove/iinclude/hx/TelemetryTracy.h
index 178932a..516bb73 100644
--- a/Sources/c_borogove/iinclude/hx/TelemetryTracy.h
+++ b/Sources/c_borogove/iinclude/hx/TelemetryTracy.h
@@ -7,8 +7,8 @@
#define TRACY_ENABLE
#include <hxcpp.h>
-#include "../../project/thirdparty/tracy-0.11.1/tracy/TracyC.h"
-#include "../../project/thirdparty/tracy-0.11.1/tracy/Tracy.hpp"
+#include "../../project/thirdparty/tracy-0.13.1/tracy/TracyC.h"
+#include "../../project/thirdparty/tracy-0.13.1/tracy/Tracy.hpp"
#ifdef HXCPP_TRACY_MEMORY
#ifdef HXCPP_GC_MOVING
@@ -30,7 +30,7 @@
::hx::strbuf TracyConcat(_hx_tracy_str_buffer, TracyLine); \
int TracyConcat(_hx_tracy_str_length, TracyLine); \
const char *TracyConcat(_hx_tracy_str_buffer_ptr, TracyLine) = name.utf8_str(&TracyConcat(_hx_tracy_str_buffer, TracyLine), false, &TracyConcat(_hx_tracy_str_length, TracyLine)); \
- ::tracy::ScopedZone TracyConcat(_hx_tracy_scoped_zone,TracyLine)(_hx_stackframe.lineNumber, _hx_stackframe.position->fileName, strlen(_hx_stackframe.position->fileName), _hx_stackframe.position->fullName, strlen(_hx_stackframe.position->fullName), TracyConcat(_hx_tracy_str_buffer_ptr, TracyLine), TracyConcat(_hx_tracy_str_length, TracyLine));
+ ::tracy::ScopedZone TracyConcat(_hx_tracy_scoped_zone,TracyLine)(_hx_stackframe.lineNumber, _hx_stackframe.position->fileName, strlen(_hx_stackframe.position->fileName), _hx_stackframe.position->fullName, strlen(_hx_stackframe.position->fullName), TracyConcat(_hx_tracy_str_buffer_ptr, TracyLine), TracyConcat(_hx_tracy_str_length, TracyLine), -1);
#endif
void __hxcpp_tracy_framemark();
diff --git a/Sources/c_borogove/iinclude/hx/Thread.h b/Sources/c_borogove/iinclude/hx/Thread.h
index 069d51e..7f118b2 100644
--- a/Sources/c_borogove/iinclude/hx/Thread.h
+++ b/Sources/c_borogove/iinclude/hx/Thread.h
@@ -86,6 +86,9 @@ inline bool HxCreateDetachedThread(DWORD (WINAPI *func)(void *), void *param)
struct HxMutex
{
+ bool mValid;
+ pthread_mutex_t *mMutex;
+
HxMutex()
{
pthread_mutexattr_t mta;
@@ -96,9 +99,7 @@ struct HxMutex
}
~HxMutex()
{
- if (mValid)
- pthread_mutex_destroy(mMutex);
- delete mMutex;
+ Clean();
}
void Lock() { pthread_mutex_lock(mMutex); }
void Unlock() { pthread_mutex_unlock(mMutex); }
@@ -107,12 +108,16 @@ struct HxMutex
void Clean()
{
if (mValid)
+ {
pthread_mutex_destroy(mMutex);
- mValid = 0;
+ mValid = false;
+ }
+ if (mMutex)
+ {
+ delete mMutex;
+ mMutex = nullptr;
+ }
}
-
- bool mValid;
- pthread_mutex_t *mMutex;
};
#define THREAD_FUNC_TYPE void *
@@ -198,19 +203,20 @@ struct HxSemaphore
struct HxSemaphore
{
+ HxMutex mMutex;
+ pthread_cond_t *mCondition;
+ bool mSet;
+
+
HxSemaphore()
{
mSet = false;
- mValid = true;
mCondition = new pthread_cond_t();
pthread_cond_init(mCondition,0);
}
~HxSemaphore()
{
- if (mValid)
- {
- pthread_cond_destroy(mCondition);
- }
+ Clean();
}
// For autolock
inline operator HxMutex &() { return mMutex; }
@@ -294,19 +300,14 @@ struct HxSemaphore
void Clean()
{
mMutex.Clean();
- if (mValid)
+ if (mCondition)
{
- mValid = false;
pthread_cond_destroy(mCondition);
+ delete mCondition;
+ mCondition = nullptr;
}
- delete mCondition;
}
-
- HxMutex mMutex;
- pthread_cond_t *mCondition;
- bool mSet;
- bool mValid;
};
diff --git a/Sources/c_borogove/iinclude/hx/Tls.h b/Sources/c_borogove/iinclude/hx/Tls.h
index 689d4bb..be79045 100755
--- a/Sources/c_borogove/iinclude/hx/Tls.h
+++ b/Sources/c_borogove/iinclude/hx/Tls.h
@@ -84,13 +84,13 @@
#define DECLARE_TLS_DATA(TYPE,NAME) \
- hx::TLSData<TYPE> NAME;
+ ::hx::TLSData<TYPE> NAME;
#define DECLARE_FAST_TLS_DATA(TYPE,NAME) \
- hx::TLSData<TYPE,true> NAME;
+ ::hx::TLSData<TYPE,true> NAME;
#define EXTERN_TLS_DATA(TYPE,NAME) \
- extern hx::TLSData<TYPE> NAME;
+ extern ::hx::TLSData<TYPE> NAME;
#define EXTERN_FAST_TLS_DATA(TYPE,NAME) \
- extern hx::TLSData<TYPE,true> NAME;
+ extern ::hx::TLSData<TYPE,true> NAME;
#endif
@@ -147,13 +147,13 @@ struct TLSData
#else
#define DECLARE_TLS_DATA(TYPE,NAME) \
- hx::TLSData<TYPE> NAME;
+ ::hx::TLSData<TYPE> NAME;
#define DECLARE_FAST_TLS_DATA(TYPE,NAME) \
- hx::TLSData<TYPE,true> NAME;
+ ::hx::TLSData<TYPE,true> NAME;
#define EXTERN_TLS_DATA(TYPE,NAME) \
- extern hx::TLSData<TYPE> NAME;
+ extern ::hx::TLSData<TYPE> NAME;
#define EXTERN_FAST_TLS_DATA(TYPE,NAME) \
- extern hx::TLSData<TYPE,true> NAME;
+ extern ::hx::TLSData<TYPE,true> NAME;
#endif
diff --git a/Sources/c_borogove/iinclude/hx/thread/ConditionVariable.hpp b/Sources/c_borogove/iinclude/hx/thread/ConditionVariable.hpp
new file mode 100644
index 0000000..aef1f83
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/ConditionVariable.hpp
@@ -0,0 +1,30 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, ConditionVariable)
+
+namespace hx
+{
+ namespace thread
+ {
+ struct ConditionVariable_obj : public hx::Object
+ {
+ ConditionVariable_obj();
+
+ void acquire();
+ bool tryAcquire();
+ void release();
+ void wait();
+ void signal();
+ void broadcast();
+
+ private:
+ struct Impl;
+
+ Impl* impl;
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/thread/CountingSemaphore.hpp b/Sources/c_borogove/iinclude/hx/thread/CountingSemaphore.hpp
new file mode 100644
index 0000000..34deb55
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/CountingSemaphore.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, CountingSemaphore)
+
+namespace hx
+{
+ namespace thread
+ {
+ struct CountingSemaphore_obj : public hx::Object
+ {
+ CountingSemaphore_obj(int value);
+
+ void acquire();
+ void release();
+ bool tryAcquire(Null<double> timeout);
+
+ private:
+ struct Impl;
+
+ Impl* impl;
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/thread/RecursiveMutex.hpp b/Sources/c_borogove/iinclude/hx/thread/RecursiveMutex.hpp
new file mode 100644
index 0000000..f2bac5c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/RecursiveMutex.hpp
@@ -0,0 +1,27 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, RecursiveMutex)
+
+namespace hx
+{
+ namespace thread
+ {
+ struct RecursiveMutex_obj : public hx::Object
+ {
+ RecursiveMutex_obj();
+
+ void acquire();
+ void release();
+ bool tryAcquire();
+
+ private:
+ struct Impl;
+
+ Impl* impl;
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/thread/Scratch.hpp b/Sources/c_borogove/iinclude/hx/thread/Scratch.hpp
new file mode 100644
index 0000000..946eada
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/Scratch.hpp
@@ -0,0 +1,33 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, Thread)
+
+namespace hx
+{
+ namespace thread
+ {
+ class Scratch final
+ {
+ using ReleaseFunc = void(*)(cpp::marshal::View<uint8_t>);
+
+ int* count;
+ ReleaseFunc release;
+
+ public:
+ static Scratch alloc(int bytes);
+
+ cpp::marshal::View<uint8_t> view;
+
+ Scratch(int* _count, cpp::marshal::View<uint8_t> _view, ReleaseFunc _release);
+ Scratch(const Scratch& other);
+
+ ~Scratch();
+
+ Scratch& operator=(const Scratch& other);
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/thread/Thread.hpp b/Sources/c_borogove/iinclude/hx/thread/Thread.hpp
new file mode 100644
index 0000000..ee857bd
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/Thread.hpp
@@ -0,0 +1,30 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, Thread)
+
+namespace hx
+{
+ namespace thread
+ {
+ struct Thread_obj : public hx::Object
+ {
+ using CreateFunction =
+#if (HXCPP_API_LEVEL >= 500)
+ Callable<void(void)>;
+#else
+ Dynamic;
+#endif
+
+ static Thread create(CreateFunction);
+ static Thread current();
+ static int id();
+
+ virtual String getName() = 0;
+ virtual void setName(const String& name) = 0;
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/thread/ThreadLocal.hpp b/Sources/c_borogove/iinclude/hx/thread/ThreadLocal.hpp
new file mode 100644
index 0000000..5cf1934
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/thread/ThreadLocal.hpp
@@ -0,0 +1,26 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, thread, ThreadLocal)
+
+namespace hx
+{
+ namespace thread
+ {
+ class ThreadLocal_obj : public hx::Object
+ {
+ struct Impl;
+
+ Impl* impl;
+
+ public:
+ ThreadLocal_obj();
+
+ Dynamic get();
+ void set(Dynamic obj);
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hx/zip/Compress.hpp b/Sources/c_borogove/iinclude/hx/zip/Compress.hpp
new file mode 100644
index 0000000..85a9ef8
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/zip/Compress.hpp
@@ -0,0 +1,19 @@
+#pragma once
+
+#include "Zip.hpp"
+
+HX_DECLARE_CLASS2(hx, zip, Compress)
+
+namespace hx
+{
+ namespace zip
+ {
+ struct Compress_obj : Zip_obj
+ {
+ static Compress create(int level);
+ static Array<uint8_t> run(cpp::marshal::View<uint8_t> src, int level);
+
+ virtual int getBounds(int length) = 0;
+ };
+ }
+}
diff --git a/Sources/c_borogove/iinclude/hx/zip/Uncompress.hpp b/Sources/c_borogove/iinclude/hx/zip/Uncompress.hpp
new file mode 100644
index 0000000..2a67827
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/zip/Uncompress.hpp
@@ -0,0 +1,17 @@
+#pragma once
+
+#include "Zip.hpp"
+
+HX_DECLARE_CLASS2(hx, zip, Uncompress)
+
+namespace hx
+{
+ namespace zip
+ {
+ struct Uncompress_obj : Zip_obj
+ {
+ static Uncompress create(int windowSize);
+ static Array<uint8_t> run(cpp::marshal::View<uint8_t> src, int bufferSize);
+ };
+ }
+}
diff --git a/Sources/c_borogove/iinclude/hx/zip/Zip.hpp b/Sources/c_borogove/iinclude/hx/zip/Zip.hpp
new file mode 100644
index 0000000..4b3342f
--- /dev/null
+++ b/Sources/c_borogove/iinclude/hx/zip/Zip.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(hx, zip, Zip)
+
+namespace hx
+{
+ namespace zip
+ {
+ enum Flush {
+ None,
+ Sync,
+ Full,
+ Finish,
+ Block
+ };
+
+ struct Result final {
+ const bool done;
+ const int read;
+ const int write;
+
+ Result(int inDone, int inRead, int inWrite);
+ };
+
+ struct Zip_obj : hx::Object
+ {
+ virtual Result execute(cpp::marshal::View<uint8_t> src, cpp::marshal::View<uint8_t> dst) = 0;
+ virtual void setFlushMode(Flush mode) = 0;
+ virtual void close() = 0;
+ };
+ }
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/iinclude/hxMath.h b/Sources/c_borogove/iinclude/hxMath.h
index 1e4b1b6..50fae98 100644
--- a/Sources/c_borogove/iinclude/hxMath.h
+++ b/Sources/c_borogove/iinclude/hxMath.h
@@ -47,7 +47,31 @@ public:
static bool isNaN(double inX);
static bool isFinite(double inX);
-
+#if (HXCPP_API_LEVEL>=500)
+ static ::hx::Callable<int(double)> floor_dyn();
+ static ::hx::Callable<int(double)> ceil_dyn();
+ static ::hx::Callable<int(double)> round_dyn();
+ static ::hx::Callable<double(double)> ffloor_dyn();
+ static ::hx::Callable<double(double)> fceil_dyn();
+ static ::hx::Callable<double(double)> fround_dyn();
+ static ::hx::Callable<double()> random_dyn();
+ static ::hx::Callable<double(double)> sqrt_dyn();
+ static ::hx::Callable<double(double)> cos_dyn();
+ static ::hx::Callable<double(double)> sin_dyn();
+ static ::hx::Callable<double(double)> tan_dyn();
+ static ::hx::Callable<double(double, double)> atan2_dyn();
+ static ::hx::Callable<double(double)> abs_dyn();
+ static ::hx::Callable<double(double, double) > pow_dyn();
+ static ::hx::Callable<double(double)> log_dyn();
+ static ::hx::Callable<double(double, double)> min_dyn();
+ static ::hx::Callable<double(double, double)> max_dyn();
+ static ::hx::Callable<double(double)> atan_dyn();
+ static ::hx::Callable<double(double)> asin_dyn();
+ static ::hx::Callable<double(double)> acos_dyn();
+ static ::hx::Callable<double(double)> exp_dyn();
+ static ::hx::Callable<bool(double)> isNaN_dyn();
+ static ::hx::Callable<bool(double)> isFinite_dyn();
+#else
static Dynamic floor_dyn();
static Dynamic ceil_dyn();
static Dynamic round_dyn();
@@ -71,6 +95,7 @@ public:
static Dynamic exp_dyn();
static Dynamic isNaN_dyn();
static Dynamic isFinite_dyn();
+#endif
static double NaN;
static double PI;
diff --git a/Sources/c_borogove/iinclude/hxString.h b/Sources/c_borogove/iinclude/hxString.h
index e390ac3..6906c95 100644
--- a/Sources/c_borogove/iinclude/hxString.h
+++ b/Sources/c_borogove/iinclude/hxString.h
@@ -5,6 +5,7 @@
#error "Please include hxcpp.h, not hx/Object.h"
#endif
+#include <hx/OS.h>
#include <hx/StringAlloc.h>
#ifdef __OBJC__
@@ -46,6 +47,9 @@ public:
static String create(const char16_t *inPtr,int inLen=-1);
static String create(const char *inPtr,int inLen=-1);
+ static String create(const ::cpp::marshal::View<char>& buffer);
+ static String create(const ::cpp::marshal::View<char16_t>& buffer);
+
// Uses non-gc memory and wont ever be collected
static ::String createPermanent(const char *inUtf8, int inLen);
const ::String &makePermanent() const;
@@ -95,7 +99,9 @@ public:
String(const float &inRHS);
String(const cpp::Int64 &inRHS);
String(const cpp::UInt64 &inRHS);
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
String(const unsigned long &inRHS);
+ #endif
explicit String(const bool &inRHS);
inline String(const null &inRHS) : __s(0), length(0) { }
String(hx::Null< ::String > inRHS) : __s(inRHS.value.__s), length(inRHS.value.length) { }
@@ -146,10 +152,12 @@ public:
::String toString() { return *this; }
+
::String __URLEncode() const;
::String __URLDecode() const;
+
::String toUpperCase() const;
::String toLowerCase() const;
::String charAt(int inPos) const;
@@ -169,6 +177,9 @@ public:
const wchar_t *wchar_str(hx::IStringAlloc *inBuffer = 0) const;
const char16_t *wc_str(hx::IStringAlloc *inBuffer = 0, int *outCharLength = 0) const;
+ bool wc_str(::cpp::marshal::View<char16_t> buffer, int* outCharLength = nullptr) const;
+ bool utf8_str(::cpp::marshal::View<char> buffer, int* outByteLength = nullptr) const;
+
const char *__CStr() const { return utf8_str(); };
const wchar_t *__WCStr() const { return wchar_str(0); }
inline operator const char *() { return utf8_str(); }
@@ -324,7 +335,7 @@ public:
inline int cca(int inPos) const
{
- if ((unsigned)inPos>=length) return 0;
+ if ( (inPos>=length) || (inPos<0) ) return 0;
#ifdef HX_SMART_STRINGS
if (isUTF16Encoded())
return __w[inPos];
@@ -337,10 +348,22 @@ public:
static char16_t *allocChar16Ptr(int len);
-
+#if (HXCPP_API_LEVEL>=500)
+ static ::hx::Callable<::String(int)> fromCharCode_dyn();
+
+ ::hx::Callable<::String(int)> charAt_dyn();
+ ::hx::Callable<::Dynamic(int)> charCodeAt_dyn();
+ ::hx::Callable<int(::String, ::Dynamic)> indexOf_dyn();
+ ::hx::Callable<int(::String, ::Dynamic)> lastIndexOf_dyn();
+ ::hx::Callable<::Array<::String>(::String)> split_dyn();
+ ::hx::Callable<::String(int, ::Dynamic)> substr_dyn();
+ ::hx::Callable<::String(int, ::Dynamic)> substring_dyn();
+ ::hx::Callable<::String()> toLowerCase_dyn();
+ ::hx::Callable<::String()> toString_dyn();
+ ::hx::Callable<::String()> toUpperCase_dyn();
+#else
static Dynamic fromCharCode_dyn();
-
Dynamic charAt_dyn();
Dynamic charCodeAt_dyn();
Dynamic indexOf_dyn();
@@ -351,6 +374,7 @@ public:
Dynamic toLowerCase_dyn();
Dynamic toString_dyn();
Dynamic toUpperCase_dyn();
+#endif
// This is used by the string-wrapped-as-dynamic class
hx::Val __Field(const ::String &inString, hx::PropertyAccess inCallProp);
diff --git a/Sources/c_borogove/iinclude/hxcpp.h b/Sources/c_borogove/iinclude/hxcpp.h
index 008f135..ca01537 100755
--- a/Sources/c_borogove/iinclude/hxcpp.h
+++ b/Sources/c_borogove/iinclude/hxcpp.h
@@ -68,11 +68,7 @@
#define HXCPP_ALIGN_FLOAT
#endif
-// Must allign allocs to 8 bytes to match floating point requirement?
-// Ints must br read on 4-byte boundary
-#if (!defined(HXCPP_ALIGN_FLOAT) && (defined(EMSCRIPTEN) || defined(GCW0)) )
- #define HXCPP_ALIGN_ALLOC
-#endif
+#define HXCPP_ALIGN_ALLOC
// Some compilers are over-enthusiastic about what they #define ...
@@ -102,6 +98,12 @@
#endif
#endif
+#if HXCPP_API_LEVEL >= 500 && (__cplusplus >= 201103L || (defined(_MSC_VER) && _MSVC_LANG >= 201103L))
+ #define HXCPP_OVERRIDE override
+#else
+ #define HXCPP_OVERRIDE
+#endif
+
typedef char HX_CHAR;
@@ -253,12 +255,19 @@ namespace hx { class Object; }
namespace hx { class FieldRef; }
namespace hx { class IndexRef; }
namespace hx { class NativeInterface; }
-namespace hx { class StackContext; }
+namespace hx { struct StackContext; }
namespace hx { template<typename T> class Native; }
namespace hx { template<typename O> class ObjectPtr; }
namespace cpp { template<typename S,typename H> class Struct; }
namespace cpp { template<typename T> class Pointer; }
namespace cpp { template<typename T> class Function; }
+namespace cpp { namespace marshal { template<class T> class Boxed_obj; } }
+namespace cpp { namespace marshal { template<class T> using Boxed =::hx::ObjectPtr<Boxed_obj<T>>; } }
+namespace cpp { namespace marshal { template<class T> class ValueType; } }
+namespace cpp { namespace marshal { template<class T> class ValueReference; } }
+namespace cpp { namespace marshal { template<class T> class PointerType; } }
+namespace cpp { namespace marshal { template<class T> class PointerReference; } }
+namespace cpp { namespace marshal { template<class T> struct View; } }
template<typename ELEM_> class Array_obj;
template<typename ELEM_> class Array;
namespace hx {
@@ -311,9 +320,9 @@ enum PropertyAccessMode
paccAlways = 2,
};
typedef PropertyAccessMode PropertyAccess;
-#define HX_PROP_NEVER hx::paccNever
-#define HX_PROP_DYNAMIC hx::paccDynamic
-#define HX_PROP_ALWAYS hx::paccAlways
+#define HX_PROP_NEVER ::hx::paccNever
+#define HX_PROP_DYNAMIC ::hx::paccDynamic
+#define HX_PROP_ALWAYS ::hx::paccAlways
} // end namespace hx
@@ -336,21 +345,37 @@ typedef PropertyAccessMode PropertyAccess;
#include <cpp/CppInt32__.h>
// This needs to "see" other declarations ...
#include <hx/GcTypeInference.h>
+#include <hx/Functions.h>
#include <hx/FieldRef.h>
#include "Array.h"
#include <hx/Anon.h>
#include <hx/Class.h>
#include "Enum.h"
#include <hx/Interface.h>
+#ifdef HXCPP_TELEMETRY
#include <hx/Telemetry.h>
+#endif
#if defined(__OBJC__) && defined(HXCPP_OBJC)
#include <hx/ObjcHelpers.h>
#endif
#include <hx/StdLibs.h>
#include <cpp/Pointer.h>
+#include <cpp/marshal/Boxed.hpp>
+#include <cpp/marshal/ValueType.hpp>
+#include <cpp/marshal/PointerType.hpp>
+#include <cpp/marshal/ValueReference.hpp>
+#include <cpp/marshal/PointerReference.hpp>
+#include <cpp/marshal/View.hpp>
+#include <cpp/marshal/Marshal.hpp>
+#include <cpp/marshal/RootHandle.hpp>
+#include <cpp/encoding/Ascii.hpp>
+#include <cpp/encoding/Utf8.hpp>
+#include <cpp/encoding/Utf16.hpp>
#include <hx/Native.h>
#include <hx/Operators.h>
-#include <hx/Functions.h>
+#if (HXCPP_API_LEVEL>=500)
+#include <hx/Invoker.h>
+#endif
// second time ...
#include <cpp/Variant.h>
#include <hx/Debug.h>
diff --git a/Sources/c_borogove/iinclude/null.h b/Sources/c_borogove/iinclude/null.h
index 396dc74..d4d32d6 100644
--- a/Sources/c_borogove/iinclude/null.h
+++ b/Sources/c_borogove/iinclude/null.h
@@ -1,7 +1,7 @@
#ifndef HX_NULL_H
#define HX_NULL_H
-
+#include <hx/OS.h>
// --- null value ---------------------------------------------------------
//
@@ -16,6 +16,8 @@ namespace hx { template<typename O> class ObjectPtr; }
namespace hx { null NullArithmetic(const char *inText); }
+namespace hx { template<class TReturn, class... TArgs> class Callable; }
+
#define HX_NULL_COMPARE_OP(op,type,value) \
bool operator op (const type &inRHS) const { return value; }
@@ -34,7 +36,7 @@ namespace hx { null NullArithmetic(const char *inText); }
HX_NULL_COMPARE_OP(>=,type,false)
#define HX_COMPARE_NULL_OP(op,type,value) \
- inline bool operator op (type inLHS, const null &) { return value; }
+ inline bool operator op (type inLHS, const ::null &) { return value; }
#define HX_COMPARE_NULL_OPS(type) \
HX_COMPARE_NULL_OP(<,type,false) \
@@ -52,14 +54,14 @@ namespace hx { null NullArithmetic(const char *inText); }
#define HX_NULL_ARITHMETIC_OP(op) \
-template<typename T> inline null operator op (T t) const \
- { return hx::NullArithmetic(#op); } \
-inline null operator op (const null &) const \
- { return hx::NullArithmetic(#op); }
+template<typename T> inline ::null operator op (T t) const \
+ { return ::hx::NullArithmetic(#op); } \
+inline ::null operator op (const ::null &) const \
+ { return ::hx::NullArithmetic(#op); }
#define HX_ARITHMETIC_NULL_OP(op) \
-template<typename T> inline null operator op (const T &, const null &) \
- { return hx::NullArithmetic(#op); }
+template<typename T> inline ::null operator op (const T &, const ::null &) \
+ { return ::hx::NullArithmetic(#op); }
class null
@@ -90,9 +92,13 @@ class null
operator char () { return 0; }
operator unsigned char () { return 0; }
operator signed char () { return 0; }
+ operator char16_t () { return 0; }
+ operator char32_t () { return 0; }
operator short () { return 0; }
operator unsigned short () { return 0; }
+ #if defined(NEKO_MAC) || defined(NEKO_BSD)
operator unsigned long () { return 0; }
+ #endif
operator cpp::UInt64 () { return 0; }
operator cpp::Int64 () { return 0; }
template<typename T>
@@ -113,6 +119,8 @@ class null
template<typename T> inline bool operator != (const hx::ObjectPtr<T> &) const;
template<typename T> inline bool operator == (const Array<T> &) const;
template<typename T> inline bool operator != (const Array<T> &) const;
+ template<class TReturn, class... TArgs> inline bool operator == (const ::hx::Callable<TReturn(TArgs...)>&) const;
+ template<class TReturn, class... TArgs> inline bool operator != (const ::hx::Callable<TReturn(TArgs...)>&) const;
inline bool operator == (const hx::FieldRef &) const;
inline bool operator != (const hx::FieldRef &) const;
inline bool operator == (const hx::IndexRef &) const;
@@ -145,6 +153,8 @@ class null
HX_NULL_COMPARE_OPS(unsigned short)
HX_NULL_COMPARE_OPS(signed char)
HX_NULL_COMPARE_OPS(unsigned char)
+ HX_NULL_COMPARE_OPS(char16_t)
+ HX_NULL_COMPARE_OPS(char32_t)
HX_NULL_COMPARE_OPS(cpp::Int64)
HX_NULL_COMPARE_OPS(cpp::UInt64)
HX_NULL_COMPARE_MOST_OPS(String)
@@ -194,6 +204,7 @@ struct Null
}
inline operator Dynamic();
+ inline operator T() { return isNull ? null() : value; }
inline T Default(T inDefault) { return isNull ? inDefault : value; }
bool isNull;
@@ -213,6 +224,8 @@ HX_COMPARE_NULL_OPS(short)
HX_COMPARE_NULL_OPS(unsigned short)
HX_COMPARE_NULL_OPS(signed char)
HX_COMPARE_NULL_OPS(unsigned char)
+HX_COMPARE_NULL_OPS(char16_t)
+HX_COMPARE_NULL_OPS(char32_t)
HX_COMPARE_NULL_OPS(cpp::UInt64)
HX_COMPARE_NULL_OPS(cpp::Int64)
diff --git a/Sources/c_borogove/iinclude/sys/FileSystem.h b/Sources/c_borogove/iinclude/sys/FileSystem.h
index 882325d..43e704a 100644
--- a/Sources/c_borogove/iinclude/sys/FileSystem.h
+++ b/Sources/c_borogove/iinclude/sys/FileSystem.h
@@ -53,6 +53,9 @@ class HXCPP_CLASS_ATTRIBUTES FileSystem_obj : public ::hx::Object
static bool exists(::String path);
static ::Dynamic exists_dyn();
+ static void rename(::String path,::String newPath);
+ static ::Dynamic rename_dyn();
+
static ::Dynamic stat(::String path);
static ::Dynamic stat_dyn();
diff --git a/Sources/c_borogove/iinclude/sys/io/File.h b/Sources/c_borogove/iinclude/sys/io/File.h
index 11172d1..09f6f2f 100644
--- a/Sources/c_borogove/iinclude/sys/io/File.h
+++ b/Sources/c_borogove/iinclude/sys/io/File.h
@@ -6,7 +6,6 @@
#include <hxcpp.h>
#endif
-HX_DECLARE_CLASS2(haxe,io,Bytes)
HX_DECLARE_CLASS2(haxe,io,Input)
HX_DECLARE_CLASS2(haxe,io,Output)
HX_DECLARE_CLASS2(sys,io,File)
@@ -56,9 +55,6 @@ class HXCPP_CLASS_ATTRIBUTES File_obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("File",9c,fa,94,2e); }
- static void saveBytes(::String path, ::haxe::io::Bytes bytes);
- static ::Dynamic saveBytes_dyn();
-
static ::sys::io::FileInput read(::String path,::hx::Null< bool > binary);
static ::Dynamic read_dyn();
diff --git a/Sources/c_borogove/iinclude/tink/core/OutcomeTools.h b/Sources/c_borogove/iinclude/tink/core/OutcomeTools.h
new file mode 100644
index 0000000..faac36c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/tink/core/OutcomeTools.h
@@ -0,0 +1,63 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_tink_core_OutcomeTools
+#define INCLUDED_tink_core_OutcomeTools
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(tink,core,Outcome)
+HX_DECLARE_CLASS2(tink,core,OutcomeTools)
+
+namespace tink{
+namespace core{
+
+
+class HXCPP_CLASS_ATTRIBUTES OutcomeTools_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef OutcomeTools_obj OBJ_;
+ OutcomeTools_obj();
+
+ public:
+ enum { _hx_ClassId = 0x2617517e };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="tink.core.OutcomeTools")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"tink.core.OutcomeTools"); }
+
+ inline static ::hx::ObjectPtr< OutcomeTools_obj > __new() {
+ ::hx::ObjectPtr< OutcomeTools_obj > __this = new OutcomeTools_obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< OutcomeTools_obj > __alloc(::hx::Ctx *_hx_ctx) {
+ OutcomeTools_obj *__this = (OutcomeTools_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(OutcomeTools_obj), false, "tink.core.OutcomeTools"));
+ *(void **)__this = OutcomeTools_obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~OutcomeTools_obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("OutcomeTools",49,44,be,6f); }
+
+ static ::tink::core::Outcome map( ::tink::core::Outcome outcome, ::Dynamic transform);
+ static ::Dynamic map_dyn();
+
+};
+
+} // end namespace tink
+} // end namespace core
+
+#endif /* INCLUDED_tink_core_OutcomeTools */
diff --git a/Sources/c_borogove/iinclude/tink/http/ContentType.h b/Sources/c_borogove/iinclude/tink/http/ContentType.h
new file mode 100644
index 0000000..6a33f4c
--- /dev/null
+++ b/Sources/c_borogove/iinclude/tink/http/ContentType.h
@@ -0,0 +1,65 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_tink_http_ContentType
+#define INCLUDED_tink_http_ContentType
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS1(haxe,IMap)
+HX_DECLARE_CLASS2(haxe,ds,StringMap)
+HX_DECLARE_CLASS2(tink,http,ContentType)
+
+namespace tink{
+namespace http{
+
+
+class HXCPP_CLASS_ATTRIBUTES ContentType_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef ContentType_obj OBJ_;
+ ContentType_obj();
+
+ public:
+ enum { _hx_ClassId = 0x67f0ac31 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="tink.http.ContentType")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"tink.http.ContentType"); }
+ static ::hx::ObjectPtr< ContentType_obj > __new();
+ static ::hx::ObjectPtr< ContentType_obj > __alloc(::hx::Ctx *_hx_ctx);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~ContentType_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("ContentType",73,d4,ad,0e); }
+
+ static ::tink::http::ContentType ofString(::String s);
+ static ::Dynamic ofString_dyn();
+
+ ::String type;
+ ::String subtype;
+ ::haxe::ds::StringMap extensions;
+ ::String raw;
+ virtual ::String toString();
+ ::Dynamic toString_dyn();
+
+};
+
+} // end namespace tink
+} // end namespace http
+
+#endif /* INCLUDED_tink_http_ContentType */
diff --git a/Sources/c_borogove/iinclude/tink/http/Header.h b/Sources/c_borogove/iinclude/tink/http/Header.h
index 8567553..75210e5 100644
--- a/Sources/c_borogove/iinclude/tink/http/Header.h
+++ b/Sources/c_borogove/iinclude/tink/http/Header.h
@@ -54,6 +54,9 @@ class HXCPP_CLASS_ATTRIBUTES Header_obj : public ::hx::Object
::tink::core::Outcome byName(::String name);
::Dynamic byName_dyn();
+ ::tink::core::Outcome contentType();
+ ::Dynamic contentType_dyn();
+
::tink::core::Outcome getContentLength();
::Dynamic getContentLength_dyn();
diff --git a/Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h b/Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h
index a0fbe32..db397d1 100644
--- a/Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h
+++ b/Sources/c_borogove/iinclude/tink/http/_Header/HeaderValue_Impl_.h
@@ -52,6 +52,12 @@ class HXCPP_CLASS_ATTRIBUTES HeaderValue_Impl__obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("HeaderValue_Impl_",24,b6,26,b3); }
+ static ::Array< ::Dynamic> parse(::String this1);
+ static ::Dynamic parse_dyn();
+
+ static ::Array< ::Dynamic> parseWith(::String this1, ::Dynamic parseExtension);
+ static ::Dynamic parseWith_dyn();
+
static ::String basicAuth(::String username,::String password);
static ::Dynamic basicAuth_dyn();
diff --git a/Sources/c_borogove/iinclude/tink/streams/StreamBase.h b/Sources/c_borogove/iinclude/tink/streams/StreamBase.h
index 92259cf..cf72c9e 100644
--- a/Sources/c_borogove/iinclude/tink/streams/StreamBase.h
+++ b/Sources/c_borogove/iinclude/tink/streams/StreamBase.h
@@ -54,6 +54,9 @@ class HXCPP_CLASS_ATTRIBUTES StreamBase_obj : public ::hx::Object
::Dynamic regroup( ::Dynamic f);
::Dynamic regroup_dyn();
+ ::Dynamic map( ::Dynamic f);
+ ::Dynamic map_dyn();
+
::Dynamic prepend(::Dynamic other);
::Dynamic prepend_dyn();
diff --git a/Sources/c_borogove/iinclude/tink/streams/StreamObject.h b/Sources/c_borogove/iinclude/tink/streams/StreamObject.h
index 5a2bbc9..b160355 100644
--- a/Sources/c_borogove/iinclude/tink/streams/StreamObject.h
+++ b/Sources/c_borogove/iinclude/tink/streams/StreamObject.h
@@ -27,6 +27,10 @@ class HXCPP_CLASS_ATTRIBUTES StreamObject_obj {
static inline ::Dynamic regroup( ::Dynamic _hx_, ::Dynamic f) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::tink::streams::StreamObject_obj *>(_hx_.mPtr->_hx_getInterface(0x6164ac00)))->_hx_regroup)(f);
}
+ ::Dynamic (::hx::Object :: *_hx_map)( ::Dynamic f);
+ static inline ::Dynamic map( ::Dynamic _hx_, ::Dynamic f) {
+ return (_hx_.mPtr->*( ::hx::interface_cast< ::tink::streams::StreamObject_obj *>(_hx_.mPtr->_hx_getInterface(0x6164ac00)))->_hx_map)(f);
+ }
::Dynamic (::hx::Object :: *_hx_idealize)( ::Dynamic rescue);
static inline ::Dynamic idealize( ::Dynamic _hx_, ::Dynamic rescue) {
return (_hx_.mPtr->*( ::hx::interface_cast< ::tink::streams::StreamObject_obj *>(_hx_.mPtr->_hx_getInterface(0x6164ac00)))->_hx_idealize)(rescue);
diff --git a/Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h
index 2e0cf9a..a3c8cf8 100644
--- a/Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h
+++ b/Sources/c_borogove/iinclude/tink/streams/_Stream/Handler_Impl_.h
@@ -7,7 +7,6 @@
#endif
HX_DECLARE_CLASS3(tink,core,_Future,FutureObject)
-HX_DECLARE_CLASS2(tink,streams,Handled)
HX_DECLARE_CLASS3(tink,streams,_Stream,Handler_Impl_)
namespace tink{
@@ -54,9 +53,6 @@ class HXCPP_CLASS_ATTRIBUTES Handler_Impl__obj : public ::hx::Object
bool _hx_isInstanceOf(int inClassId);
::String __ToString() const { return HX_("Handler_Impl_",ca,2f,2c,64); }
- static ::Dynamic ofSafeSync( ::Dynamic f);
- static ::Dynamic ofSafeSync_dyn();
-
static ::Dynamic ofUnknown( ::Dynamic f);
static ::Dynamic ofUnknown_dyn();
diff --git a/Sources/c_borogove/iinclude/tink/streams/_Stream/Mapping_Impl_.h b/Sources/c_borogove/iinclude/tink/streams/_Stream/Mapping_Impl_.h
new file mode 100644
index 0000000..5a672d2
--- /dev/null
+++ b/Sources/c_borogove/iinclude/tink/streams/_Stream/Mapping_Impl_.h
@@ -0,0 +1,64 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_tink_streams__Stream_Mapping_Impl_
+#define INCLUDED_tink_streams__Stream_Mapping_Impl_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(tink,streams,_Stream,Mapping_Impl_)
+
+namespace tink{
+namespace streams{
+namespace _Stream{
+
+
+class HXCPP_CLASS_ATTRIBUTES Mapping_Impl__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Mapping_Impl__obj OBJ_;
+ Mapping_Impl__obj();
+
+ public:
+ enum { _hx_ClassId = 0x28df8128 };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="tink.streams._Stream.Mapping_Impl_")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"tink.streams._Stream.Mapping_Impl_"); }
+
+ inline static ::hx::ObjectPtr< Mapping_Impl__obj > __new() {
+ ::hx::ObjectPtr< Mapping_Impl__obj > __this = new Mapping_Impl__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Mapping_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Mapping_Impl__obj *__this = (Mapping_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Mapping_Impl__obj), false, "tink.streams._Stream.Mapping_Impl_"));
+ *(void **)__this = Mapping_Impl__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Mapping_Impl__obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Mapping_Impl_",0e,c6,ae,86); }
+
+ static ::Dynamic ofPlain( ::Dynamic f);
+ static ::Dynamic ofPlain_dyn();
+
+};
+
+} // end namespace tink
+} // end namespace streams
+} // end namespace _Stream
+
+#endif /* INCLUDED_tink_streams__Stream_Mapping_Impl_ */
diff --git a/Sources/c_borogove/iinclude/tink/url/_Portion/Portion_Impl_.h b/Sources/c_borogove/iinclude/tink/url/_Portion/Portion_Impl_.h
new file mode 100644
index 0000000..568998d
--- /dev/null
+++ b/Sources/c_borogove/iinclude/tink/url/_Portion/Portion_Impl_.h
@@ -0,0 +1,67 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_tink_url__Portion_Portion_Impl_
+#define INCLUDED_tink_url__Portion_Portion_Impl_
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS3(tink,url,_Portion,Portion_Impl_)
+
+namespace tink{
+namespace url{
+namespace _Portion{
+
+
+class HXCPP_CLASS_ATTRIBUTES Portion_Impl__obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef Portion_Impl__obj OBJ_;
+ Portion_Impl__obj();
+
+ public:
+ enum { _hx_ClassId = 0x38058d4a };
+
+ void __construct();
+ inline void *operator new(size_t inSize, bool inContainer=false,const char *inName="tink.url._Portion.Portion_Impl_")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,false,"tink.url._Portion.Portion_Impl_"); }
+
+ inline static ::hx::ObjectPtr< Portion_Impl__obj > __new() {
+ ::hx::ObjectPtr< Portion_Impl__obj > __this = new Portion_Impl__obj();
+ __this->__construct();
+ return __this;
+ }
+
+ inline static ::hx::ObjectPtr< Portion_Impl__obj > __alloc(::hx::Ctx *_hx_ctx) {
+ Portion_Impl__obj *__this = (Portion_Impl__obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Portion_Impl__obj), false, "tink.url._Portion.Portion_Impl_"));
+ *(void **)__this = Portion_Impl__obj::_hx_vtable;
+ return __this;
+ }
+
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~Portion_Impl__obj();
+
+ HX_DO_RTTI_ALL;
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ static void __register();
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("Portion_Impl_",a7,a4,97,4f); }
+
+ static ::String toString(::String this1);
+ static ::Dynamic toString_dyn();
+
+ static ::String ofString(::String s);
+ static ::Dynamic ofString_dyn();
+
+};
+
+} // end namespace tink
+} // end namespace url
+} // end namespace _Portion
+
+#endif /* INCLUDED_tink_url__Portion_Portion_Impl_ */
diff --git a/Sources/c_borogove/iinclude/tink/url/_Query/QueryStringParser.h b/Sources/c_borogove/iinclude/tink/url/_Query/QueryStringParser.h
new file mode 100644
index 0000000..2053f86
--- /dev/null
+++ b/Sources/c_borogove/iinclude/tink/url/_Query/QueryStringParser.h
@@ -0,0 +1,69 @@
+// Generated by Haxe 4.3.3
+#ifndef INCLUDED_tink_url__Query_QueryStringParser
+#define INCLUDED_tink_url__Query_QueryStringParser
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+HX_DECLARE_CLASS2(tink,core,NamedWith)
+HX_DECLARE_CLASS3(tink,url,_Query,QueryStringParser)
+
+namespace tink{
+namespace url{
+namespace _Query{
+
+
+class HXCPP_CLASS_ATTRIBUTES QueryStringParser_obj : public ::hx::Object
+{
+ public:
+ typedef ::hx::Object super;
+ typedef QueryStringParser_obj OBJ_;
+ QueryStringParser_obj();
+
+ public:
+ enum { _hx_ClassId = 0x78240256 };
+
+ void __construct(::String s,::String sep,::String set,int pos);
+ inline void *operator new(size_t inSize, bool inContainer=true,const char *inName="tink.url._Query.QueryStringParser")
+ { return ::hx::Object::operator new(inSize,inContainer,inName); }
+ inline void *operator new(size_t inSize, int extra)
+ { return ::hx::Object::operator new(inSize+extra,true,"tink.url._Query.QueryStringParser"); }
+ static ::hx::ObjectPtr< QueryStringParser_obj > __new(::String s,::String sep,::String set,int pos);
+ static ::hx::ObjectPtr< QueryStringParser_obj > __alloc(::hx::Ctx *_hx_ctx,::String s,::String sep,::String set,int pos);
+ static void * _hx_vtable;
+ static Dynamic __CreateEmpty();
+ static Dynamic __Create(::hx::DynamicArray inArgs);
+ //~QueryStringParser_obj();
+
+ HX_DO_RTTI_ALL;
+ ::hx::Val __Field(const ::String &inString, ::hx::PropertyAccess inCallProp);
+ static bool __GetStatic(const ::String &inString, Dynamic &outValue, ::hx::PropertyAccess inCallProp);
+ ::hx::Val __SetField(const ::String &inString,const ::hx::Val &inValue, ::hx::PropertyAccess inCallProp);
+ void __GetFields(Array< ::String> &outFields);
+ static void __register();
+ void __Mark(HX_MARK_PARAMS);
+ void __Visit(HX_VISIT_PARAMS);
+ bool _hx_isInstanceOf(int inClassId);
+ ::String __ToString() const { return HX_("QueryStringParser",98,2f,8c,35); }
+
+ static ::String trimmedSub(::String s,int start,int end);
+ static ::Dynamic trimmedSub_dyn();
+
+ ::String s;
+ ::String sep;
+ ::String set;
+ int pos;
+ bool hasNext();
+ ::Dynamic hasNext_dyn();
+
+ ::tink::core::NamedWith next();
+ ::Dynamic next_dyn();
+
+};
+
+} // end namespace tink
+} // end namespace url
+} // end namespace _Query
+
+#endif /* INCLUDED_tink_url__Query_QueryStringParser */
diff --git a/Sources/c_borogove/include/borogove.h b/Sources/c_borogove/include/borogove.h
index 330ab22..39d5bf4 100644
--- a/Sources/c_borogove/include/borogove.h
+++ b/Sources/c_borogove/include/borogove.h
@@ -81,6 +81,15 @@ borogove_ui_state {
Invited = 3
};
+enum
+#ifdef __clang__
+__attribute__((enum_extensibility(closed)))
+#endif
+borogove_outgoing_e_2_ee_preference {
+ Default = 0,
+ NoE2EE = 1
+};
+
enum
#ifdef __clang__
__attribute__((enum_extensibility(closed)))
@@ -187,11 +196,11 @@ API_PREFIX const char *borogove_html_to_string(void *html);
*/
API_PREFIX const char *borogove_html_to_plain_text(void *html);
-API_PREFIX void borogove_persistence_media_store_has_media(void *self, const char *hashAlgorithm, const unsigned char *hash, size_t hash__len, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX void borogove_persistence_media_store_has_media(void *self, void *hash, void (*handler) (const char*, void *handler__context), void *handler__context);
API_PREFIX void borogove_persistence_media_store_remove_media(void *self, const char *hashAlgorithm, const unsigned char *hash, size_t hash__len, void (*handler) (bool, void *handler__context), void *handler__context);
-API_PREFIX void borogove_persistence_media_store_store_media(void *self, const char *mime, const unsigned char *bytes, size_t bytes__len, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX void borogove_persistence_media_store_store_media(void *self, const char *mime, void *source, void (*handler) (const char*, void *handler__context), void *handler__context);
/**
* Store media on the filesystem
@@ -212,6 +221,8 @@ API_PREFIX void borogove_persistence_key_value_store_get(void *self, const char
API_PREFIX void borogove_persistence_key_value_store_set(void *self, const char *k, const char *v, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX size_t borogove_chat_message_combine_corrections(void *const *messages, size_t messages__len, void ***outPtr);
+
/**
* The ID as set by the creator of this message
*/
@@ -233,9 +244,19 @@ API_PREFIX const char *borogove_chat_message_server_id_by(void *chat_message);
API_PREFIX enum borogove_message_type borogove_chat_message_type(void *chat_message);
/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ * The timestamp this message was sent, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * If the exact time is not known, the received time may be used
+ */
+API_PREFIX const char *borogove_chat_message_time_sent(void *chat_message);
+
+/**
+ * The timestamp this message was received, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * This will be the time received by our server, if known, or the time
+ * received at the client otherwise.
*/
-API_PREFIX const char *borogove_chat_message_timestamp(void *chat_message);
+API_PREFIX const char *borogove_chat_message_time_received(void *chat_message);
/**
* The ID of the sender of this message
@@ -372,6 +393,17 @@ API_PREFIX const char *borogove_chat_message_call_sid(void *chat_message);
*/
API_PREFIX const char *borogove_chat_message_call_duration(void *chat_message);
+/**
+ * Fetch data for a ChatAttachment into local media cache
+ *
+ * If cachedAt is already filled in for this ChatAttachment, it is simply returned.
+ *
+ * @param attachment ChatAttachment to fetch
+ * @param client Client to use when fetching
+ * @param handler which receives a ChatAttachment with cachedAt filled in, if possible
+ */
+API_PREFIX void borogove_chat_message_fetch_attachment(void *chat_message, void *attachment, void *client, bool storeIfNeeded, void (*handler) (void*, void *handler__context), void *handler__context);
+
/**
* Create a new attachment for adding to a ChatMessage
*
@@ -382,6 +414,11 @@ API_PREFIX const char *borogove_chat_message_call_duration(void *chat_message);
*/
API_PREFIX void *borogove_chat_attachment_create(const char *name, const char *mime, int size, const char *uri);
+/**
+ * Location of the data in cache, if present
+ */
+API_PREFIX const char *borogove_chat_attachment_cached_at(void *chat_attachment);
+
/**
* Filename
*/
@@ -457,6 +494,8 @@ API_PREFIX const char *borogove_hash_to_base_64(void *hash);
*/
API_PREFIX const char *borogove_hash_to_base_64_url(void *hash);
+API_PREFIX bool borogove_hash_equals(void *hash, void *other);
+
/**
* Create a new Unicode reaction to send
*
@@ -566,8 +605,9 @@ API_PREFIX void borogove_chat_get_messages_around(void *chat, void *around, void
* Send a message to this Chat
*
* @param message the ChatMessageBuilder to send
+ * @param e2eePreference optional explicit End-to-End Encryption preference for this message. If Default, uses the client's preferred allowed E2EE method.
*/
-API_PREFIX void borogove_chat_send_message(void *chat, void *message);
+API_PREFIX void borogove_chat_send_message(void *chat, void *message, enum borogove_outgoing_e_2_ee_preference e2eePreference);
/**
* Signals that all messages up to and including this one have probably
@@ -730,6 +770,11 @@ API_PREFIX const char *borogove_chat_get_photo(void *chat);
*/
API_PREFIX const char *borogove_chat_get_placeholder(void *chat);
+/**
+ * Has the user ever read this chat?
+ */
+API_PREFIX bool borogove_chat_has_ever_read(void *chat);
+
/**
* An ID of the last message displayed to the user
*/
@@ -762,6 +807,13 @@ API_PREFIX const char *borogove_chat_get_display_name(void *chat);
*/
API_PREFIX size_t borogove_chat_get_tags(void *chat, const char ***outPtr);
+/**
+ * Set tags on this Chat
+ *
+ * @param tags The tags to set
+ */
+API_PREFIX void borogove_chat_set_tags(void *chat, const char *const *tags, size_t tags__len);
+
/**
* Set if this chat is to be trusted with our presence, etc
*
@@ -822,11 +874,6 @@ API_PREFIX void *borogove_chat_dtmf(void *chat);
*/
API_PREFIX size_t borogove_chat_video_tracks(void *chat, void ***outPtr);
-/**
- * Get encryption mode for this chat
- */
-API_PREFIX const char *borogove_chat_encryption_mode(void *chat);
-
/**
* Can the user send messages to this chat?
*/
@@ -867,6 +914,11 @@ API_PREFIX void borogove_chat_commands(void *chat, void (*handler) (void**, size
*/
API_PREFIX void borogove_chat_invited_by(void *chat, void (*handler) (void*, void *handler__context), void *handler__context);
+/**
+ * A placeholder member suitable for moderated messages
+ */
+API_PREFIX void *borogove_member_moderated();
+
/**
* A unique id for this member
*/
@@ -1273,20 +1325,19 @@ API_PREFIX void borogove_persistence_get_messages_around(void *self, const char
/**
* Check whether a media blob is already stored
*
- * @param hashAlgorithm hash algorithm for the content ID
- * @param hash raw hash bytes
- * @param handler which receives true when the media exists
+ * @param hash hash of the media we're looking for
+ * @param handler which receives an ID when the media exists, null when it does not
*/
-API_PREFIX void borogove_persistence_has_media(void *self, const char *hashAlgorithm, const unsigned char *hash, size_t hash__len, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX void borogove_persistence_has_media(void *self, void *hash, void (*handler) (const char*, void *handler__context), void *handler__context);
/**
* Store media bytes and any metadata needed to retrieve them later
*
* @param mime MIME type of the media
- * @param bytes raw media bytes
- * @param handler which receives true when storage succeeded
+ * @param source raw media bytes
+ * @param handler which receives an ID for the stored media
*/
-API_PREFIX void borogove_persistence_store_media(void *self, const char *mime, const unsigned char *bytes, size_t bytes__len, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX void borogove_persistence_store_media(void *self, const char *mime, void *source, void (*handler) (const char*, void *handler__context), void *handler__context);
/**
* Delete previously stored media
@@ -1303,10 +1354,11 @@ API_PREFIX void borogove_persistence_remove_media(void *self, const char *hashAl
* @param accountId the account to store login state for
* @param clientId negotiated client ID
* @param displayName last known display name
- * @param token persisted token or null to clear it
+ * @param rosterVer roster version string if known
+ * @param token persisted token or null to keep the current value
* @param handler which receives true when store succeeded
*/
-API_PREFIX void borogove_persistence_store_login(void *self, const char *accountId, const char *clientId, const char *displayName, const char *token, void (*handler) (bool, void *handler__context), void *handler__context);
+API_PREFIX void borogove_persistence_store_login(void *self, const char *accountId, const char *clientId, const char *displayName, const char *rosterVer, const char *token, void (*handler) (bool, void *handler__context), void *handler__context);
/**
* Remove stored data for an account
@@ -1364,6 +1416,11 @@ API_PREFIX void borogove_form_submit_builder_add(void *form_submit_builder, cons
*/
API_PREFIX void *borogove_chat_message_builder_new();
+/**
+ * Create a new ChatMessageBuilder from an existing ChatMessage
+ */
+API_PREFIX void *borogove_chat_message_builder_from_message(void *m);
+
/**
* The ID as set by the creator of this message
*/
@@ -1405,14 +1462,34 @@ API_PREFIX enum borogove_message_type borogove_chat_message_builder_type(void *c
API_PREFIX void borogove_chat_message_builder_set_type(void *chat_message_builder, enum borogove_message_type value);
/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ * The timestamp this message was sent, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * If the exact time is not known, the received time may be used
*/
-API_PREFIX const char *borogove_chat_message_builder_timestamp(void *chat_message_builder);
+API_PREFIX const char *borogove_chat_message_builder_time_sent(void *chat_message_builder);
/**
- * The timestamp of this message, in format YYYY-MM-DDThh:mm:ss[.sss]+00:00
+ * The timestamp this message was sent, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * If the exact time is not known, the received time may be used
+ */
+API_PREFIX void borogove_chat_message_builder_set_time_sent(void *chat_message_builder, const char *value);
+
+/**
+ * The timestamp this message was received, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * This will be the time received by our server, if known, or the time
+ * received at the client otherwise.
*/
-API_PREFIX void borogove_chat_message_builder_set_timestamp(void *chat_message_builder, const char *value);
+API_PREFIX const char *borogove_chat_message_builder_time_received(void *chat_message_builder);
+
+/**
+ * The timestamp this message was received, in format YYYY-MM-DDThh:mm:ss[.sss]Z
+ *
+ * This will be the time received by our server, if known, or the time
+ * received at the client otherwise.
+ */
+API_PREFIX void borogove_chat_message_builder_set_time_received(void *chat_message_builder, const char *value);
/**
* The ID of the message sender
@@ -1650,6 +1727,18 @@ API_PREFIX void *borogove_client_new(const char *accountId, void *persistence);
*/
API_PREFIX void borogove_client_set_send_available(void *client, bool value);
+/**
+ * If true, the client will block and return a policy-violation error for
+ * any incoming chat message that is not end-to-end encrypted.
+ */
+API_PREFIX bool borogove_client_block_incoming_without_e_2_ee(void *client);
+
+/**
+ * If true, the client will block and return a policy-violation error for
+ * any incoming chat message that is not end-to-end encrypted.
+ */
+API_PREFIX void borogove_client_set_block_incoming_without_e_2_ee(void *client, bool value);
+
/**
* Start this client running and trying to connect to the server
*/
@@ -1690,6 +1779,14 @@ API_PREFIX const char *borogove_client_account_id(void *client);
*/
API_PREFIX const char *borogove_client_display_name(void *client);
+/**
+ * Set the current profile photo for this account on the server
+ *
+ * @param photo to set
+ * @param publicAccess set the access for the photo to public
+ */
+API_PREFIX void borogove_client_set_photo(void *client, void *source, bool publicAccess);
+
/**
* Set the current profile for this account on the server
*
@@ -1707,13 +1804,33 @@ API_PREFIX void borogove_client_set_profile(void *client, void *profile, bool pu
*/
API_PREFIX void borogove_client_set_status(void *client, void *status, int expires, bool publicAccess);
+/**
+ * Adjusts the outgoing E2EE preference list to prioritize the specified preference.
+ * This ensures that the client will attempt to use this E2EE protocol first when sending messages.
+ *
+ * @param preference the OutgoingE2EEPreference to prioritize
+ */
+API_PREFIX void borogove_client_prefer_e_2_ee(void *client, enum borogove_outgoing_e_2_ee_preference preference);
+
+/**
+ * Removes the specified E2EE preference from the allowed outgoing preferences.
+ * The client will no longer use this protocol for outgoing messages.
+ *
+ * @param preference the OutgoingE2EEPreference to ban
+ */
+API_PREFIX void borogove_client_ban_e_2_ee(void *client, enum borogove_outgoing_e_2_ee_preference preference);
+
/**
* Turn a file into a ChatAttachment for attaching to a ChatMessage
*
* @param source The AttachmentSource to use
- * @param handler which receives a ChatAttachment or null
+ * @param encrypt Should the data be encrypted with a fresh key?
+ * @param handler which receives a ChatAttachment
+ * @throws AttachmentUploadError when no upload service is available or all
+ * discovered services fail. Inspect `code` and, for
+ * `all-services-failed`, the per-service `failures`.
*/
-API_PREFIX void borogove_client_prepare_attachment(void *client, void *source, void (*handler) (void*, void *handler__context), void *handler__context);
+API_PREFIX void borogove_client_prepare_attachment(void *client, void *source, bool encrypt, void (*handler) (void*, void *handler__context), void *handler__context);
/**
* @returns array of open chats, sorted by last activity
@@ -1985,16 +2102,53 @@ API_PREFIX void borogove_available_chat_iterator_next(void *available_chat_itera
*/
API_PREFIX const char *borogove_channel_subject(void *channel);
+/**
+ * Can the user set the Channel subject?
+ */
+API_PREFIX bool borogove_channel_can_set_subject(void *channel);
+
+/**
+ * Set the Channel subject, or subject of a thread
+ */
+API_PREFIX void borogove_channel_set_subject(void *channel, const char *subject, const char *threadId);
+
/**
* Description of this Channel
*/
API_PREFIX const char *borogove_channel_description(void *channel);
+/**
+ * If the user is muted by local policy, send a request to moderators
+ */
+API_PREFIX void borogove_channel_request_to_send(void *channel);
+
+/**
+ * Can the user set the photo of this channel?
+ */
+API_PREFIX bool borogove_channel_can_set_photo(void *channel);
+
+/**
+ * Set the current photo for this channel on the server, if user is an owner
+ *
+ * @param photo to set
+ */
+API_PREFIX void borogove_channel_set_photo(void *channel, void *source);
+
/**
* Whether this channel is members-only/private.
*/
API_PREFIX bool borogove_channel_is_private(void *channel);
+/**
+ * List of current voice requests we are aware of
+ */
+API_PREFIX void borogove_channel_voice_requests(void *channel, void (*handler) (void**, size_t, void *handler__context), void *handler__context);
+
+/**
+ * Respond to a particular voice request
+ */
+API_PREFIX void borogove_channel_voice_request_respond(void *channel, void *member, bool canSend);
+
/**
* Schedule DTMF events to be sent
*
diff --git a/Sources/c_borogove/src/Array.cpp b/Sources/c_borogove/src/Array.cpp
index 19366ea..18c7e9c 100644
--- a/Sources/c_borogove/src/Array.cpp
+++ b/Sources/c_borogove/src/Array.cpp
@@ -1,11 +1,87 @@
#include <hxcpp.h>
#include <vector>
+#include <limits>
#include <cpp/Pointer.h>
#ifdef HXCPP_TELEMETRY
extern void __hxt_new_array(void* obj, int size);
#endif
+namespace
+{
+ template<class ELEM>
+ class SafeSorter
+ {
+ typedef
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<int(Dynamic, Dynamic)>
+#else
+ Dynamic
+#endif
+ SorterFunc;
+
+ struct ArraySorter
+ {
+ ELEM* mArray;
+ SorterFunc mSorter;
+
+ ArraySorter(ELEM* inArray, SorterFunc inSorter) : mArray(inArray), mSorter(inSorter) {};
+
+ bool operator()(int inA, int inB)
+ {
+ return mSorter(mArray[inA], mArray[inB]) < 0;
+ }
+ };
+
+ template<class STORE>
+ static void SortImpl(ELEM* inArray, const int inLength, SorterFunc inSorter)
+ {
+ auto index = std::vector<STORE>(inLength);
+ for (auto i = 0; i < inLength; i++)
+ {
+ index[i] = static_cast<STORE>(i);
+ }
+
+ std::stable_sort(index.begin(), index.end(), ArraySorter(inArray, inSorter));
+
+ // Put the results back ...
+ for (int i = 0; i < inLength; i++)
+ {
+ int from = index[i];
+ while (from < i)
+ from = index[from];
+ if (from != i)
+ {
+ std::swap(inArray[i], inArray[from]);
+ index[i] = from;
+ }
+ }
+ }
+
+ public:
+ static void Sort(ELEM* base, const int length, SorterFunc sorter)
+ {
+ if (length < 2)
+ {
+ return;
+ }
+
+ if (length <= std::numeric_limits<uint8_t>::max())
+ {
+ SortImpl<uint8_t>(base, length, sorter);
+ }
+ else if (length <= std::numeric_limits<uint16_t>::max())
+ {
+ SortImpl<uint16_t>(base, length, sorter);
+ }
+ else
+ {
+ SortImpl<uint32_t>(base, length, sorter);
+ }
+ }
+ };
+}
+
using namespace hx;
@@ -290,7 +366,7 @@ void ArrayBase::Splice(ArrayBase *outResult,int inPos,int inLen)
if (inPos<0)
inPos =0;
}
- if (inLen<0)
+ if (inLen<=0)
return;
if (inPos+inLen>length)
inLen = length - inPos;
@@ -488,98 +564,44 @@ String ArrayBase::joinArray(ArrayBase *inBase, String inSeparator)
return stringArray->join(inSeparator);
}
-template<typename T>
-struct ArrayBaseSorter
-{
- ArrayBaseSorter(T *inArray, Dynamic inFunc)
- {
- mFunc = inFunc;
- mArray = inArray;
- }
-
- bool operator()(int inA, int inB)
- { return mFunc(mArray[inA], mArray[inB])->__ToInt() < 0; }
-
- Dynamic mFunc;
- T* mArray;
-};
-
-template<typename T,typename STORE>
-void TArraySortLen(T *inArray, int inLength, Dynamic inSorter)
-{
- std::vector<STORE> index(inLength);
- for(int i=0;i<inLength;i++)
- index[i] = (STORE)i;
-
- std::stable_sort(index.begin(), index.end(), ArrayBaseSorter<T>(inArray,inSorter) );
-
- // Put the results back ...
- for(int i=0;i<inLength;i++)
- {
- int from = index[i];
- while(from < i)
- from = index[from];
- if (from!=i)
- {
- std::swap(inArray[i],inArray[from]);
- index[i] = from;
- }
- }
-}
-template<typename T>
-void TArraySort(T *inArray, int inLength, Dynamic inSorter)
-{
- if (inLength<2)
- return;
- if (inLength<=256)
- TArraySortLen<T,unsigned char >(inArray, inLength, inSorter);
- else if (inLength<=65536)
- TArraySortLen<T,unsigned short >(inArray, inLength, inSorter);
- else
- TArraySortLen<T,unsigned int >(inArray, inLength, inSorter);
-}
-
-void ArrayBase::safeSort(Dynamic inSorter, bool inIsString)
+void ArrayBase::safeSort(DynamicSorterFunc inSorter, bool inIsString)
{
if (inIsString)
- TArraySort((String *)mBase, length,inSorter);
+ SafeSorter<String>::Sort((String *)mBase, length,inSorter);
else
- TArraySort((Dynamic *)mBase, length,inSorter);
+ SafeSorter<Dynamic>::Sort((Dynamic *)mBase, length,inSorter);
}
-#ifdef HXCPP_VISIT_ALLOCS
-#define ARRAY_VISIT_FUNC \
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
-#else
-#define ARRAY_VISIT_FUNC
-#endif
+#if (HXCPP_API_LEVEL<500)
+ #define ARRAY_RUN_FUNC(ret,func,dynamic_arg_list,arg_list) \
+ Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \
+ { \
+ ret mThis->__##func(arg_list); return Dynamic(); \
+ }
-#define DEFINE_ARRAY_FUNC(ret,func,array_list,dynamic_arg_list,arg_list,ARG_C) \
+#define DEFINE_ARRAY_FUNC(ret,func,array_list,run_func,ARG_C) \
struct ArrayBase_##func : public hx::Object \
{ \
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdClosure }; \
bool __IsFunction() const { return true; } \
ArrayBase *mThis; \
ArrayBase_##func(ArrayBase *inThis) : mThis(inThis) { } \
- String toString() const{ return HX_CSTRING(#func) ; } \
- String __ToString() const{ return HX_CSTRING(#func) ; } \
- int __GetType() const { return vtFunction; } \
- void *__GetHandle() const { return mThis; } \
- int __ArgCount() const { return ARG_C; } \
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \
+ String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis; } \
+ int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mThis); } \
ARRAY_VISIT_FUNC \
- Dynamic __Run(const Array<Dynamic> &inArgs) \
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE \
{ \
ret mThis->__##func(array_list); return Dynamic(); \
} \
- Dynamic __run(dynamic_arg_list) \
- { \
- ret mThis->__##func(arg_list); return Dynamic(); \
- } \
- int __Compare(const hx::Object *inRHS) const \
+ run_func \
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE \
{ \
if (!dynamic_cast<const ArrayBase_##func *>(inRHS)) return -1; \
return (mThis==inRHS->__GetHandle() ? 0 : -1); \
@@ -588,11 +610,11 @@ struct ArrayBase_##func : public hx::Object \
Dynamic ArrayBase::func##_dyn() { return new ArrayBase_##func(this); }
-#define DEFINE_ARRAY_FUNC0(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST0,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0,0)
-#define DEFINE_ARRAY_FUNC1(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST1,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1,1)
-#define DEFINE_ARRAY_FUNC2(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST2,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2,2)
-#define DEFINE_ARRAY_FUNC3(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST3,HX_DYNAMIC_ARG_LIST3,HX_ARG_LIST3,3)
-#define DEFINE_ARRAY_FUNC4(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST4,HX_DYNAMIC_ARG_LIST4,HX_ARG_LIST4,4)
+#define DEFINE_ARRAY_FUNC0(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST0,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0),0)
+#define DEFINE_ARRAY_FUNC1(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST1,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1),1)
+#define DEFINE_ARRAY_FUNC2(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST2,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2),2)
+#define DEFINE_ARRAY_FUNC3(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST3,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST3,HX_ARG_LIST3),3)
+#define DEFINE_ARRAY_FUNC4(ret,func) DEFINE_ARRAY_FUNC(ret,func,HX_ARR_LIST4,ARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST4,HX_ARG_LIST4),4)
DEFINE_ARRAY_FUNC1(,__SetSize);
@@ -626,10 +648,7 @@ DEFINE_ARRAY_FUNC1(return,__unsafe_get);
DEFINE_ARRAY_FUNC2(return,__unsafe_set);
DEFINE_ARRAY_FUNC1(return,memcmp);
-
-
-
-hx::Val ArrayBase::__Field(const String &inString, hx::PropertyAccess inCallProp)
+hx::Val ArrayBase::__Field(const String& inString, hx::PropertyAccess inCallProp)
{
if (inString==HX_CSTRING("length")) return (int)size();
if (inString==HX_CSTRING("concat")) return concat_dyn();
@@ -668,6 +687,14 @@ hx::Val ArrayBase::__Field(const String &inString, hx::PropertyAccess inCallProp
return null();
}
+#endif
+
+#if (HXCPP_API_LEVEL>=500)
+hx::Val ArrayBase::__pointerToBase()
+{
+ return cpp::CreateDynamicPointer(mBase);
+}
+#endif
static String sArrayFields[] = {
HX_CSTRING("length"),
@@ -736,20 +763,103 @@ bool DynamicEq(const Dynamic &a, const Dynamic &b)
namespace cpp
{
-HX_DEFINE_DYNAMIC_FUNC0(IteratorBase,hasNext,return)
-HX_DEFINE_DYNAMIC_FUNC0(IteratorBase,_dynamicNext,return)
+#if (HXCPP_API_LEVEL>=500)
+ ::hx::Callable<bool()> IteratorBase::hasNext_dyn()
+ {
+ struct _hx_iterator_hasNext final : public ::hx::AutoCallable_obj<bool()>
+ {
+ ::hx::ObjectPtr<IteratorBase> __this;
+
+ _hx_iterator_hasNext(IteratorBase* ptr) : __this(ptr)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
-Dynamic IteratorBase::next_dyn()
-{
- return hx::CreateMemberFunction0("next",this,__IteratorBase_dynamicNext);
-}
+ bool HX_LOCAL_RUN() final override
+ {
+ return __this->hasNext();
+ }
-hx::Val IteratorBase::__Field(const String &inString, hx::PropertyAccess inCallProp)
-{
- if (inString==HX_CSTRING("hasNext")) return hasNext_dyn();
- if (inString==HX_CSTRING("next")) return _dynamicNext_dyn();
- return null();
-}
+ void* __GetHandle() const override
+ {
+ return __this.GetPtr();
+ }
+
+ void __Mark(hx::MarkContext* __inCtx) final override
+ {
+ HX_MARK_MEMBER(__this);
+ }
+
+#ifdef HXCPP_VISIT_ALLOCS
+ void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(__this);
+ }
+#endif
+ };
+
+ return new _hx_iterator_hasNext(this);
+ }
+
+ ::hx::Callable<::Dynamic()> IteratorBase::next_dyn()
+ {
+ struct _hx_iterator_next : public ::hx::AutoCallable_obj<::Dynamic()>
+ {
+ ::hx::ObjectPtr<IteratorBase> __this;
+
+ _hx_iterator_next(IteratorBase* ptr) : __this(ptr)
+ {
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this);
+ }
+
+ ::Dynamic HX_LOCAL_RUN() final override
+ {
+ return __this->_dynamicNext();
+ }
+
+ void* __GetHandle() const override
+ {
+ return __this.GetPtr();
+ }
+
+ void __Mark(hx::MarkContext* __inCtx) final override
+ {
+ HX_MARK_MEMBER(__this);
+ }
+
+#ifdef HXCPP_VISIT_ALLOCS
+ void __Visit(hx::VisitContext* __inCtx) override
+ {
+ HX_VISIT_MEMBER(__this);
+ }
+#endif
+ };
+
+ return new _hx_iterator_next(this);
+ }
+
+ hx::Val IteratorBase::__Field(const String &inString, hx::PropertyAccess inCallProp)
+ {
+ if (inString==HX_CSTRING("hasNext")) return hasNext_dyn();
+ if (inString==HX_CSTRING("next")) return next_dyn();
+ return null();
+ }
+#else
+ HX_DEFINE_DYNAMIC_FUNC0(IteratorBase, hasNext, return)
+ HX_DEFINE_DYNAMIC_FUNC0(IteratorBase, _dynamicNext, return)
+
+ Dynamic IteratorBase::next_dyn()
+ {
+ return hx::CreateMemberFunction0("next", this, __IteratorBase_dynamicNext);
+ }
+
+ hx::Val IteratorBase::__Field(const String & inString, hx::PropertyAccess inCallProp)
+ {
+ if (inString == HX_CSTRING("hasNext")) return hasNext_dyn();
+ if (inString == HX_CSTRING("next")) return _dynamicNext_dyn();
+ return null();
+ }
+#endif
}
@@ -759,9 +869,86 @@ hx::Val IteratorBase::__Field(const String &inString, hx::PropertyAccess inCallP
namespace cpp
{
+#if (HXCPP_API_LEVEL>=500)
+
+#define HX_VARRAY_ARG_LIST0
+#define HX_VARRAY_ARG_LIST1(arg0) arg0
+#define HX_VARRAY_ARG_LIST2(arg0, arg1) arg0, arg1
+#define HX_VARRAY_ARG_LIST3(arg0, arg1, arg2) arg0, arg1, arg2
+#define HX_VARRAY_ARG_LIST4(arg0, arg1, arg2, arg3) arg0, arg1, arg2, arg3
+
+#define HX_VARRAY_FUNC_LIST0
+#define HX_VARRAY_FUNC_LIST1(arg0) arg0 inArg0
+#define HX_VARRAY_FUNC_LIST2(arg0, arg1) arg0 inArg0, arg1 inArg1
+#define HX_VARRAY_FUNC_LIST3(arg0, arg1, arg2) arg0 inArg0, arg1 inArg1, arg2 inArg2
+#define HX_VARRAY_FUNC_LIST4(arg0, arg1, arg2, arg3) arg0 inArg0, arg1 inArg1, arg2 inArg2, arg3 inArg3
+
+#define HX_VARRAY_FUNC(ret, value, name, args_list, func_list, args_call) \
+ ::hx::Callable<value(args_list)> VirtualArray_obj::name##_dyn() \
+ { \
+ struct _hx_virtualarray_##name final : public ::hx::AutoCallable_obj<value(args_list)> \
+ { \
+ VirtualArray mThis; \
+ _hx_virtualarray_##name(::cpp::VirtualArray inThis) : mThis(inThis) \
+ { \
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
+ } \
+ value _hx_run(func_list) override \
+ { \
+ ret mThis->name(args_call); \
+ } \
+ void* __GetHandle() const override { return mThis.GetPtr(); } \
+ void __Mark(hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \
+ ARRAY_VISIT_FUNC \
+ int __Compare(const ::hx::Object* inRhs) const override \
+ { \
+ auto casted = dynamic_cast<const _hx_virtualarray_##name *>(inRhs); \
+ if (!casted) return 1; \
+ if (mThis != casted->mThis) return -1; \
+ return 0; \
+ } \
+ }; \
+ return new _hx_virtualarray_##name(this); \
+ }
+
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, concat, HX_VARRAY_ARG_LIST1(::cpp::VirtualArray), HX_VARRAY_FUNC_LIST1(::cpp::VirtualArray), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, copy, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(, void, insert, HX_VARRAY_ARG_LIST2(int, ::Dynamic), HX_VARRAY_FUNC_LIST2(int, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(return, ::Dynamic, iterator, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(return, ::Dynamic, keyValueIterator, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(return, ::String, join, HX_VARRAY_ARG_LIST1(::String), HX_VARRAY_FUNC_LIST1(::String), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::Dynamic, pop, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(return, bool, contains, HX_VARRAY_ARG_LIST1(::Dynamic), HX_VARRAY_FUNC_LIST1(::Dynamic), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, bool, remove, HX_VARRAY_ARG_LIST1(::Dynamic), HX_VARRAY_FUNC_LIST1(::Dynamic), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, bool, removeAt, HX_VARRAY_ARG_LIST1(int), HX_VARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, int, indexOf, HX_VARRAY_ARG_LIST2(::Dynamic, ::Dynamic), HX_VARRAY_FUNC_LIST2(::Dynamic, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(return, int, lastIndexOf, HX_VARRAY_ARG_LIST2(::Dynamic, ::Dynamic), HX_VARRAY_FUNC_LIST2(::Dynamic, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(, void, reverse, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(return, ::Dynamic, shift, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, slice, HX_VARRAY_ARG_LIST2(int, ::Dynamic), HX_VARRAY_FUNC_LIST2(int, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, splice, HX_VARRAY_ARG_LIST2(int, int), HX_VARRAY_FUNC_LIST2(int, int), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(return, void, sort, HX_VARRAY_ARG_LIST1(hx::ArrayBase::DynamicSorterFunc), HX_VARRAY_FUNC_LIST1(hx::ArrayBase::DynamicSorterFunc), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::String, toString, HX_VARRAY_ARG_LIST0, HX_VARRAY_FUNC_LIST0, HX_ARG_LIST0);
+ HX_VARRAY_FUNC(, void, unshift, HX_VARRAY_ARG_LIST1(::Dynamic), HX_VARRAY_FUNC_LIST1(::Dynamic), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, map, HX_VARRAY_ARG_LIST1(hx::ArrayBase::DynamicMappingFunc), HX_VARRAY_FUNC_LIST1(hx::ArrayBase::DynamicMappingFunc), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::cpp::VirtualArray, filter, HX_VARRAY_ARG_LIST1(hx::ArrayBase::DynamicFilterFunc), HX_VARRAY_FUNC_LIST1(hx::ArrayBase::DynamicFilterFunc), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(, void, __SetSize, HX_VARRAY_ARG_LIST1(int), HX_VARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(, void, __SetSizeExact, HX_VARRAY_ARG_LIST1(int), HX_VARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::Dynamic, __unsafe_get, HX_VARRAY_ARG_LIST1(::Dynamic), HX_VARRAY_FUNC_LIST1(::Dynamic), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(return, ::Dynamic, __unsafe_set, HX_VARRAY_ARG_LIST2(::Dynamic, ::Dynamic), HX_VARRAY_FUNC_LIST2(::Dynamic, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(, void, blit, HX_VARRAY_ARG_LIST4(int, ::cpp::VirtualArray, int, int), HX_VARRAY_FUNC_LIST4(int, ::cpp::VirtualArray, int, int), HX_ARG_LIST4);
+ HX_VARRAY_FUNC(, void, zero, HX_VARRAY_ARG_LIST2(::Dynamic, ::Dynamic), HX_VARRAY_FUNC_LIST2(::Dynamic, ::Dynamic), HX_ARG_LIST2);
+ HX_VARRAY_FUNC(, void, memcmp, HX_VARRAY_ARG_LIST1(::cpp::VirtualArray), HX_VARRAY_FUNC_LIST1(::cpp::VirtualArray), HX_ARG_LIST1);
+ HX_VARRAY_FUNC(, void, resize, HX_VARRAY_ARG_LIST1(int), HX_VARRAY_FUNC_LIST1(int), HX_ARG_LIST1);
+#else
+#define VARRAY_RUN_FUNC(ret,func,dynamic_arg_list,arg_list) \
+ Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \
+ { \
+ ret mThis->func(arg_list); return Dynamic(); \
+ }
-#define DEFINE_VARRAY_FUNC(ret, func,array_list,dynamic_arg_list,arg_list,ARG_C) \
+#define DEFINE_VARRAY_FUNC(ret, func,array_list,run_func,ARG_C) \
struct VirtualArray_##func : public hx::Object \
{ \
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdClosure }; \
@@ -770,30 +957,26 @@ struct VirtualArray_##func : public hx::Object \
VirtualArray_##func(VirtualArray inThis) : mThis(inThis) { \
HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
} \
- String toString() const{ return HX_CSTRING(#func) ; } \
- String __ToString() const{ return HX_CSTRING(#func) ; } \
- int __GetType() const { return vtFunction; } \
- void *__GetHandle() const { return mThis.mPtr; } \
- int __ArgCount() const { return ARG_C; } \
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(mThis); } \
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \
+ String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func) ; } \
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \
+ void *__GetHandle() const HXCPP_OVERRIDE { return mThis.mPtr; } \
+ int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(mThis); } \
ARRAY_VISIT_FUNC \
- Dynamic __Run(const Array<Dynamic> &inArgs) \
+ run_func \
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE \
{ \
ret mThis->func(array_list); return Dynamic(); \
} \
- Dynamic __run(dynamic_arg_list) \
- { \
- ret mThis->func(arg_list); return Dynamic(); \
- } \
}; \
Dynamic VirtualArray_obj::func##_dyn() { return new VirtualArray_##func(this); }
-
-#define DEFINE_VARRAY_FUNC0(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST0,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0,0)
-#define DEFINE_VARRAY_FUNC1(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST1,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1,1)
-#define DEFINE_VARRAY_FUNC2(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST2,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2,2)
-#define DEFINE_VARRAY_FUNC3(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST3,HX_DYNAMIC_ARG_LIST3,HX_ARG_LIST3,3)
-#define DEFINE_VARRAY_FUNC4(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST4,HX_DYNAMIC_ARG_LIST4,HX_ARG_LIST4,4)
+#define DEFINE_VARRAY_FUNC0(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST0,VARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0),0)
+#define DEFINE_VARRAY_FUNC1(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST1,VARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1),1)
+#define DEFINE_VARRAY_FUNC2(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST2,VARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2),2)
+#define DEFINE_VARRAY_FUNC3(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST3,VARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST3,HX_ARG_LIST3),3)
+#define DEFINE_VARRAY_FUNC4(ret,func) DEFINE_VARRAY_FUNC(ret,func,HX_ARR_LIST4,VARRAY_RUN_FUNC(ret,func,HX_DYNAMIC_ARG_LIST4,HX_ARG_LIST4),4)
DEFINE_VARRAY_FUNC1(return,concat);
@@ -827,7 +1010,7 @@ DEFINE_VARRAY_FUNC2(return,__unsafe_set);
DEFINE_VARRAY_FUNC4(,blit);
DEFINE_VARRAY_FUNC1(,resize);
-
+#endif
int VirtualArray_obj::__Compare(const hx::Object *inRHS) const
@@ -874,7 +1057,11 @@ hx::Val VirtualArray_obj::__Field(const String &inString, hx::PropertyAccess inC
if (inString==HX_CSTRING("keyValueIterator")) return keyValueIterator_dyn();
if (inString==HX_CSTRING("join")) return join_dyn();
if (inString==HX_CSTRING("pop")) return pop_dyn();
- if (inString==HX_CSTRING("push")) return push_dyn();
+#if (HXCPP_API_LEVEL>=500)
+ if (inString==HX_CSTRING("push")) return push_dyn<::Dynamic>();
+#else
+ if (inString == HX_CSTRING("push")) return push_dyn();
+#endif
if (inString==HX_CSTRING("contains")) return contains_dyn();
if (inString==HX_CSTRING("remove")) return remove_dyn();
if (inString==HX_CSTRING("removeAt")) return removeAt_dyn();
@@ -1116,7 +1303,7 @@ VirtualArray VirtualArray_obj::splice(int inPos, int len)
return result;
}
-VirtualArray VirtualArray_obj::map(Dynamic inFunc)
+VirtualArray VirtualArray_obj::map(ArrayBase::DynamicMappingFunc inFunc)
{
VirtualArray result = new VirtualArray_obj( );
int len = get_length();
@@ -1125,7 +1312,7 @@ VirtualArray VirtualArray_obj::map(Dynamic inFunc)
return result;
}
-VirtualArray VirtualArray_obj::filter(Dynamic inFunc)
+VirtualArray VirtualArray_obj::filter(ArrayBase::DynamicFilterFunc inFunc)
{
if ( !base )
return new VirtualArray_obj();
@@ -1142,8 +1329,8 @@ class EmptyIterator : public IteratorBase
public:
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdArrayIterator }; \
- bool hasNext() { return false; }
- Dynamic _dynamicNext() { return null(); }
+ bool hasNext() HXCPP_OVERRIDE { return false; }
+ Dynamic _dynamicNext() HXCPP_OVERRIDE { return null(); }
};
diff --git a/Sources/c_borogove/src/Dynamic.cpp b/Sources/c_borogove/src/Dynamic.cpp
index 144bc3f..548de67 100644
--- a/Sources/c_borogove/src/Dynamic.cpp
+++ b/Sources/c_borogove/src/Dynamic.cpp
@@ -46,7 +46,7 @@ class IntData : public hx::Object
public:
enum { _hx_ClassId = hx::clsIdInt };
- bool _hx_isInstanceOf(int inClassId)
+ bool _hx_isInstanceOf(int inClassId) HXCPP_OVERRIDE
{
return inClassId==1 || inClassId==(int)_hx_ClassId || inClassId==(int)hx::clsIdFloat;
}
@@ -56,17 +56,17 @@ public:
{ return hx::Object::operator new(inSize,inAlloc,inName); }
IntData(int inValue=0) : mValue(inValue) {};
- hx::Class __GetClass() const { return __IntClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __IntClass; }
- virtual int __GetType() const { return vtInt; }
+ int __GetType() const HXCPP_OVERRIDE { return vtInt; }
- String toString() { return String(mValue); }
- String __ToString() const { return String(mValue); }
- double __ToDouble() const { return mValue; }
- int __ToInt() const { return mValue; }
- cpp::Int64 __ToInt64() const { return mValue; }
+ String toString() HXCPP_OVERRIDE { return String(mValue); }
+ String __ToString() const HXCPP_OVERRIDE { return String(mValue); }
+ double __ToDouble() const HXCPP_OVERRIDE { return mValue; }
+ int __ToInt() const HXCPP_OVERRIDE { return mValue; }
+ cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return mValue; }
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
double diff = mValue - inRHS->__ToDouble();
return diff < 0 ? -1 : diff==0 ? 0 : 1;
@@ -86,16 +86,16 @@ public:
{ return hx::Object::operator new(inSize,inAlloc,"Bool"); }
BoolData(bool inValue=false) : mValue(inValue) {};
- hx::Class __GetClass() const { return __BoolClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __BoolClass; }
- virtual int __GetType() const { return vtBool; }
+ int __GetType() const HXCPP_OVERRIDE { return vtBool; }
- String __ToString() const { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); }
- String toString() { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); }
- double __ToDouble() const { return mValue; }
- int __ToInt() const { return mValue; }
+ String __ToString() const HXCPP_OVERRIDE { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); }
+ String toString() HXCPP_OVERRIDE { return mValue ? HX_CSTRING("true") : HX_CSTRING("false"); }
+ double __ToDouble() const HXCPP_OVERRIDE { return mValue; }
+ int __ToInt() const HXCPP_OVERRIDE { return mValue; }
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
double diff = (double)mValue - inRHS->__ToDouble();
return diff < 0 ? -1 : diff==0 ? 0 : 1;
@@ -116,16 +116,16 @@ public:
{ return hx::Object::operator new(inSize,inAlloc,inName); }
DoubleData(double inValue=0) : mValue(inValue) {};
- hx::Class __GetClass() const { return __FloatClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __FloatClass; }
- virtual int __GetType() const { return vtFloat; }
- String toString() { return String(mValue); }
- String __ToString() const { return String(mValue); }
- double __ToDouble() const { return mValue; }
- int __ToInt() const { return (int)mValue; }
- cpp::Int64 __ToInt64() const { return mValue; }
+ int __GetType() const HXCPP_OVERRIDE { return vtFloat; }
+ String toString() HXCPP_OVERRIDE { return String(mValue); }
+ String __ToString() const HXCPP_OVERRIDE { return String(mValue); }
+ double __ToDouble() const HXCPP_OVERRIDE { return mValue; }
+ int __ToInt() const HXCPP_OVERRIDE { return (int)mValue; }
+ cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return (cpp::Int64)mValue; }
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
double rval = inRHS->__ToDouble();
if (rval==mValue)
@@ -148,26 +148,26 @@ public:
{ return hx::Object::operator new(inSize,inAlloc,inName); }
Int64Data(cpp::Int64 inValue=0) : mValue(inValue) {};
- hx::Class __GetClass() const { return __Int64Class; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __Int64Class; }
- virtual int __GetType() const { return vtInt64; }
- String toString() { return String(mValue); }
- String __ToString() const { return String(mValue); }
- double __ToDouble() const { return mValue; }
- int __ToInt() const { return (int)mValue; }
- cpp::Int64 __ToInt64() const { return mValue; }
- void __GetFields(Array<String> &outFields)
+ int __GetType() const HXCPP_OVERRIDE { return vtInt64; }
+ String toString() HXCPP_OVERRIDE { return String(mValue); }
+ String __ToString() const HXCPP_OVERRIDE { return String(mValue); }
+ double __ToDouble() const HXCPP_OVERRIDE { return (double)mValue; }
+ int __ToInt() const HXCPP_OVERRIDE { return (int)mValue; }
+ cpp::Int64 __ToInt64() const HXCPP_OVERRIDE { return mValue; }
+ void __GetFields(Array<String>& outFields) HXCPP_OVERRIDE
{
outFields->push( HX_HCSTRING("hi","\x01","\x5b","\x00","\x00") );
outFields->push( HX_HCSTRING("lo","\x83","\x5e","\x00","\x00") );
}
- hx::Val __Field(const String &inName, hx::PropertyAccess inCallProp)
+ hx::Val __Field(const String &inName, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (HX_FIELD_EQ(inName,"hi") ) { return hx::Val( (int)(mValue>>32)); }
if (HX_FIELD_EQ(inName,"lo") ) { return hx::Val( (int)(mValue&0xffffffff)); }
return hx::Object::__Field(inName,inCallProp);
}
- hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp)
+ hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (HX_FIELD_EQ(inName,"hi") )
{
@@ -182,7 +182,7 @@ public:
return hx::Object::__SetField(inName,inValue,inCallProp);
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
double rval = inRHS->__ToInt64();
if (rval==mValue)
@@ -209,20 +209,20 @@ public:
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdPointer };
- hx::Class __GetClass() const { return __PointerClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __PointerClass; }
// k_cpp_pointer
- int __GetType() const { return vtAbstractBase + 2; }
- void * __GetHandle() const { return mValue; }
- String toString()
+ int __GetType() const HXCPP_OVERRIDE { return vtAbstractBase + 2; }
+ void * __GetHandle() const HXCPP_OVERRIDE { return mValue; }
+ String toString() HXCPP_OVERRIDE
{
char buf[100];
snprintf(buf,sizeof(buf),"Pointer(%p)", mValue);
return String(buf);
}
- String __ToString() const { return String(mValue); }
+ String __ToString() const HXCPP_OVERRIDE { return String(mValue); }
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
void *r = inRHS==0 ? 0 : inRHS->__GetHandle();
return mValue < r ? -1 : mValue==r ? 0 : 1;
@@ -250,29 +250,29 @@ public:
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdStruct };
- hx::Class __GetClass() const { return __PointerClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __PointerClass; }
// k_cpp_struct
- int __GetType() const { return vtAbstractBase + 3; }
- void * __GetHandle() const { return mValue; }
- String toString()
+ int __GetType() const HXCPP_OVERRIDE { return vtAbstractBase + 3; }
+ void * __GetHandle() const HXCPP_OVERRIDE { return mValue; }
+ String toString() HXCPP_OVERRIDE
{
return __ToString();
}
- String __ToString() const
+ String __ToString() const HXCPP_OVERRIDE
{
String result;
mHandler(cpp::dhoToString, mValue, 0, &result );
return result;
}
- const char *__CStr() const
+ const char *__CStr() const HXCPP_OVERRIDE
{
const char *result = "unknown";
mHandler(cpp::dhoGetClassName, mValue, 0, &result );
return result;
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
if (!inRHS)
return 1;
@@ -288,15 +288,15 @@ public:
return 0;
}
- int __length() const { return mLength; }
+ int __length() const HXCPP_OVERRIDE { return mLength; }
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_ARRAY(mValue);
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
HX_VISIT_ARRAY(mValue);
}
@@ -393,7 +393,15 @@ Dynamic::Dynamic(signed char inVal)
mPtr = fromInt(inVal);
}
+Dynamic::Dynamic(char16_t inVal)
+{
+ mPtr = fromInt(inVal);
+}
+Dynamic::Dynamic(char32_t inVal)
+{
+ mPtr = fromInt(inVal);
+}
Dynamic::Dynamic(double inVal)
{
@@ -402,7 +410,7 @@ Dynamic::Dynamic(double inVal)
int idx = inVal+1;
mPtr = sConstDynamicInts[idx].mPtr;
if (!mPtr)
- mPtr = sConstDynamicInts[idx].mPtr = new (hx::NewObjConst)IntData(inVal);
+ mPtr = sConstDynamicInts[idx].mPtr = new (hx::NewObjConst)IntData((int)inVal);
}
else
mPtr = (hx::Object *)new DoubleData(inVal);
@@ -411,12 +419,13 @@ Dynamic::Dynamic(double inVal)
Dynamic::Dynamic(cpp::Int64 inVal)
{
- if ( (int)inVal==inVal && inVal>=-1 && inVal<256 )
+ int ival = (int)inVal;
+ if ( ival==inVal && ival>=-1 && ival<256 )
{
- int idx = inVal+1;
+ int idx = ival+1;
mPtr = sConstDynamicInts[idx].mPtr;
if (!mPtr)
- mPtr = sConstDynamicInts[idx].mPtr = new (hx::NewObjConst)IntData(inVal);
+ mPtr = sConstDynamicInts[idx].mPtr = new (hx::NewObjConst)IntData(ival);
}
else
mPtr = (hx::Object *)new Int64Data(inVal);
@@ -436,6 +445,7 @@ Dynamic::Dynamic(cpp::UInt64 inVal)
mPtr = (hx::Object *)new Int64Data(inVal);
}
+#if defined(NEKO_MAC) || defined(NEKO_BSD)
Dynamic::Dynamic(unsigned long inVal)
{
if ( (int)inVal==inVal && inVal<256 )
@@ -448,7 +458,7 @@ Dynamic::Dynamic(unsigned long inVal)
else
mPtr = (hx::Object *)new Int64Data(inVal);
}
-
+#endif
@@ -502,6 +512,8 @@ DYN_OP_ADD(short)
DYN_OP_ADD(unsigned short)
DYN_OP_ADD(signed char)
DYN_OP_ADD(unsigned char)
+DYN_OP_ADD(char16_t)
+DYN_OP_ADD(char32_t)
DYN_OP_ADD(cpp::Int64)
DYN_OP_ADD(cpp::UInt64)
diff --git a/Sources/c_borogove/src/HaxeCBridge.cpp b/Sources/c_borogove/src/HaxeCBridge.cpp
index 6f52787..59ab4be 100644
--- a/Sources/c_borogove/src/HaxeCBridge.cpp
+++ b/Sources/c_borogove/src/HaxeCBridge.cpp
@@ -58,187 +58,187 @@
#include <sys/thread/_Thread/Thread_Impl_.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2254_mainThreadInit,"HaxeCBridge","mainThreadInit",0x6f09ae5b,"HaxeCBridge.mainThreadInit","HaxeCBridge.hx",2254,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2269_mainThreadRun,"HaxeCBridge","mainThreadRun",0xa4afa660,"HaxeCBridge.mainThreadRun","HaxeCBridge.hx",2269,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2359_retainHaxeArray,"HaxeCBridge","retainHaxeArray",0x7373bc46,"HaxeCBridge.retainHaxeArray","HaxeCBridge.hx",2359,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2368_retainHaxeObject,"HaxeCBridge","retainHaxeObject",0xef200772,"HaxeCBridge.retainHaxeObject","HaxeCBridge.hx",2368,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2378_retainHaxeString,"HaxeCBridge","retainHaxeString",0xeb10b184,"HaxeCBridge.retainHaxeString","HaxeCBridge.hx",2378,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2385_retainPtr,"HaxeCBridge","retainPtr",0x2c61e661,"HaxeCBridge.retainPtr","HaxeCBridge.hx",2385,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2398_releaseHaxePtr,"HaxeCBridge","releaseHaxePtr",0x5df2fc29,"HaxeCBridge.releaseHaxePtr","HaxeCBridge.hx",2398,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2411_isMainThread,"HaxeCBridge","isMainThread",0x6f71c035,"HaxeCBridge.isMainThread","HaxeCBridge.hx",2411,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2416_endMainThread,"HaxeCBridge","endMainThread",0x0d9deed6,"HaxeCBridge.endMainThread","HaxeCBridge.hx",2416,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2255_mainThreadInit,"HaxeCBridge","mainThreadInit",0x6f09ae5b,"HaxeCBridge.mainThreadInit","HaxeCBridge.hx",2255,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2270_mainThreadRun,"HaxeCBridge","mainThreadRun",0xa4afa660,"HaxeCBridge.mainThreadRun","HaxeCBridge.hx",2270,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2360_retainHaxeArray,"HaxeCBridge","retainHaxeArray",0x7373bc46,"HaxeCBridge.retainHaxeArray","HaxeCBridge.hx",2360,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2369_retainHaxeObject,"HaxeCBridge","retainHaxeObject",0xef200772,"HaxeCBridge.retainHaxeObject","HaxeCBridge.hx",2369,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2379_retainHaxeString,"HaxeCBridge","retainHaxeString",0xeb10b184,"HaxeCBridge.retainHaxeString","HaxeCBridge.hx",2379,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2386_retainPtr,"HaxeCBridge","retainPtr",0x2c61e661,"HaxeCBridge.retainPtr","HaxeCBridge.hx",2386,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2399_releaseHaxePtr,"HaxeCBridge","releaseHaxePtr",0x5df2fc29,"HaxeCBridge.releaseHaxePtr","HaxeCBridge.hx",2399,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2412_isMainThread,"HaxeCBridge","isMainThread",0x6f71c035,"HaxeCBridge.isMainThread","HaxeCBridge.hx",2412,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_74d844958d4dcf5a_2417_endMainThread,"HaxeCBridge","endMainThread",0x0d9deed6,"HaxeCBridge.endMainThread","HaxeCBridge.hx",2417,0xa18550d8)
void HaxeCBridge::mainThreadInit(::cpp::Function< bool () > isMainThreadCb){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2254_mainThreadInit)
-HXLINE(2260) ::_HaxeCBridge::Internal_obj::isMainThreadCb = isMainThreadCb;
-HXLINE(2261) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current())->waitLock;
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2255_mainThreadInit)
+HXLINE(2261) ::_HaxeCBridge::Internal_obj::isMainThreadCb = isMainThreadCb;
+HXLINE(2262) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current())->waitLock;
}
void HaxeCBridge::mainThreadRun(::cpp::Function< void () > processNativeCalls,::cpp::Function< bool () > hasPendingNativeCalls,::cpp::Function< void (const char*) > onUnhandledException){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2269_mainThreadRun)
-HXLINE(2270) try {
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2270_mainThreadRun)
+HXLINE(2271) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE(2272) {
-HXLINE(2272) null();
+HXLINE(2273) {
+HXLINE(2273) null();
}
-HXDLIN(2272) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
-HXDLIN(2272) {
-HXLINE(2273) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN(2273) ::Array< ::Dynamic> tmp = _g1->get_stack();
-HXDLIN(2273) ::String _hx_tmp1;
-HXDLIN(2273) if (::hx::IsNull( tmp )) {
-HXLINE(2273) _hx_tmp1 = HX_("null",87,9e,0e,49);
+HXDLIN(2273) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN(2273) {
+HXLINE(2274) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN(2274) ::Array< ::Dynamic> tmp = _g1->get_stack();
+HXDLIN(2274) ::String _hx_tmp1;
+HXDLIN(2274) if (::hx::IsNull( tmp )) {
+HXLINE(2274) _hx_tmp1 = HX_("null",87,9e,0e,49);
}
else {
-HXLINE(2273) _hx_tmp1 = ::haxe::_CallStack::CallStack_Impl__obj::toString(tmp);
+HXLINE(2274) _hx_tmp1 = ::haxe::_CallStack::CallStack_Impl__obj::toString(tmp);
}
-HXDLIN(2273) _hx_tmp(_g1, ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN(2274) _hx_tmp(_g1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("HaxeCBridge",a6,7d,e3,bb))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_hx_tmp1))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("mainThreadRun",28,d7,3c,8e))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("HaxeCBridge.hx",d8,50,85,a1))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),2273)));
-HXLINE(2274) onUnhandledException(::Std_obj::string(_g1).utf8_str());
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2274)));
+HXLINE(2275) onUnhandledException(::Std_obj::string(_g1).utf8_str());
}
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE(2281) ::sys::thread::EventLoop eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
-HXLINE(2283) ::Array< ::Dynamic> recycleRegular = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(2284) ::Array< ::Dynamic> recycleOneTimers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(2285) while(::_HaxeCBridge::Internal_obj::mainThreadLoopActive){
-HXLINE(2286) try {
+HXLINE(2282) ::sys::thread::EventLoop eventLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
+HXLINE(2284) ::Array< ::Dynamic> recycleRegular = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2285) ::Array< ::Dynamic> recycleOneTimers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2286) while(::_HaxeCBridge::Internal_obj::mainThreadLoopActive){
+HXLINE(2287) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE(2288) processNativeCalls();
-HXLINE(2291) Float now = ::Sys_obj::time();
-HXDLIN(2291) int eventsToRunIdx = 0;
-HXDLIN(2291) Float nextEventAt = ( (Float)(-1) );
-HXDLIN(2291) eventLoop->mutex->acquire();
-HXDLIN(2291) while(eventLoop->waitLock->wait(((Float)0.0))){
+HXLINE(2289) processNativeCalls();
+HXLINE(2292) Float now = ::Sys_obj::time();
+HXDLIN(2292) int eventsToRunIdx = 0;
+HXDLIN(2292) Float nextEventAt = ( (Float)(-1) );
+HXDLIN(2292) eventLoop->mutex->acquire();
+HXDLIN(2292) while(eventLoop->waitLock->wait(((Float)0.0))){
}
-HXLINE(2291) ::sys::thread::_EventLoop::RegularEvent current = eventLoop->regularEvents;
-HXDLIN(2291) while(::hx::IsNotNull( current )){
-HXLINE(2291) if ((current->nextRunTime <= now)) {
-HXLINE(2291) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2291) recycleRegular[(eventsToRunIdx - 1)] = current;
-HXDLIN(2291) ::sys::thread::_EventLoop::RegularEvent current1 = current;
-HXDLIN(2291) current1->nextRunTime = (current1->nextRunTime + current->interval);
+HXLINE(2292) ::sys::thread::_EventLoop::RegularEvent current = eventLoop->regularEvents;
+HXDLIN(2292) while(::hx::IsNotNull( current )){
+HXLINE(2292) if ((current->nextRunTime <= now)) {
+HXLINE(2292) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2292) recycleRegular[(eventsToRunIdx - 1)] = current;
+HXDLIN(2292) ::sys::thread::_EventLoop::RegularEvent current1 = current;
+HXDLIN(2292) current1->nextRunTime = (current1->nextRunTime + current->interval);
HXLINE( 220) nextEventAt = ( (Float)(-2) );
}
else {
-HXLINE(2291) bool _hx_tmp2;
-HXDLIN(2291) if ((nextEventAt != -1)) {
-HXLINE(2291) _hx_tmp2 = (current->nextRunTime < nextEventAt);
+HXLINE(2292) bool _hx_tmp2;
+HXDLIN(2292) if ((nextEventAt != -1)) {
+HXLINE(2292) _hx_tmp2 = (current->nextRunTime < nextEventAt);
}
else {
-HXLINE(2291) _hx_tmp2 = true;
+HXLINE(2292) _hx_tmp2 = true;
}
-HXDLIN(2291) if (_hx_tmp2) {
+HXDLIN(2292) if (_hx_tmp2) {
HXLINE( 222) nextEventAt = current->nextRunTime;
}
}
HXLINE( 224) current = current->next;
}
-HXLINE(2291) eventLoop->mutex->release();
-HXDLIN(2291) int _g2 = 0;
-HXDLIN(2291) int _g3 = eventsToRunIdx;
-HXDLIN(2291) while((_g2 < _g3)){
-HXLINE(2291) _g2 = (_g2 + 1);
-HXDLIN(2291) int i = (_g2 - 1);
-HXDLIN(2291) if (!(recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
-HXLINE(2291) recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
+HXLINE(2292) eventLoop->mutex->release();
+HXDLIN(2292) int _g2 = 0;
+HXDLIN(2292) int _g3 = eventsToRunIdx;
+HXDLIN(2292) while((_g2 < _g3)){
+HXLINE(2292) _g2 = (_g2 + 1);
+HXDLIN(2292) int i = (_g2 - 1);
+HXDLIN(2292) if (!(recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->cancelled)) {
+HXLINE(2292) recycleRegular->__get(i).StaticCast< ::sys::thread::_EventLoop::RegularEvent >()->run();
}
-HXDLIN(2291) recycleRegular[i] = null();
+HXDLIN(2292) recycleRegular[i] = null();
}
HXLINE( 234) eventsToRunIdx = 0;
-HXLINE(2291) eventLoop->mutex->acquire();
-HXDLIN(2291) ::Array< ::Dynamic> _this = eventLoop->oneTimeEvents;
-HXDLIN(2291) int _g_current = 0;
-HXDLIN(2291) while((_g_current < _this->length)){
-HXLINE(2291) ::Dynamic _g_value = _this->__get(_g_current);
-HXDLIN(2291) _g_current = (_g_current + 1);
-HXDLIN(2291) if (::hx::IsNull( _g_value )) {
-HXLINE(2291) goto _hx_goto_5;
+HXLINE(2292) eventLoop->mutex->acquire();
+HXDLIN(2292) ::Array< ::Dynamic> _this = eventLoop->oneTimeEvents;
+HXDLIN(2292) int _g_current = 0;
+HXDLIN(2292) while((_g_current < _this->length)){
+HXLINE(2292) ::Dynamic _g_value = _this->__get(_g_current);
+HXDLIN(2292) _g_current = (_g_current + 1);
+HXDLIN(2292) if (::hx::IsNull( _g_value )) {
+HXLINE(2292) goto _hx_goto_5;
}
else {
-HXLINE(2291) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2291) recycleOneTimers[(eventsToRunIdx - 1)] = _g_value;
-HXDLIN(2291) eventLoop->oneTimeEvents[(_g_current - 1)] = null();
+HXLINE(2292) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2292) recycleOneTimers[(eventsToRunIdx - 1)] = _g_value;
+HXDLIN(2292) eventLoop->oneTimeEvents[(_g_current - 1)] = null();
}
}
_hx_goto_5:;
-HXDLIN(2291) eventLoop->oneTimeEventsIdx = 0;
-HXDLIN(2291) bool hasPromisedEvents = (eventLoop->promisedEventsCount > 0);
-HXDLIN(2291) eventLoop->mutex->release();
-HXDLIN(2291) int _g4 = 0;
-HXDLIN(2291) int _g5 = eventsToRunIdx;
-HXDLIN(2291) while((_g4 < _g5)){
-HXLINE(2291) _g4 = (_g4 + 1);
-HXDLIN(2291) int i1 = (_g4 - 1);
-HXDLIN(2291) recycleOneTimers->__get(i1)();
-HXDLIN(2291) recycleOneTimers[i1] = null();
+HXDLIN(2292) eventLoop->oneTimeEventsIdx = 0;
+HXDLIN(2292) bool hasPromisedEvents = (eventLoop->promisedEventsCount > 0);
+HXDLIN(2292) eventLoop->mutex->release();
+HXDLIN(2292) int _g4 = 0;
+HXDLIN(2292) int _g5 = eventsToRunIdx;
+HXDLIN(2292) while((_g4 < _g5)){
+HXLINE(2292) _g4 = (_g4 + 1);
+HXDLIN(2292) int i1 = (_g4 - 1);
+HXDLIN(2292) recycleOneTimers->__get(i1)();
+HXDLIN(2292) recycleOneTimers[i1] = null();
}
-HXDLIN(2291) if (eventLoop->isMainThread) {
-HXLINE(2291) Float next = ::haxe::MainLoop_obj::tick();
-HXDLIN(2291) if (::haxe::MainLoop_obj::hasEvents()) {
-HXLINE(2291) eventsToRunIdx = (eventsToRunIdx + 1);
-HXDLIN(2291) if ((nextEventAt > next)) {
+HXDLIN(2292) if (eventLoop->isMainThread) {
+HXLINE(2292) Float next = ::haxe::MainLoop_obj::tick();
+HXDLIN(2292) if (::haxe::MainLoop_obj::hasEvents()) {
+HXLINE(2292) eventsToRunIdx = (eventsToRunIdx + 1);
+HXDLIN(2292) if ((nextEventAt > next)) {
HXLINE( 264) nextEventAt = next;
}
}
}
-HXLINE(2291) if ((eventsToRunIdx > 0)) {
+HXLINE(2292) if ((eventsToRunIdx > 0)) {
HXLINE( 270) nextEventAt = ( (Float)(-2) );
}
-HXLINE(2291) Float eventTickInfo_nextEventAt = nextEventAt;
-HXLINE(2292) if (hasPendingNativeCalls()) {
-HXLINE(2293) continue;
+HXLINE(2292) Float eventTickInfo_nextEventAt = nextEventAt;
+HXLINE(2293) if (hasPendingNativeCalls()) {
+HXLINE(2294) continue;
}
-HXLINE(2295) Float _hx_switch_0 = eventTickInfo_nextEventAt;
+HXLINE(2296) Float _hx_switch_0 = eventTickInfo_nextEventAt;
if ( (_hx_switch_0==( (Float)(-2) )) ){
-HXLINE(2296) goto _hx_goto_7;
+HXLINE(2297) goto _hx_goto_7;
}
if ( (_hx_switch_0==( (Float)(-1) )) ){
-HXLINE(2298) bool _hx_tmp3;
-HXDLIN(2298) if (::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending) {
-HXLINE(2298) _hx_tmp3 = !(hasPromisedEvents);
+HXLINE(2299) bool _hx_tmp3;
+HXDLIN(2299) if (::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending) {
+HXLINE(2299) _hx_tmp3 = !(hasPromisedEvents);
}
else {
-HXLINE(2298) _hx_tmp3 = false;
+HXLINE(2299) _hx_tmp3 = false;
}
-HXDLIN(2298) if (_hx_tmp3) {
-HXLINE(2300) goto _hx_goto_1;
+HXDLIN(2299) if (_hx_tmp3) {
+HXLINE(2301) goto _hx_goto_1;
}
-HXLINE(2302) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(null());
-HXLINE(2297) goto _hx_goto_7;
+HXLINE(2303) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(null());
+HXLINE(2298) goto _hx_goto_7;
}
/* default */{
-HXLINE(2304) Float timeout = (eventTickInfo_nextEventAt - ::Sys_obj::time());
-HXLINE(2305) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(::Math_obj::max(( (Float)(0) ),timeout));
+HXLINE(2305) Float timeout = (eventTickInfo_nextEventAt - ::Sys_obj::time());
+HXLINE(2306) ::_HaxeCBridge::Internal_obj::mainThreadWaitLock->wait(::Math_obj::max(( (Float)(0) ),timeout));
}
_hx_goto_7:;
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g6 = _hx_e;
-HXLINE(2307) {
-HXLINE(2307) null();
+HXLINE(2308) {
+HXLINE(2308) null();
}
-HXLINE(2308) ::String s;
-HXDLIN(2308) if (::hx::IsNull( _g6 )) {
-HXLINE(2308) s = HX_("null",87,9e,0e,49);
+HXLINE(2309) ::String s;
+HXDLIN(2309) if (::hx::IsNull( _g6 )) {
+HXLINE(2309) s = HX_("null",87,9e,0e,49);
}
else {
-HXLINE(2308) s = ::Std_obj::string(_g6);
+HXLINE(2309) s = ::Std_obj::string(_g6);
}
-HXDLIN(2308) onUnhandledException(s.utf8_str());
+HXDLIN(2309) onUnhandledException(s.utf8_str());
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -246,123 +246,123 @@ HXDLIN(2308) onUnhandledException(s.utf8_str());
}
}
_hx_goto_1:;
-HXLINE(2313) __hxcpp_collect(true);
+HXLINE(2314) __hxcpp_collect(true);
}
void** HaxeCBridge::retainHaxeArray(::cpp::VirtualArray haxeArray){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2359_retainHaxeArray)
-HXLINE(2362) void** ptr = (void**)haxeArray->getBase();
-HXLINE(2363) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXLINE(2364) {
-HXLINE(2364) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2364) if (::hx::IsNull( store )) {
-HXLINE(2364) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2360_retainHaxeArray)
+HXLINE(2363) void** ptr = (void**)haxeArray->getBase();
+HXLINE(2364) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXLINE(2365) {
+HXLINE(2365) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2365) if (::hx::IsNull( store )) {
+HXLINE(2365) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),haxeArray));
-HXDLIN(2364) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN(2365) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2364) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2365) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXLINE(2365) return ptr;
+HXLINE(2366) return ptr;
}
void* HaxeCBridge::retainHaxeObject( ::Dynamic haxeObject){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2368_retainHaxeObject)
-HXLINE(2370) void* ptr = haxeObject.mPtr;
-HXLINE(2373) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXLINE(2374) {
-HXLINE(2374) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2374) if (::hx::IsNull( store )) {
-HXLINE(2374) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2369_retainHaxeObject)
+HXLINE(2371) void* ptr = haxeObject.mPtr;
+HXLINE(2374) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXLINE(2375) {
+HXLINE(2375) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2375) if (::hx::IsNull( store )) {
+HXLINE(2375) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN(2374) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN(2375) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2374) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2375) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXLINE(2375) return ptr;
+HXLINE(2376) return ptr;
}
const char* HaxeCBridge::retainHaxeString(::String haxeString){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2378_retainHaxeString)
-HXLINE(2379) const char* cStrPtr = haxeString.utf8_str();
-HXLINE(2380) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXLINE(2381) {
-HXLINE(2381) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2381) if (::hx::IsNull( store )) {
-HXLINE(2381) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2379_retainHaxeString)
+HXLINE(2380) const char* cStrPtr = haxeString.utf8_str();
+HXLINE(2381) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXLINE(2382) {
+HXLINE(2382) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2382) if (::hx::IsNull( store )) {
+HXLINE(2382) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),haxeString));
-HXDLIN(2381) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN(2382) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2381) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2382) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXLINE(2382) return cStrPtr;
+HXLINE(2383) return cStrPtr;
}
void HaxeCBridge::retainPtr(::cpp::Int64 ptrInt64, ::Dynamic haxeObject){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2385_retainPtr)
-HXLINE(2387) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXLINE(2388) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2386_retainPtr)
+HXLINE(2388) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXLINE(2389) if (::hx::IsNull( store )) {
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXLINE(2391) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXLINE(2392) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2394) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2395) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
void HaxeCBridge::releaseHaxePtr(void * haxePtr){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2398_releaseHaxePtr)
-HXLINE(2399) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(haxePtr);
-HXLINE(2400) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXLINE(2401) bool _hx_tmp;
-HXDLIN(2401) if (::hx::IsNotNull( store )) {
-HXLINE(2401) _hx_tmp = ::hx::IsGreater( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 );
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2399_releaseHaxePtr)
+HXLINE(2400) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(haxePtr);
+HXLINE(2401) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXLINE(2402) bool _hx_tmp;
+HXDLIN(2402) if (::hx::IsNotNull( store )) {
+HXLINE(2402) _hx_tmp = ::hx::IsGreater( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 );
}
else {
-HXLINE(2401) _hx_tmp = false;
+HXLINE(2402) _hx_tmp = false;
}
-HXDLIN(2401) if (_hx_tmp) {
-HXLINE(2402) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))--;
-HXLINE(2403) if (::hx::IsLessEq( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 )) {
-HXLINE(2404) ::_HaxeCBridge::Internal_obj::gcRetainMap->remove(ptrInt64);
+HXDLIN(2402) if (_hx_tmp) {
+HXLINE(2403) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))--;
+HXLINE(2404) if (::hx::IsLessEq( store->__Field(HX_("refCount",7c,2e,66,86),::hx::paccDynamic),0 )) {
+HXLINE(2405) ::_HaxeCBridge::Internal_obj::gcRetainMap->remove(ptrInt64);
}
}
}
bool HaxeCBridge::isMainThread(){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2411_isMainThread)
-HXDLIN(2411) return ::_HaxeCBridge::Internal_obj::isMainThreadCb();
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2412_isMainThread)
+HXDLIN(2412) return ::_HaxeCBridge::Internal_obj::isMainThreadCb();
}
void HaxeCBridge::endMainThread(bool waitOnScheduledEvents){
- HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2416_endMainThread)
-HXLINE(2417) ::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending = true;
-HXLINE(2418) bool _hx_tmp;
-HXDLIN(2418) if (::_HaxeCBridge::Internal_obj::mainThreadLoopActive) {
-HXLINE(2418) _hx_tmp = waitOnScheduledEvents;
+ HX_STACKFRAME(&_hx_pos_74d844958d4dcf5a_2417_endMainThread)
+HXLINE(2418) ::_HaxeCBridge::Internal_obj::mainThreadEndIfNoPending = true;
+HXLINE(2419) bool _hx_tmp;
+HXDLIN(2419) if (::_HaxeCBridge::Internal_obj::mainThreadLoopActive) {
+HXLINE(2419) _hx_tmp = waitOnScheduledEvents;
}
else {
-HXLINE(2418) _hx_tmp = false;
+HXLINE(2419) _hx_tmp = false;
}
-HXDLIN(2418) ::_HaxeCBridge::Internal_obj::mainThreadLoopActive = _hx_tmp;
-HXLINE(2419) ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
+HXDLIN(2419) ::_HaxeCBridge::Internal_obj::mainThreadLoopActive = _hx_tmp;
+HXLINE(2420) ::__hxcpp_lock_release(::_HaxeCBridge::Internal_obj::mainThreadWaitLock->l);
}
diff --git a/Sources/c_borogove/src/Lambda.cpp b/Sources/c_borogove/src/Lambda.cpp
index b6a0ec5..1b6299e 100644
--- a/Sources/c_borogove/src/Lambda.cpp
+++ b/Sources/c_borogove/src/Lambda.cpp
@@ -7,6 +7,7 @@
HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_45_array,"Lambda","array",0x9c8b0512,"Lambda.array","/usr/local/lib/haxe/std/Lambda.hx",45,0xf61dfe9a)
HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_125_exists,"Lambda","exists",0x65091043,"Lambda.exists","/usr/local/lib/haxe/std/Lambda.hx",125,0xf61dfe9a)
+HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_168_filter,"Lambda","filter",0x2a5e121f,"Lambda.filter","/usr/local/lib/haxe/std/Lambda.hx",168,0xf61dfe9a)
HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_183_fold,"Lambda","fold",0x9b8816a8,"Lambda.fold","/usr/local/lib/haxe/std/Lambda.hx",183,0xf61dfe9a)
HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_225_empty,"Lambda","empty",0xe6d5d206,"Lambda.empty","/usr/local/lib/haxe/std/Lambda.hx",225,0xf61dfe9a)
HX_LOCAL_STACK_FRAME(_hx_pos_a2b9229e56451ffa_255_find,"Lambda","find",0x9b838ae0,"Lambda.find","/usr/local/lib/haxe/std/Lambda.hx",255,0xf61dfe9a)
@@ -60,6 +61,24 @@ HXLINE( 129) return false;
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Lambda_obj,exists,return )
+::cpp::VirtualArray Lambda_obj::filter( ::Dynamic it, ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_a2b9229e56451ffa_168_filter)
+HXDLIN( 168) ::cpp::VirtualArray _g = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN( 168) {
+HXDLIN( 168) ::Dynamic x = it->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 168) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 168) ::Dynamic x1 = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXDLIN( 168) if (( (bool)(f(x1)) )) {
+HXDLIN( 168) _g->push(x1);
+ }
+ }
+ }
+HXDLIN( 168) return _g;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Lambda_obj,filter,return )
+
::Dynamic Lambda_obj::fold( ::Dynamic it, ::Dynamic f, ::Dynamic first){
HX_STACKFRAME(&_hx_pos_a2b9229e56451ffa_183_fold)
HXLINE( 184) {
@@ -135,6 +154,7 @@ bool Lambda_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Pr
break;
case 6:
if (HX_FIELD_EQ(inName,"exists") ) { outValue = exists_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"filter") ) { outValue = filter_dyn(); return true; }
break;
case 9:
if (HX_FIELD_EQ(inName,"findIndex") ) { outValue = findIndex_dyn(); return true; }
@@ -152,6 +172,7 @@ static ::hx::StaticInfo *Lambda_obj_sStaticStorageInfo = 0;
static ::String Lambda_obj_sStaticFields[] = {
HX_("array",99,6d,8f,25),
HX_("exists",dc,1d,e0,bf),
+ HX_("filter",b8,1f,35,85),
HX_("fold",01,5c,c0,43),
HX_("empty",8d,3a,da,6f),
HX_("find",39,d0,bb,43),
diff --git a/Sources/c_borogove/src/Math.cpp b/Sources/c_borogove/src/Math.cpp
index 2b2b5fa..14cbd56 100755
--- a/Sources/c_borogove/src/Math.cpp
+++ b/Sources/c_borogove/src/Math.cpp
@@ -37,6 +37,64 @@ double Math_obj::POSITIVE_INFINITY = std::numeric_limits<double>::infinity();
#undef max
#endif
+#if (HXCPP_API_LEVEL>=500)
+
+ #ifdef HXCPP_VISIT_ALLOCS
+ #define MATHS_VISIT_FUNC \
+ void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); }
+ #else
+ #define MATHS_VISIT_FUNC
+ #endif
+
+ #define HX_MATHS_ARG_LIST0
+ #define HX_MATHS_ARG_LIST1(arg0) arg0
+ #define HX_MATHS_ARG_LIST2(arg0, arg1) arg0, arg1
+
+ #define HX_MATHS_FUNC_LIST0
+ #define HX_MATHS_FUNC_LIST1(arg0) arg0 inArg0
+ #define HX_MATHS_FUNC_LIST2(arg0, arg1) arg0 inArg0, arg1 inArg1
+
+ #define HX_MATHS_FUNC(value, name, args_list, func_list, args_call) \
+ ::hx::Callable<value(args_list)> Math_obj::name##_dyn() \
+ { \
+ struct _hx_maths_##name final : public ::hx::AutoCallable_obj<value(args_list)> \
+ { \
+ value HX_LOCAL_RUN(func_list) override \
+ { \
+ return Math_obj::name(args_call); \
+ } \
+ int __Compare(const ::hx::Object* inRhs) const override \
+ { \
+ return dynamic_cast<const _hx_maths_##name *>(inRhs) ? 0 : -1; \
+ } \
+ }; \
+ return new _hx_maths_##name(); \
+ }
+
+ HX_MATHS_FUNC(int, floor, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(int, ceil, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(int, round, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, ffloor, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, fceil, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, fround, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, random, HX_MATHS_ARG_LIST0, HX_MATHS_FUNC_LIST0, HX_ARG_LIST0);
+ HX_MATHS_FUNC(double, sqrt, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, cos, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, sin, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, tan, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, atan2, HX_MATHS_ARG_LIST2(double, double), HX_MATHS_FUNC_LIST2(double, double), HX_ARG_LIST2);
+ HX_MATHS_FUNC(double, abs, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, pow, HX_MATHS_ARG_LIST2(double, double), HX_MATHS_FUNC_LIST2(double, double), HX_ARG_LIST2);
+ HX_MATHS_FUNC(double, log, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, min, HX_MATHS_ARG_LIST2(double, double), HX_MATHS_FUNC_LIST2(double, double), HX_ARG_LIST2);
+ HX_MATHS_FUNC(double, max, HX_MATHS_ARG_LIST2(double, double), HX_MATHS_FUNC_LIST2(double, double), HX_ARG_LIST2);
+ HX_MATHS_FUNC(double, acos, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, asin, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, atan, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(double, exp, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(bool, isNaN, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+ HX_MATHS_FUNC(bool, isFinite, HX_MATHS_ARG_LIST1(double), HX_MATHS_FUNC_LIST1(double), HX_ARG_LIST1);
+#else
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,floor,return);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,ffloor,return);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,ceil,return);
@@ -60,6 +118,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,acos,return);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,exp,return);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,isNaN,return);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Math_obj,isFinite,return);
+#endif
hx::Val Math_obj::__Field(const String &inString, hx::PropertyAccess inCallProp)
{
diff --git a/Sources/c_borogove/src/String.cpp b/Sources/c_borogove/src/String.cpp
index 815d976..86ce6bb 100644
--- a/Sources/c_borogove/src/String.cpp
+++ b/Sources/c_borogove/src/String.cpp
@@ -788,10 +788,41 @@ String String::create(const char *inString,int inLength)
return String(s,len);
}
+String String::create(const::cpp::marshal::View<char>& buffer)
+{
+ auto start = buffer.ptr.ptr;
+ auto end = start + buffer.length;
+ while (start < end) {
+ if (*start == false)
+ {
+ break;
+ }
+ start++;
+ }
+
+ return String::create(buffer.ptr.ptr, buffer.length - (end - start));
+}
+String String::create(const cpp::marshal::View<char16_t>& buffer)
+{
+ auto start = reinterpret_cast<const char16_t*>(buffer.ptr.ptr);
+ auto end = start + buffer.length;
+ auto extra = 0;
+
+ while (start < end) {
+ if (Char16Advance(start) == false)
+ {
+ // set extra to 1 so we don't include the null terminating character in the calculated length.
+ extra = 1;
+
+ break;
+ }
+ }
+ return String::create(buffer.ptr.ptr, buffer.length - (end - start) - extra);
+}
String::String(const Dynamic &inRHS)
{
@@ -862,6 +893,7 @@ String::String(const cpp::UInt64 &inRHS)
__s = GCStringDup(buf,-1,&length);
}
+#if defined(NEKO_MAC) || defined(NEKO_BSD)
String::String(const unsigned long &inRHS)
{
char buf[100];
@@ -869,6 +901,7 @@ String::String(const unsigned long &inRHS)
buf[99]='\0';
__s = GCStringDup(buf,-1,&length);
}
+#endif
String::String(const float &inRHS)
{
@@ -1388,15 +1421,18 @@ Dynamic String::charCodeAt(int inPos) const
String String::fromCharCode( int c )
{
- if (c<=255)
+ if (0<=c && c<=255)
{
return sConstStrings[c];
}
else
{
#ifdef HX_SMART_STRINGS
- if (IsUtf16Surrogate(c)||c>=0x110000)
- c = 0xFFFD;
+ // Leave Utf16 surrogate handling up to the application - as far as hxcpp is concerned
+ // they are single characters. ie, mirror charAt.
+ // If the application does not group them as a pair, then it may not be possible to convert to utf8.
+ //if (IsUtf16Surrogate(c))
+ // hx::Throw(HX_CSTRING("Invalid unpaired surrogate code"));
#endif
int group = c>>10;
@@ -1554,7 +1590,7 @@ void __hxcpp_string_of_bytes(Array<unsigned char> &inBytes,String &outString,int
else
{
const unsigned char *p0 = (const unsigned char *)inBytes->GetBase();
- #ifdef HX_SMART_STRINGS
+#ifdef HX_SMART_STRINGS
bool hasWChar = false;
const unsigned char *p = p0 + pos;
for(int i=0;i<len;i++)
@@ -1568,7 +1604,7 @@ void __hxcpp_string_of_bytes(Array<unsigned char> &inBytes,String &outString,int
outString = _hx_utf8_to_utf16(p0+pos,len,true);
}
else
- #endif
+#endif
outString = String( GCStringDup((const char *)p0+pos, len, 0), len);
}
}
@@ -1769,6 +1805,127 @@ const char16_t * String::wc_str(hx::IStringAlloc *inBuffer, int *outCharLength)
return str;
}
+bool String::wc_str(::cpp::marshal::View<char16_t> buffer, int* outCharLength) const
+{
+#ifdef HX_SMART_STRINGS
+ if (isUTF16Encoded())
+ {
+ if (buffer.length < length + 1)
+ {
+ return false;
+ }
+
+ if (nullptr != outCharLength)
+ {
+ *outCharLength = length + 1;
+ }
+
+ std::memcpy(buffer.ptr, __w, sizeof(char16_t) * length);
+
+ buffer[int64_t{ length }] = 0;
+
+ return true;
+ }
+#endif
+
+ auto charCount = 0;
+ auto source = reinterpret_cast<const unsigned char*>(__s);
+ auto cursor = source;
+ auto end = source + length;
+
+ while (cursor < end)
+ {
+ auto code = DecodeAdvanceUTF8(cursor, end);
+
+ charCount += UTF16BytesCheck(code);
+ }
+
+ if (buffer.length < charCount + 1)
+ {
+ return false;
+ }
+
+ cursor = source;
+ auto output = buffer.ptr.ptr;
+
+ while (cursor < end)
+ {
+ auto code = DecodeAdvanceUTF8(cursor, end);
+
+ Char16AdvanceSet(output, code);
+ }
+
+ *output = 0;
+
+ if (nullptr != outCharLength)
+ {
+ *outCharLength = length + 1;
+ }
+
+ return true;
+}
+
+bool String::utf8_str(::cpp::marshal::View<char> buffer, int* outByteLength) const
+{
+#ifdef HX_SMART_STRINGS
+ if (isUTF16Encoded())
+ {
+ auto cursor = __w;
+
+ while (Char16Advance(cursor)) {}
+
+ auto calculated = cursor - __w - 1;
+
+ cursor = __w;
+
+ auto end = cursor + calculated;
+ auto chars = 0;
+
+ while (cursor < end)
+ {
+ chars += UTF8Bytes(Char16Advance(cursor));
+ }
+
+ if (buffer.length < chars + 1)
+ {
+ return false;
+ }
+
+ auto output = buffer.ptr.ptr;
+ cursor = __w;
+
+ while (cursor < end)
+ {
+ UTF8EncodeAdvance(output, Char16Advance(cursor));
+ }
+
+ *output = 0;
+
+ if (nullptr != outByteLength)
+ {
+ *outByteLength = chars + 1;
+ }
+
+ return true;
+ }
+#endif
+
+ if (buffer.length < length)
+ {
+ return false;
+ }
+
+ if (nullptr != outByteLength)
+ {
+ *outByteLength = length + 1;
+ }
+
+ std::memcpy(buffer.ptr, __s, sizeof(char) * length);
+
+ buffer[int64_t{ length }] = 0;
+
+ return true;
+}
const wchar_t * String::wchar_str(hx::IStringAlloc *inBuffer) const
{
@@ -1970,10 +2127,7 @@ String String::substr(int inFirst, Dynamic inLen) const
if (inFirst<0) inFirst = 0;
if (len<0)
{
- len += length;
- // This logic matches flash ....
- if (inFirst + len >=length)
- len = 0;
+ len = length + len - inFirst;
}
if (len<=0 || inFirst>=length)
@@ -2115,57 +2269,136 @@ String &String::operator+=(const String &inRHS)
return *this;
}
-#ifdef HXCPP_VISIT_ALLOCS
-#define STRING_VISIT_FUNC \
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_STRING(mThis.raw_ref()); }
+#if (HXCPP_API_LEVEL>=500)
+ #ifdef HXCPP_VISIT_ALLOCS
+ #define STRING_VISIT_FUNC \
+ void __Visit(hx::VisitContext *__inCtx) override { HX_VISIT_MEMBER(mThis); }
+ #else
+ #define STRING_VISIT_FUNC
+ #endif
+
+ #define HX_STRING_ARG_LIST0
+ #define HX_STRING_ARG_LIST1(arg0) arg0
+ #define HX_STRING_ARG_LIST2(arg0, arg1) arg0, arg1
+
+ #define HX_STRING_FUNC_LIST0
+ #define HX_STRING_FUNC_LIST1(arg0) arg0 inArg0
+ #define HX_STRING_FUNC_LIST2(arg0, arg1) arg0 inArg0, arg1 inArg1
+
+ #define HX_STRING_FUNC(value, name, args_list, func_list, args_call) \
+ ::hx::Callable<value(args_list)> String::name##_dyn() \
+ { \
+ struct _hx_string_##name final : public ::hx::AutoCallable_obj<value(args_list)> \
+ { \
+ ::String mThis; \
+ _hx_string_##name(const ::String& inThis) : mThis(inThis) \
+ { \
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
+ } \
+ value HX_LOCAL_RUN(func_list) override \
+ { \
+ return mThis.name(args_call); \
+ } \
+ void __SetThis(Dynamic inThis) override \
+ { \
+ mThis = inThis; \
+ } \
+ void* __GetHandle() const override { return const_cast<char *>(mThis.raw_ptr()); } \
+ void __Mark(hx::MarkContext *__inCtx) override { HX_MARK_MEMBER(mThis); } \
+ STRING_VISIT_FUNC \
+ int __Compare(const ::hx::Object* inRhs) const override \
+ { \
+ auto casted = dynamic_cast<const _hx_string_##name *>(inRhs); \
+ if (!casted) return 1; \
+ if (!hx::IsPointerEq(mThis, casted->mThis)) return -1; \
+ return 0; \
+ } \
+ }; \
+ return new _hx_string_##name(*this); \
+ }
+
+ HX_STRING_FUNC(::String, charAt, HX_STRING_ARG_LIST1(int), HX_STRING_FUNC_LIST1(int), HX_ARG_LIST1);
+ HX_STRING_FUNC(::Dynamic, charCodeAt, HX_STRING_ARG_LIST1(int), HX_STRING_FUNC_LIST1(int), HX_ARG_LIST1);
+ HX_STRING_FUNC(int, indexOf, HX_STRING_ARG_LIST2(::String, ::Dynamic), HX_STRING_FUNC_LIST2(::String, ::Dynamic), HX_ARG_LIST2);
+ HX_STRING_FUNC(int, lastIndexOf, HX_STRING_ARG_LIST2(::String, ::Dynamic), HX_STRING_FUNC_LIST2(::String, ::Dynamic), HX_ARG_LIST2);
+ HX_STRING_FUNC(::Array<::String>, split, HX_STRING_ARG_LIST1(::String), HX_STRING_FUNC_LIST1(::String), HX_ARG_LIST1);
+ HX_STRING_FUNC(::String, substr, HX_STRING_ARG_LIST2(int, ::Dynamic), HX_STRING_FUNC_LIST2(int, ::Dynamic), HX_ARG_LIST2);
+ HX_STRING_FUNC(::String, substring, HX_STRING_ARG_LIST2(int, ::Dynamic), HX_STRING_FUNC_LIST2(int, ::Dynamic), HX_ARG_LIST2);
+ HX_STRING_FUNC(::String, toLowerCase, HX_STRING_ARG_LIST0, HX_STRING_FUNC_LIST0, HX_ARG_LIST0);
+ HX_STRING_FUNC(::String, toString, HX_STRING_ARG_LIST0, HX_STRING_FUNC_LIST0, HX_ARG_LIST0);
+ HX_STRING_FUNC(::String, toUpperCase, HX_STRING_ARG_LIST0, HX_STRING_FUNC_LIST0, HX_ARG_LIST0);
+
+ ::hx::Callable<::String(int)> String::fromCharCode_dyn()
+ {
+ struct _hx_string_fromCharCode : public ::hx::AutoCallable_obj<::String(HX_STRING_ARG_LIST1(int))>
+ {
+ ::String HX_LOCAL_RUN(HX_STRING_FUNC_LIST1(int)) override
+ {
+ return ::String::fromCharCode(HX_ARG_LIST1);
+ }
+ int __Compare(const ::hx::Object* inRhs) const override
+ {
+ return dynamic_cast<const _hx_string_fromCharCode*>(inRhs) ? 0 : -1;
+ }
+ };
+
+ return new _hx_string_fromCharCode();
+ }
#else
-#define STRING_VISIT_FUNC
+ #ifdef HXCPP_VISIT_ALLOCS
+ #define STRING_VISIT_FUNC \
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_STRING(mThis.raw_ref()); }
+ #else
+ #define STRING_VISIT_FUNC
+ #endif
+
+ #define DEFINE_STRING_FUNC(func,array_list,dynamic_arg_list,arg_list,ARG_C) \
+ struct __String_##func : public hx::Object \
+ { \
+ bool __IsFunction() const { return true; } \
+ HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdClosure }; \
+ String mThis; \
+ __String_##func(const String &inThis) : mThis(inThis) { \
+ HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
+ } \
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING(#func); } \
+ String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING(#func); } \
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; } \
+ void *__GetHandle() const HXCPP_OVERRIDE { return const_cast<char *>(mThis.raw_ptr()); } \
+ int __ArgCount() const HXCPP_OVERRIDE { return ARG_C; } \
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_STRING(mThis.raw_ptr()); } \
+ Dynamic __Run(const Array<Dynamic> &inArgs) HXCPP_OVERRIDE \
+ { \
+ return mThis.func(array_list); return Dynamic(); \
+ } \
+ Dynamic __run(dynamic_arg_list) HXCPP_OVERRIDE \
+ { \
+ return mThis.func(arg_list); return Dynamic(); \
+ } \
+ STRING_VISIT_FUNC \
+ void __SetThis(Dynamic inThis) HXCPP_OVERRIDE { mThis = inThis; } \
+ }; \
+ Dynamic String::func##_dyn() { return new __String_##func(*this); }
+
+
+ #define DEFINE_STRING_FUNC0(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST0,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0,0)
+ #define DEFINE_STRING_FUNC1(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST1,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1,1)
+ #define DEFINE_STRING_FUNC2(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST2,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2,2)
+
+ DEFINE_STRING_FUNC1(charAt);
+ DEFINE_STRING_FUNC1(charCodeAt);
+ DEFINE_STRING_FUNC2(indexOf);
+ DEFINE_STRING_FUNC2(lastIndexOf);
+ DEFINE_STRING_FUNC1(split);
+ DEFINE_STRING_FUNC2(substr);
+ DEFINE_STRING_FUNC2(substring);
+ DEFINE_STRING_FUNC0(toLowerCase);
+ DEFINE_STRING_FUNC0(toUpperCase);
+ DEFINE_STRING_FUNC0(toString);
+
+ STATIC_HX_DEFINE_DYNAMIC_FUNC1(String, fromCharCode, return)
#endif
-#define DEFINE_STRING_FUNC(func,array_list,dynamic_arg_list,arg_list,ARG_C) \
-struct __String_##func : public hx::Object \
-{ \
- bool __IsFunction() const { return true; } \
- HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdClosure }; \
- String mThis; \
- __String_##func(const String &inThis) : mThis(inThis) { \
- HX_OBJ_WB_NEW_MARKED_OBJECT(this); \
- } \
- String toString() const{ return HX_CSTRING(#func); } \
- String __ToString() const{ return HX_CSTRING(#func); } \
- int __GetType() const { return vtFunction; } \
- void *__GetHandle() const { return const_cast<char *>(mThis.raw_ptr()); } \
- int __ArgCount() const { return ARG_C; } \
- Dynamic __Run(const Array<Dynamic> &inArgs) \
- { \
- return mThis.func(array_list); return Dynamic(); \
- } \
- Dynamic __run(dynamic_arg_list) \
- { \
- return mThis.func(arg_list); return Dynamic(); \
- } \
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_STRING(mThis.raw_ptr()); } \
- STRING_VISIT_FUNC \
- void __SetThis(Dynamic inThis) { mThis = inThis; } \
-}; \
-Dynamic String::func##_dyn() { return new __String_##func(*this); }
-
-
-#define DEFINE_STRING_FUNC0(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST0,HX_DYNAMIC_ARG_LIST0,HX_ARG_LIST0,0)
-#define DEFINE_STRING_FUNC1(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST1,HX_DYNAMIC_ARG_LIST1,HX_ARG_LIST1,1)
-#define DEFINE_STRING_FUNC2(func) DEFINE_STRING_FUNC(func,HX_ARR_LIST2,HX_DYNAMIC_ARG_LIST2,HX_ARG_LIST2,2)
-
-DEFINE_STRING_FUNC1(charAt);
-DEFINE_STRING_FUNC1(charCodeAt);
-DEFINE_STRING_FUNC2(indexOf);
-DEFINE_STRING_FUNC2(lastIndexOf);
-DEFINE_STRING_FUNC1(split);
-DEFINE_STRING_FUNC2(substr);
-DEFINE_STRING_FUNC2(substring);
-DEFINE_STRING_FUNC0(toLowerCase);
-DEFINE_STRING_FUNC0(toUpperCase);
-DEFINE_STRING_FUNC0(toString);
-
hx::Val String::__Field(const String &inString, hx::PropertyAccess inCallProp)
{
if (HX_FIELD_EQ(inString,"length")) return length;
@@ -2202,8 +2435,6 @@ static String sStringFields[] = {
String(null())
};
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(String,fromCharCode,return )
-
namespace hx
{
@@ -2268,13 +2499,13 @@ public:
HX_OBJ_WB_GET(this,mValue.raw_ref());
};
- hx::Class __GetClass() const { return __StringClass; }
+ hx::Class __GetClass() const HXCPP_OVERRIDE { return __StringClass; }
bool __Is(hx::Object *inClass) const { return dynamic_cast< StringData *>(inClass); }
- virtual int __GetType() const { return vtString; }
- String __ToString() const { return mValue; }
- String toString() { return mValue; }
- double __ToDouble() const
+ int __GetType() const HXCPP_OVERRIDE { return vtString; }
+ String __ToString() const HXCPP_OVERRIDE { return mValue; }
+ String toString() HXCPP_OVERRIDE { return mValue; }
+ double __ToDouble() const HXCPP_OVERRIDE
{
if (!mValue.raw_ptr()) return 0;
@@ -2284,33 +2515,33 @@ public:
return atof(mValue.utf8_str());
#endif
}
- int __length() const { return mValue.length; }
+ int __length() const HXCPP_OVERRIDE { return mValue.length; }
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_MEMBER(mValue);
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
HX_VISIT_MEMBER(mValue);
}
#endif
- int __ToInt() const
+ int __ToInt() const HXCPP_OVERRIDE
{
if (!mValue.raw_ptr()) return 0;
return atoi(mValue.utf8_str());
}
- int __Compare(const hx::Object *inRHS) const
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
return mValue.compare( const_cast<hx::Object*>(inRHS)->toString() );
}
- hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp)
+ hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
return mValue.__Field(inString, inCallProp);
}
diff --git a/Sources/c_borogove/src/StringTools.cpp b/Sources/c_borogove/src/StringTools.cpp
index 2debb5f..022f37b 100644
--- a/Sources/c_borogove/src/StringTools.cpp
+++ b/Sources/c_borogove/src/StringTools.cpp
@@ -12,20 +12,21 @@
#endif
HX_LOCAL_STACK_FRAME(_hx_pos_0e615b5827179e15_50_urlEncode,"StringTools","urlEncode",0x06afdce1,"StringTools.urlEncode","/usr/local/lib/haxe/std/StringTools.hx",50,0x3f930611)
+HX_LOCAL_STACK_FRAME(_hx_pos_0e615b5827179e15_118_urlDecode,"StringTools","urlDecode",0x71b947f9,"StringTools.urlDecode","/usr/local/lib/haxe/std/StringTools.hx",118,0x3f930611)
HX_LOCAL_STACK_FRAME(_hx_pos_0e615b5827179e15_158_htmlEscape,"StringTools","htmlEscape",0x0e1a5dd0,"StringTools.htmlEscape","/usr/local/lib/haxe/std/StringTools.hx",158,0x3f930611)
-static const ::String _hx_array_data_0363db6a_3[] = {
+static const ::String _hx_array_data_0363db6a_4[] = {
HX_(""",2c,d9,81,8f),
};
-static const ::String _hx_array_data_0363db6a_4[] = {
+static const ::String _hx_array_data_0363db6a_5[] = {
HX_("&",dd,d4,aa,21),
};
-static const ::String _hx_array_data_0363db6a_5[] = {
+static const ::String _hx_array_data_0363db6a_6[] = {
HX_("'",62,26,77,78),
};
-static const ::String _hx_array_data_0363db6a_6[] = {
+static const ::String _hx_array_data_0363db6a_7[] = {
HX_("<",4d,74,70,19),
};
-static const ::String _hx_array_data_0363db6a_7[] = {
+static const ::String _hx_array_data_0363db6a_8[] = {
HX_(">",08,a9,6c,19),
};
HX_LOCAL_STACK_FRAME(_hx_pos_0e615b5827179e15_240_startsWith,"StringTools","startsWith",0x5f4e6efb,"StringTools.startsWith","/usr/local/lib/haxe/std/StringTools.hx",240,0x3f930611)
@@ -63,6 +64,14 @@ HXDLIN( 50) return ( (::String)(s.__URLEncode()) );
STATIC_HX_DEFINE_DYNAMIC_FUNC1(StringTools_obj,urlEncode,return )
+::String StringTools_obj::urlDecode(::String s){
+ HX_STACKFRAME(&_hx_pos_0e615b5827179e15_118_urlDecode)
+HXDLIN( 118) return ( (::String)(s.__URLDecode()) );
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(StringTools_obj,urlDecode,return )
+
::String StringTools_obj::htmlEscape(::String s, ::Dynamic quotes){
HX_GC_STACKFRAME(&_hx_pos_0e615b5827179e15_158_htmlEscape)
HXLINE( 159) ::StringBuf buf = ::StringBuf_obj::__alloc( HX_CTX );
@@ -93,7 +102,7 @@ HXLINE( 169) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 169) buf->flush();
}
HXDLIN( 169) if (::hx::IsNull( buf->b )) {
-HXLINE( 169) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_3,1);
+HXLINE( 169) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_4,1);
}
else {
HXLINE( 169) buf->b->push(HX_(""",2c,d9,81,8f));
@@ -127,7 +136,7 @@ HXLINE( 163) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 163) buf->flush();
}
HXDLIN( 163) if (::hx::IsNull( buf->b )) {
-HXLINE( 163) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_4,1);
+HXLINE( 163) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_5,1);
}
else {
HXLINE( 163) buf->b->push(HX_("&",dd,d4,aa,21));
@@ -140,7 +149,7 @@ HXLINE( 171) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 171) buf->flush();
}
HXDLIN( 171) if (::hx::IsNull( buf->b )) {
-HXLINE( 171) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_5,1);
+HXLINE( 171) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_6,1);
}
else {
HXLINE( 171) buf->b->push(HX_("'",62,26,77,78));
@@ -174,7 +183,7 @@ HXLINE( 165) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 165) buf->flush();
}
HXDLIN( 165) if (::hx::IsNull( buf->b )) {
-HXLINE( 165) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_6,1);
+HXLINE( 165) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_7,1);
}
else {
HXLINE( 165) buf->b->push(HX_("<",4d,74,70,19));
@@ -186,7 +195,7 @@ HXLINE( 167) if (::hx::IsNotNull( buf->charBuf )) {
HXLINE( 167) buf->flush();
}
HXDLIN( 167) if (::hx::IsNull( buf->b )) {
-HXLINE( 167) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_7,1);
+HXLINE( 167) buf->b = ::Array_obj< ::String >::fromData( _hx_array_data_0363db6a_8,1);
}
else {
HXLINE( 167) buf->b->push(HX_(">",08,a9,6c,19));
@@ -288,11 +297,11 @@ HXLINE( 306) _hx_tmp = ::StringTools_obj::isSpace(s,r);
HXLINE( 306) _hx_tmp = false;
}
HXDLIN( 306) if (!(_hx_tmp)) {
-HXLINE( 306) goto _hx_goto_11;
+HXLINE( 306) goto _hx_goto_12;
}
HXLINE( 307) r = (r + 1);
}
- _hx_goto_11:;
+ _hx_goto_12:;
HXLINE( 309) if ((r > 0)) {
HXLINE( 310) return s.substr(r,(l - r));
}
@@ -318,11 +327,11 @@ HXLINE( 331) _hx_tmp = ::StringTools_obj::isSpace(s,((l - r) - 1));
HXLINE( 331) _hx_tmp = false;
}
HXDLIN( 331) if (!(_hx_tmp)) {
-HXLINE( 331) goto _hx_goto_13;
+HXLINE( 331) goto _hx_goto_14;
}
HXLINE( 332) r = (r + 1);
}
- _hx_goto_13:;
+ _hx_goto_14:;
HXLINE( 334) if ((r > 0)) {
HXLINE( 335) return s.substr(0,(l - r));
}
@@ -435,6 +444,7 @@ bool StringTools_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
break;
case 9:
if (HX_FIELD_EQ(inName,"urlEncode") ) { outValue = urlEncode_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"urlDecode") ) { outValue = urlDecode_dyn(); return true; }
break;
case 10:
if (HX_FIELD_EQ(inName,"htmlEscape") ) { outValue = htmlEscape_dyn(); return true; }
@@ -452,6 +462,7 @@ static ::hx::StaticInfo *StringTools_obj_sStaticStorageInfo = 0;
static ::String StringTools_obj_sStaticFields[] = {
HX_("urlEncode",e5,4e,52,9a),
+ HX_("urlDecode",fd,b9,5b,05),
HX_("htmlEscape",4c,af,9b,a8),
HX_("startsWith",77,c0,cf,f9),
HX_("endsWith",5e,7a,b6,db),
diff --git a/Sources/c_borogove/src/Xml.cpp b/Sources/c_borogove/src/Xml.cpp
index c31d092..e9a0b7e 100644
--- a/Sources/c_borogove/src/Xml.cpp
+++ b/Sources/c_borogove/src/Xml.cpp
@@ -21,6 +21,7 @@ HX_DEFINE_STACK_FRAME(_hx_pos_7e4d842269e66db1_397_new,"Xml","new",0x2e496e29,"X
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_244_get,"Xml","get",0x2e441e5f,"Xml.get","/usr/local/lib/haxe/std/Xml.hx",244,0x5c1024e4)
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_255_set,"Xml","set",0x2e4d396b,"Xml.set","/usr/local/lib/haxe/std/Xml.hx",255,0x5c1024e4)
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_287_attributes,"Xml","attributes",0x1ab5462e,"Xml.attributes","/usr/local/lib/haxe/std/Xml.hx",287,0x5c1024e4)
+HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_337_firstElement,"Xml","firstElement",0xc103a583,"Xml.firstElement","/usr/local/lib/haxe/std/Xml.hx",337,0x5c1024e4)
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_394_toString,"Xml","toString",0xb7bb9a43,"Xml.toString","/usr/local/lib/haxe/std/Xml.hx",394,0x5c1024e4)
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_182_createElement,"Xml","createElement",0x97359a29,"Xml.createElement","/usr/local/lib/haxe/std/Xml.hx",182,0x5c1024e4)
HX_LOCAL_STACK_FRAME(_hx_pos_7e4d842269e66db1_86_boot,"Xml","boot",0x4a0ff649,"Xml.boot","/usr/local/lib/haxe/std/Xml.hx",86,0x5c1024e4)
@@ -81,6 +82,35 @@ HXLINE( 291) return this->attributeMap->keys();
HX_DEFINE_DYNAMIC_FUNC0(Xml_obj,attributes,return )
+ ::Xml Xml_obj::firstElement(){
+ HX_STACKFRAME(&_hx_pos_7e4d842269e66db1_337_firstElement)
+HXLINE( 338) bool _hx_tmp;
+HXDLIN( 338) if ((this->nodeType != ::Xml_obj::Document)) {
+HXLINE( 338) _hx_tmp = (this->nodeType != ::Xml_obj::Element);
+ }
+ else {
+HXLINE( 338) _hx_tmp = false;
+ }
+HXDLIN( 338) if (_hx_tmp) {
+HXLINE( 338) HX_STACK_DO_THROW((HX_("Bad node type, expected Element or Document but found ",a0,d6,ba,79) + ::_Xml::XmlType_Impl__obj::toString(this->nodeType)));
+ }
+HXLINE( 339) {
+HXLINE( 339) int _g = 0;
+HXDLIN( 339) ::Array< ::Dynamic> _g1 = this->children;
+HXDLIN( 339) while((_g < _g1->length)){
+HXLINE( 339) ::Xml child = _g1->__get(_g).StaticCast< ::Xml >();
+HXDLIN( 339) _g = (_g + 1);
+HXLINE( 340) if ((child->nodeType == ::Xml_obj::Element)) {
+HXLINE( 341) return child;
+ }
+ }
+ }
+HXLINE( 344) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Xml_obj,firstElement,return )
+
::String Xml_obj::toString(){
HX_STACKFRAME(&_hx_pos_7e4d842269e66db1_394_toString)
HXDLIN( 394) return ::haxe::xml::Printer_obj::print(::hx::ObjectPtr<OBJ_>(this),null());
@@ -167,6 +197,7 @@ void Xml_obj::__Visit(HX_VISIT_PARAMS)
break;
case 12:
if (HX_FIELD_EQ(inName,"attributeMap") ) { return ::hx::Val( attributeMap ); }
+ if (HX_FIELD_EQ(inName,"firstElement") ) { return ::hx::Val( firstElement_dyn() ); }
}
return super::__Field(inName,inCallProp);
}
@@ -250,6 +281,7 @@ static ::String Xml_obj_sMemberFields[] = {
HX_("get",96,80,4e,00),
HX_("set",a2,9b,57,00),
HX_("attributes",d7,a8,71,97),
+ HX_("firstElement",6c,c4,9c,2f),
HX_("toString",ac,d0,6e,38),
::String(null()) };
diff --git a/Sources/c_borogove/src/_HaxeCBridge/HaxeArray_Impl_.cpp b/Sources/c_borogove/src/_HaxeCBridge/HaxeArray_Impl_.cpp
index cc8f674..480640f 100644
--- a/Sources/c_borogove/src/_HaxeCBridge/HaxeArray_Impl_.cpp
+++ b/Sources/c_borogove/src/_HaxeCBridge/HaxeArray_Impl_.cpp
@@ -14,7 +14,7 @@
#include <haxe/IMap.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_c8a4db259b59e383_2228_fromNullableArrayT,"_HaxeCBridge.HaxeArray_Impl_","fromNullableArrayT",0x40827fc8,"_HaxeCBridge.HaxeArray_Impl_.fromNullableArrayT","HaxeCBridge.hx",2228,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_c8a4db259b59e383_2229_fromNullableArrayT,"_HaxeCBridge.HaxeArray_Impl_","fromNullableArrayT",0x40827fc8,"_HaxeCBridge.HaxeArray_Impl_.fromNullableArrayT","HaxeCBridge.hx",2229,0xa18550d8)
namespace _HaxeCBridge{
void HaxeArray_Impl__obj::__construct() { }
@@ -35,50 +35,50 @@ bool HaxeArray_Impl__obj::_hx_isInstanceOf(int inClassId) {
}
void** HaxeArray_Impl__obj::fromNullableArrayT(::cpp::VirtualArray x){
- HX_STACKFRAME(&_hx_pos_c8a4db259b59e383_2228_fromNullableArrayT)
-HXLINE(2229) if (::hx::IsNull( x )) {
-HXLINE(2229) return null();
+ HX_STACKFRAME(&_hx_pos_c8a4db259b59e383_2229_fromNullableArrayT)
+HXLINE(2230) if (::hx::IsNull( x )) {
+HXLINE(2230) return null();
}
-HXLINE(2231) ::cpp::VirtualArray x1 = x;
-HXDLIN(2231) {
-HXLINE(2231) int _g = 0;
-HXDLIN(2231) while((_g < x1->get_length())){
-HXLINE(2231) ::Dynamic el = x1->__get(_g);
-HXDLIN(2231) _g = (_g + 1);
-HXDLIN(2231) {
-HXLINE(2231) ::Dynamic haxeObject = el;
-HXDLIN(2231) void* ptr = haxeObject.mPtr;
-HXDLIN(2231) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN(2231) {
-HXLINE(2231) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2231) if (::hx::IsNull( store )) {
-HXLINE(2231) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2232) ::cpp::VirtualArray x1 = x;
+HXDLIN(2232) {
+HXLINE(2232) int _g = 0;
+HXDLIN(2232) while((_g < x1->get_length())){
+HXLINE(2232) ::Dynamic el = x1->__get(_g);
+HXDLIN(2232) _g = (_g + 1);
+HXDLIN(2232) {
+HXLINE(2232) ::Dynamic haxeObject = el;
+HXDLIN(2232) void* ptr = haxeObject.mPtr;
+HXDLIN(2232) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN(2232) {
+HXLINE(2232) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2232) if (::hx::IsNull( store )) {
+HXLINE(2232) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN(2231) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXDLIN(2232) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2231) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2232) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
}
}
}
-HXDLIN(2231) void** ptr1 = (void**)x1->getBase();
-HXDLIN(2231) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN(2231) {
-HXLINE(2231) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN(2231) if (::hx::IsNull( store1 )) {
-HXLINE(2231) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2232) void** ptr1 = (void**)x1->getBase();
+HXDLIN(2232) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN(2232) {
+HXLINE(2232) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN(2232) if (::hx::IsNull( store1 )) {
+HXLINE(2232) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),x1));
-HXDLIN(2231) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXDLIN(2232) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXLINE(2231) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2232) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN(2231) return ptr1;
+HXDLIN(2232) return ptr1;
}
diff --git a/Sources/c_borogove/src/_HaxeCBridge/HaxeOpaqueArray_Impl_.cpp b/Sources/c_borogove/src/_HaxeCBridge/HaxeOpaqueArray_Impl_.cpp
index f1db3ce..1a7c7dd 100644
--- a/Sources/c_borogove/src/_HaxeCBridge/HaxeOpaqueArray_Impl_.cpp
+++ b/Sources/c_borogove/src/_HaxeCBridge/HaxeOpaqueArray_Impl_.cpp
@@ -14,7 +14,7 @@
#include <haxe/IMap.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_d33de724b9fc3cd4_2205_fromNullableArrayT,"_HaxeCBridge.HaxeOpaqueArray_Impl_","fromNullableArrayT",0xd5bd2249,"_HaxeCBridge.HaxeOpaqueArray_Impl_.fromNullableArrayT","HaxeCBridge.hx",2205,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_d33de724b9fc3cd4_2206_fromNullableArrayT,"_HaxeCBridge.HaxeOpaqueArray_Impl_","fromNullableArrayT",0xd5bd2249,"_HaxeCBridge.HaxeOpaqueArray_Impl_.fromNullableArrayT","HaxeCBridge.hx",2206,0xa18550d8)
namespace _HaxeCBridge{
void HaxeOpaqueArray_Impl__obj::__construct() { }
@@ -35,37 +35,37 @@ bool HaxeOpaqueArray_Impl__obj::_hx_isInstanceOf(int inClassId) {
}
void** HaxeOpaqueArray_Impl__obj::fromNullableArrayT(::cpp::VirtualArray x){
- HX_STACKFRAME(&_hx_pos_d33de724b9fc3cd4_2205_fromNullableArrayT)
-HXLINE(2206) if (::hx::IsNull( x )) {
-HXLINE(2206) return null();
+ HX_STACKFRAME(&_hx_pos_d33de724b9fc3cd4_2206_fromNullableArrayT)
+HXLINE(2207) if (::hx::IsNull( x )) {
+HXLINE(2207) return null();
}
-HXLINE(2208) ::cpp::VirtualArray x1 = x;
-HXDLIN(2208) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->get_length());
-HXDLIN(2208) {
-HXLINE(2208) int _g_current = 0;
-HXDLIN(2208) ::cpp::VirtualArray _g_array = x1;
-HXDLIN(2208) while((_g_current < _g_array->get_length())){
-HXLINE(2208) ::Dynamic _g_value = _g_array->__get(_g_current);
-HXDLIN(2208) _g_current = (_g_current + 1);
-HXDLIN(2208) ::Dynamic el = _g_value;
-HXDLIN(2208) arr[(_g_current - 1)] = reinterpret_cast<size_t>(( (void*)(( (::cpp::Pointer< void >)(el) )->get_raw()) ));
+HXLINE(2209) ::cpp::VirtualArray x1 = x;
+HXDLIN(2209) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->get_length());
+HXDLIN(2209) {
+HXLINE(2209) int _g_current = 0;
+HXDLIN(2209) ::cpp::VirtualArray _g_array = x1;
+HXDLIN(2209) while((_g_current < _g_array->get_length())){
+HXLINE(2209) ::Dynamic _g_value = _g_array->__get(_g_current);
+HXDLIN(2209) _g_current = (_g_current + 1);
+HXDLIN(2209) ::Dynamic el = _g_value;
+HXDLIN(2209) arr[(_g_current - 1)] = reinterpret_cast<size_t>(( (void*)(( (::cpp::Pointer< void >)(el) )->get_raw()) ));
}
}
-HXDLIN(2208) void** ptr = (void**)arr->getBase();
-HXDLIN(2208) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN(2208) {
-HXLINE(2208) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2208) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2209) void** ptr = (void**)arr->getBase();
+HXDLIN(2209) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN(2209) {
+HXLINE(2209) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2209) if (::hx::IsNull( store )) {
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),arr));
-HXLINE(2208) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXLINE(2209) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2208) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2209) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN(2208) return ptr;
+HXDLIN(2209) return ptr;
}
diff --git a/Sources/c_borogove/src/_HaxeCBridge/HaxeStringArray_Impl_.cpp b/Sources/c_borogove/src/_HaxeCBridge/HaxeStringArray_Impl_.cpp
index 8576e65..da93d71 100644
--- a/Sources/c_borogove/src/_HaxeCBridge/HaxeStringArray_Impl_.cpp
+++ b/Sources/c_borogove/src/_HaxeCBridge/HaxeStringArray_Impl_.cpp
@@ -14,7 +14,7 @@
#include <haxe/IMap.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_6dd11d7cebaf62d3_2186_fromNullableArrayString,"_HaxeCBridge.HaxeStringArray_Impl_","fromNullableArrayString",0xff874cec,"_HaxeCBridge.HaxeStringArray_Impl_.fromNullableArrayString","HaxeCBridge.hx",2186,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_6dd11d7cebaf62d3_2187_fromNullableArrayString,"_HaxeCBridge.HaxeStringArray_Impl_","fromNullableArrayString",0xff874cec,"_HaxeCBridge.HaxeStringArray_Impl_.fromNullableArrayString","HaxeCBridge.hx",2187,0xa18550d8)
namespace _HaxeCBridge{
void HaxeStringArray_Impl__obj::__construct() { }
@@ -35,54 +35,54 @@ bool HaxeStringArray_Impl__obj::_hx_isInstanceOf(int inClassId) {
}
const char** HaxeStringArray_Impl__obj::fromNullableArrayString(::Array< ::String > x){
- HX_STACKFRAME(&_hx_pos_6dd11d7cebaf62d3_2186_fromNullableArrayString)
-HXLINE(2187) if (::hx::IsNull( x )) {
-HXLINE(2187) return null();
+ HX_STACKFRAME(&_hx_pos_6dd11d7cebaf62d3_2187_fromNullableArrayString)
+HXLINE(2188) if (::hx::IsNull( x )) {
+HXLINE(2188) return null();
}
-HXLINE(2189) ::Array< ::String > x1 = x;
-HXDLIN(2189) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->length);
-HXDLIN(2189) {
-HXLINE(2189) int _g_current = 0;
-HXDLIN(2189) ::Array< ::String > _g_array = x1;
-HXDLIN(2189) while((_g_current < _g_array->length)){
-HXLINE(2189) ::String _g_value = _g_array->__get(_g_current);
-HXDLIN(2189) _g_current = (_g_current + 1);
-HXDLIN(2189) ::String el = _g_value;
-HXDLIN(2189) {
-HXLINE(2189) const char* cStrPtr = el.utf8_str();
-HXDLIN(2189) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
-HXDLIN(2189) {
-HXLINE(2189) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN(2189) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2190) ::Array< ::String > x1 = x;
+HXDLIN(2190) ::Array< size_t > arr = ::Array_obj< size_t >::__new(x1->length);
+HXDLIN(2190) {
+HXLINE(2190) int _g_current = 0;
+HXDLIN(2190) ::Array< ::String > _g_array = x1;
+HXDLIN(2190) while((_g_current < _g_array->length)){
+HXLINE(2190) ::String _g_value = _g_array->__get(_g_current);
+HXDLIN(2190) _g_current = (_g_current + 1);
+HXDLIN(2190) ::String el = _g_value;
+HXDLIN(2190) {
+HXLINE(2190) const char* cStrPtr = el.utf8_str();
+HXDLIN(2190) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN(2190) {
+HXLINE(2190) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN(2190) if (::hx::IsNull( store )) {
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),el));
-HXLINE(2189) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+HXLINE(2190) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
}
else {
-HXLINE(2189) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2190) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN(2189) const char* ptr = cStrPtr;
-HXDLIN(2189) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
+HXDLIN(2190) const char* ptr = cStrPtr;
+HXDLIN(2190) arr[(_g_current - 1)] = reinterpret_cast<size_t>(ptr);
}
}
}
-HXDLIN(2189) void** ptr1 = (void**)arr->getBase();
-HXDLIN(2189) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN(2189) {
-HXLINE(2189) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN(2189) if (::hx::IsNull( store1 )) {
-HXLINE(2390) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2190) void** ptr1 = (void**)arr->getBase();
+HXDLIN(2190) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
+HXDLIN(2190) {
+HXLINE(2190) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
+HXDLIN(2190) if (::hx::IsNull( store1 )) {
+HXLINE(2391) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),arr));
-HXLINE(2189) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
+HXLINE(2190) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
}
else {
-HXLINE(2189) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
+HXLINE(2190) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
}
}
-HXDLIN(2189) return ( (const char**)(ptr1) );
+HXDLIN(2190) return ( (const char**)(ptr1) );
}
diff --git a/Sources/c_borogove/src/_HaxeCBridge/Internal.cpp b/Sources/c_borogove/src/_HaxeCBridge/Internal.cpp
index 1d180b1..ec4d593 100644
--- a/Sources/c_borogove/src/_HaxeCBridge/Internal.cpp
+++ b/Sources/c_borogove/src/_HaxeCBridge/Internal.cpp
@@ -14,9 +14,9 @@
#include <sys/thread/Lock.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2437_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2437,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2438_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2438,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2439_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2439,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afd834d22acce778_2440_boot,"_HaxeCBridge.Internal","boot",0xcd005bdc,"_HaxeCBridge.Internal.boot","HaxeCBridge.hx",2440,0xa18550d8)
namespace _HaxeCBridge{
void Internal_obj::__construct() { }
@@ -165,16 +165,16 @@ void Internal_obj::__register()
void Internal_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_afd834d22acce778_2437_boot)
-HXDLIN(2437) mainThreadLoopActive = true;
+ HX_STACKFRAME(&_hx_pos_afd834d22acce778_2438_boot)
+HXDLIN(2438) mainThreadLoopActive = true;
}
{
- HX_STACKFRAME(&_hx_pos_afd834d22acce778_2438_boot)
-HXDLIN(2438) mainThreadEndIfNoPending = false;
+ HX_STACKFRAME(&_hx_pos_afd834d22acce778_2439_boot)
+HXDLIN(2439) mainThreadEndIfNoPending = false;
}
{
- HX_GC_STACKFRAME(&_hx_pos_afd834d22acce778_2439_boot)
-HXDLIN(2439) gcRetainMap = ::cpp::Int64Map_obj::__alloc( HX_CTX );
+ HX_GC_STACKFRAME(&_hx_pos_afd834d22acce778_2440_boot)
+HXDLIN(2440) gcRetainMap = ::cpp::Int64Map_obj::__alloc( HX_CTX );
}
}
diff --git a/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp b/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
index 904e356..a8d1d8c 100644
--- a/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
+++ b/Sources/c_borogove/src/__HaxeCBridgeBindings__.cpp
@@ -24,6 +24,8 @@
#include <borogove/Html.h>
#include <borogove/persistence/MediaStore__Companion.h>
#include <borogove/persistence/MediaStore.h>
+#include <borogove/Hash.h>
+#include <tink/streams/StreamObject.h>
#include <borogove/persistence/MediaStoreFS.h>
#include <borogove/persistence/KeyValueStore__Companion.h>
#include <borogove/persistence/KeyValueStore.h>
@@ -32,7 +34,7 @@
#include <borogove/ChatMessageBuilder.h>
#include <borogove/Member.h>
#include <borogove/ChatAttachment.h>
-#include <borogove/Hash.h>
+#include <borogove/Client.h>
#include <borogove/Reaction.h>
#include <borogove/LinkMetadata.h>
#include <borogove/EventEmitter.h>
@@ -42,7 +44,6 @@
#include <borogove/calls/Session.h>
#include <borogove/calls/DTMFSender.h>
#include <borogove/AvailableChat.h>
-#include <borogove/Client.h>
#include <borogove/Profile.h>
#include <borogove/ProfileItem.h>
#include <borogove/calls/MediaStreamTrack.h>
@@ -62,8 +63,8 @@
#include <borogove/persistence/Dummy.h>
#include <borogove/Push.h>
#include <borogove/Notification.h>
-#include <borogove/ProfileBuilder.h>
#include <borogove/AttachmentSource.h>
+#include <borogove/ProfileBuilder.h>
#include <borogove/AvailableChatIterator.h>
#include <borogove/calls/MediaStream.h>
#include <borogove/calls/Session__Companion.h>
@@ -123,6 +124,7 @@ namespace HaxeCBridgeInternal {
void defaultExceptionHandler(const char* info) {
fprintf(stderr, "Unhandled Borogove exception: %s\n", info);
+ abort();
}
typedef void (* MainThreadCallback)(void* data);
@@ -532,12 +534,12 @@ const char *borogove_html_to_plain_text(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_persistence_media_store_has_media(void *a0, const char *a1, const unsigned char *a2, size_t a3, void (*a4) (bool, void *handler__context), void *a5) {
+void borogove_persistence_media_store_has_media(void *a0, void *a1, void (*a2) (const char*, void *handler__context), void *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return borogove::persistence::MediaStore__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, cpp::Function<void(bool, void * handler__context)>(a4), a5);
+ return borogove::persistence::MediaStore__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)a0), Dynamic((hx::Object *)a1), cpp::Function<void(const char*, void * handler__context)>(a2), a3);
}
struct Data {
- struct {void * a0; const char * a1; const unsigned char* a2; size_t a3; void (* a4) (bool, void * handler__context); void* a5;} args;
+ struct {void * a0; void * a1; void (* a2) (const char*, void * handler__context); void* a3;} args;
HxSemaphore lock;
};
struct Callback {
@@ -545,7 +547,7 @@ void borogove_persistence_media_store_has_media(void *a0, const char *a1, const
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- borogove::persistence::MediaStore__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, cpp::Function<void(bool, void * handler__context)>(data->args.a4), data->args.a5);
+ borogove::persistence::MediaStore__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)data->args.a0), Dynamic((hx::Object *)data->args.a1), cpp::Function<void(const char*, void * handler__context)>(data->args.a2), data->args.a3);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -558,7 +560,7 @@ void borogove_persistence_media_store_has_media(void *a0, const char *a1, const
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4, a5} };
+ Data data = { {a0, a1, a2, a3} };
// queue a callback to execute hasMedia__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -600,12 +602,12 @@ void borogove_persistence_media_store_remove_media(void *a0, const char *a1, con
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_persistence_media_store_store_media(void *a0, const char *a1, const unsigned char *a2, size_t a3, void (*a4) (bool, void *handler__context), void *a5) {
+void borogove_persistence_media_store_store_media(void *a0, const char *a1, void *a2, void (*a3) (const char*, void *handler__context), void *a4) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return borogove::persistence::MediaStore__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, cpp::Function<void(bool, void * handler__context)>(a4), a5);
+ return borogove::persistence::MediaStore__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)a0), a1, Dynamic((hx::Object *)a2), cpp::Function<void(const char*, void * handler__context)>(a3), a4);
}
struct Data {
- struct {void * a0; const char * a1; const unsigned char* a2; size_t a3; void (* a4) (bool, void * handler__context); void* a5;} args;
+ struct {void * a0; const char * a1; void * a2; void (* a3) (const char*, void * handler__context); void* a4;} args;
HxSemaphore lock;
};
struct Callback {
@@ -613,7 +615,7 @@ void borogove_persistence_media_store_store_media(void *a0, const char *a1, cons
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- borogove::persistence::MediaStore__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, cpp::Function<void(bool, void * handler__context)>(data->args.a4), data->args.a5);
+ borogove::persistence::MediaStore__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, Dynamic((hx::Object *)data->args.a2), cpp::Function<void(const char*, void * handler__context)>(data->args.a3), data->args.a4);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -626,7 +628,7 @@ void borogove_persistence_media_store_store_media(void *a0, const char *a1, cons
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4, a5} };
+ Data data = { {a0, a1, a2, a3, a4} };
// queue a callback to execute storeMedia__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -771,6 +773,42 @@ void borogove_persistence_key_value_store_set(void *a0, const char *a1, const ch
data.lock.Wait();
}
+HAXE_C_BRIDGE_LINKAGE
+size_t borogove_chat_message_combine_corrections(void *const *a0, size_t a1, void ***a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return borogove::ChatMessage_obj::combineCorrections__fromC(a0, a1, a2);
+ }
+ struct Data {
+ struct {void* const* a0; size_t a1; void*** a2;} args;
+ HxSemaphore lock;
+ size_t ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = borogove::ChatMessage_obj::combineCorrections__fromC(data->args.a0, data->args.a1, data->args.a2);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2} };
+
+ // queue a callback to execute combineCorrections__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
const char *borogove_chat_message_local_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -916,9 +954,9 @@ enum borogove_message_type borogove_chat_message_type(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *borogove_chat_message_timestamp(void *a0) {
+const char *borogove_chat_message_time_sent(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->timeSent__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -930,7 +968,7 @@ const char *borogove_chat_message_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->timeSent__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -945,7 +983,43 @@ const char *borogove_chat_message_timestamp(void *a0) {
Data data = { {a0} };
- // queue a callback to execute timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute timeSent__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+const char *borogove_chat_message_time_received(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)a0, true))->timeReceived__fromC());
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ const char * ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessage((hx::Object *)data->args.a0, true))->timeReceived__fromC());
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute timeReceived__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
@@ -1887,6 +1961,40 @@ const char *borogove_chat_message_call_duration(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_message_fetch_attachment(void *a0, void *a1, void *a2, bool a3, void (*a4) (void*, void *handler__context), void *a5) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::ChatMessage((hx::Object *)a0, true))->fetchAttachment__fromC(Dynamic((hx::Object *)a1), Dynamic((hx::Object *)a2), a3, cpp::Function<void(void*, void * handler__context)>(a4), a5);
+ }
+ struct Data {
+ struct {void * a0; void * a1; void * a2; bool a3; void (* a4) (void*, void * handler__context); void* a5;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::ChatMessage((hx::Object *)data->args.a0, true))->fetchAttachment__fromC(Dynamic((hx::Object *)data->args.a1), Dynamic((hx::Object *)data->args.a2), data->args.a3, cpp::Function<void(void*, void * handler__context)>(data->args.a4), data->args.a5);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2, a3, a4, a5} };
+
+ // queue a callback to execute fetchAttachment__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
void *borogove_chat_attachment_create(const char *a0, const char *a1, int a2, const char *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -1923,6 +2031,42 @@ void *borogove_chat_attachment_create(const char *a0, const char *a1, int a2, co
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+const char *borogove_chat_attachment_cached_at(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)a0, true))->cachedAt__fromC());
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ const char * ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatAttachment((hx::Object *)data->args.a0, true))->cachedAt__fromC());
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute cachedAt__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
const char *borogove_chat_attachment_name(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -2355,6 +2499,42 @@ const char *borogove_hash_to_base_64_url(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_hash_equals(void *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Hash((hx::Object *)a0, true))->equals(Dynamic((hx::Object *)a1));
+ }
+ struct Data {
+ struct {void * a0; void * a1;} args;
+ HxSemaphore lock;
+ bool ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = (borogove::Hash((hx::Object *)data->args.a0, true))->equals(Dynamic((hx::Object *)data->args.a1));
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute equals() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
void *borogove_reaction_unicode(const char *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -3248,12 +3428,12 @@ void borogove_chat_get_messages_around(void *a0, void *a1, void (*a2) (void**, s
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_chat_send_message(void *a0, void *a1) {
+void borogove_chat_send_message(void *a0, void *a1, enum borogove_outgoing_e_2_ee_preference a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Chat((hx::Object *)a0, true))->sendMessage__fromC(Dynamic((hx::Object *)a1));
+ return (borogove::Chat((hx::Object *)a0, true))->sendMessage(Dynamic((hx::Object *)a1), a2);
}
struct Data {
- struct {void * a0; void * a1;} args;
+ struct {void * a0; void * a1; enum borogove_outgoing_e_2_ee_preference a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -3261,7 +3441,7 @@ void borogove_chat_send_message(void *a0, void *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (borogove::Chat((hx::Object *)data->args.a0, true))->sendMessage__fromC(Dynamic((hx::Object *)data->args.a1));
+ (borogove::Chat((hx::Object *)data->args.a0, true))->sendMessage(Dynamic((hx::Object *)data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -3274,9 +3454,9 @@ void borogove_chat_send_message(void *a0, void *a1) {
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute sendMessage__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute sendMessage() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
@@ -4147,6 +4327,42 @@ const char *borogove_chat_get_placeholder(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_chat_has_ever_read(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->hasEverRead();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ bool ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->hasEverRead();
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute hasEverRead() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
void borogove_chat_read_up_to(void *a0, void (*a1) (void*, void *handler__context), void *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -4359,6 +4575,40 @@ size_t borogove_chat_get_tags(void *a0, const char ***a1) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_set_tags(void *a0, const char *const *a1, size_t a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Chat((hx::Object *)a0, true))->setTags__fromC(a1, a2);
+ }
+ struct Data {
+ struct {void * a0; const char* const* a1; size_t a2;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Chat((hx::Object *)data->args.a0, true))->setTags__fromC(data->args.a1, data->args.a2);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2} };
+
+ // queue a callback to execute setTags__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
void borogove_chat_set_trusted(void *a0, bool a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -4750,21 +5000,21 @@ size_t borogove_chat_video_tracks(void *a0, void ***a1) {
}
HAXE_C_BRIDGE_LINKAGE
-const char *borogove_chat_encryption_mode(void *a0) {
+bool borogove_chat_can_send(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)a0, true))->encryptionMode());
+ return (borogove::Chat((hx::Object *)a0, true))->canSend();
}
struct Data {
struct {void * a0;} args;
HxSemaphore lock;
- const char * ret;
+ bool ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((borogove::Chat((hx::Object *)data->args.a0, true))->encryptionMode());
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canSend();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4779,16 +5029,16 @@ const char *borogove_chat_encryption_mode(void *a0) {
Data data = { {a0} };
- // queue a callback to execute encryptionMode() on the main thread and wait until execution completes
+ // queue a callback to execute canSend() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-bool borogove_chat_can_send(void *a0) {
+bool borogove_chat_can_moderate(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Chat((hx::Object *)a0, true))->canSend();
+ return (borogove::Chat((hx::Object *)a0, true))->canModerate();
}
struct Data {
struct {void * a0;} args;
@@ -4800,7 +5050,7 @@ bool borogove_chat_can_send(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canSend();
+ data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canModerate();
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -4815,63 +5065,27 @@ bool borogove_chat_can_send(void *a0) {
Data data = { {a0} };
- // queue a callback to execute canSend() on the main thread and wait until execution completes
+ // queue a callback to execute canModerate() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-bool borogove_chat_can_moderate(void *a0) {
+void borogove_chat_invite(void *a0, void *a1, const char *a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Chat((hx::Object *)a0, true))->canModerate();
+ return (borogove::Chat((hx::Object *)a0, true))->invite(Dynamic((hx::Object *)a1), a2);
}
struct Data {
- struct {void * a0;} args;
+ struct {void * a0; void * a1; const char * a2;} args;
HxSemaphore lock;
- bool ret;
};
struct Callback {
static void run(void* p) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = (borogove::Chat((hx::Object *)data->args.a0, true))->canModerate();
- data->lock.Set();
- } catch(Dynamic runtimeException) {
- data->lock.Set();
- throw runtimeException;
- }
- }
- };
-
- #ifdef HXCPP_DEBUG
- assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
- #endif
-
- Data data = { {a0} };
-
- // queue a callback to execute canModerate() on the main thread and wait until execution completes
- HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
- data.lock.Wait();
- return data.ret;
-}
-
-HAXE_C_BRIDGE_LINKAGE
-void borogove_chat_invite(void *a0, void *a1, const char *a2) {
- if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Chat((hx::Object *)a0, true))->invite(Dynamic((hx::Object *)a1), a2);
- }
- struct Data {
- struct {void * a0; void * a1; const char * a2;} args;
- HxSemaphore lock;
- };
- struct Callback {
- static void run(void* p) {
- // executed within the haxe main thread
- Data* data = (Data*) p;
- try {
- (borogove::Chat((hx::Object *)data->args.a0, true))->invite(Dynamic((hx::Object *)data->args.a1), data->args.a2);
+ (borogove::Chat((hx::Object *)data->args.a0, true))->invite(Dynamic((hx::Object *)data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -5067,6 +5281,42 @@ void borogove_chat_invited_by(void *a0, void (*a1) (void*, void *handler__contex
data.lock.Wait();
}
+HAXE_C_BRIDGE_LINKAGE
+void *borogove_member_moderated() {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject(borogove::Member_obj::MODERATED__fromC());
+ }
+ struct Data {
+ struct {} args;
+ HxSemaphore lock;
+ void * ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::Member_obj::MODERATED__fromC());
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {} };
+
+ // queue a callback to execute MODERATED__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
const char *borogove_member_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -8094,12 +8344,12 @@ void borogove_persistence_get_messages_around(void *a0, const char *a1, void *a2
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_persistence_has_media(void *a0, const char *a1, const unsigned char *a2, size_t a3, void (*a4) (bool, void *handler__context), void *a5) {
+void borogove_persistence_has_media(void *a0, void *a1, void (*a2) (const char*, void *handler__context), void *a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return borogove::Persistence__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, cpp::Function<void(bool, void * handler__context)>(a4), a5);
+ return borogove::Persistence__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)a0), Dynamic((hx::Object *)a1), cpp::Function<void(const char*, void * handler__context)>(a2), a3);
}
struct Data {
- struct {void * a0; const char * a1; const unsigned char* a2; size_t a3; void (* a4) (bool, void * handler__context); void* a5;} args;
+ struct {void * a0; void * a1; void (* a2) (const char*, void * handler__context); void* a3;} args;
HxSemaphore lock;
};
struct Callback {
@@ -8107,7 +8357,7 @@ void borogove_persistence_has_media(void *a0, const char *a1, const unsigned cha
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- borogove::Persistence__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, cpp::Function<void(bool, void * handler__context)>(data->args.a4), data->args.a5);
+ borogove::Persistence__Companion_obj::hasMedia__fromC(Dynamic((hx::Object *)data->args.a0), Dynamic((hx::Object *)data->args.a1), cpp::Function<void(const char*, void * handler__context)>(data->args.a2), data->args.a3);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -8120,7 +8370,7 @@ void borogove_persistence_has_media(void *a0, const char *a1, const unsigned cha
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4, a5} };
+ Data data = { {a0, a1, a2, a3} };
// queue a callback to execute hasMedia__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -8128,12 +8378,12 @@ void borogove_persistence_has_media(void *a0, const char *a1, const unsigned cha
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_persistence_store_media(void *a0, const char *a1, const unsigned char *a2, size_t a3, void (*a4) (bool, void *handler__context), void *a5) {
+void borogove_persistence_store_media(void *a0, const char *a1, void *a2, void (*a3) (const char*, void *handler__context), void *a4) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return borogove::Persistence__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, cpp::Function<void(bool, void * handler__context)>(a4), a5);
+ return borogove::Persistence__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)a0), a1, Dynamic((hx::Object *)a2), cpp::Function<void(const char*, void * handler__context)>(a3), a4);
}
struct Data {
- struct {void * a0; const char * a1; const unsigned char* a2; size_t a3; void (* a4) (bool, void * handler__context); void* a5;} args;
+ struct {void * a0; const char * a1; void * a2; void (* a3) (const char*, void * handler__context); void* a4;} args;
HxSemaphore lock;
};
struct Callback {
@@ -8141,7 +8391,7 @@ void borogove_persistence_store_media(void *a0, const char *a1, const unsigned c
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- borogove::Persistence__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, cpp::Function<void(bool, void * handler__context)>(data->args.a4), data->args.a5);
+ borogove::Persistence__Companion_obj::storeMedia__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, Dynamic((hx::Object *)data->args.a2), cpp::Function<void(const char*, void * handler__context)>(data->args.a3), data->args.a4);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -8154,7 +8404,7 @@ void borogove_persistence_store_media(void *a0, const char *a1, const unsigned c
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4, a5} };
+ Data data = { {a0, a1, a2, a3, a4} };
// queue a callback to execute storeMedia__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -8196,12 +8446,12 @@ void borogove_persistence_remove_media(void *a0, const char *a1, const unsigned
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_persistence_store_login(void *a0, const char *a1, const char *a2, const char *a3, const char *a4, void (*a5) (bool, void *handler__context), void *a6) {
+void borogove_persistence_store_login(void *a0, const char *a1, const char *a2, const char *a3, const char *a4, const char *a5, void (*a6) (bool, void *handler__context), void *a7) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return borogove::Persistence__Companion_obj::storeLogin__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, a4, cpp::Function<void(bool, void * handler__context)>(a5), a6);
+ return borogove::Persistence__Companion_obj::storeLogin__fromC(Dynamic((hx::Object *)a0), a1, a2, a3, a4, a5, cpp::Function<void(bool, void * handler__context)>(a6), a7);
}
struct Data {
- struct {void * a0; const char * a1; const char * a2; const char * a3; const char * a4; void (* a5) (bool, void * handler__context); void* a6;} args;
+ struct {void * a0; const char * a1; const char * a2; const char * a3; const char * a4; const char * a5; void (* a6) (bool, void * handler__context); void* a7;} args;
HxSemaphore lock;
};
struct Callback {
@@ -8209,7 +8459,7 @@ void borogove_persistence_store_login(void *a0, const char *a1, const char *a2,
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- borogove::Persistence__Companion_obj::storeLogin__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, data->args.a4, cpp::Function<void(bool, void * handler__context)>(data->args.a5), data->args.a6);
+ borogove::Persistence__Companion_obj::storeLogin__fromC(Dynamic((hx::Object *)data->args.a0), data->args.a1, data->args.a2, data->args.a3, data->args.a4, data->args.a5, cpp::Function<void(bool, void * handler__context)>(data->args.a6), data->args.a7);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -8222,7 +8472,7 @@ void borogove_persistence_store_login(void *a0, const char *a1, const char *a2,
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3, a4, a5, a6} };
+ Data data = { {a0, a1, a2, a3, a4, a5, a6, a7} };
// queue a callback to execute storeLogin__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
@@ -8473,6 +8723,42 @@ void *borogove_chat_message_builder_new() {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+void *borogove_chat_message_builder_from_message(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeObject(borogove::ChatMessageBuilder_obj::fromMessage(Dynamic((hx::Object *)a0)));
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ void * ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = HaxeCBridge::retainHaxeObject(borogove::ChatMessageBuilder_obj::fromMessage(Dynamic((hx::Object *)data->args.a0)));
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute fromMessage() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
HAXE_C_BRIDGE_LINKAGE
const char *borogove_chat_message_builder_local_id(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -8754,9 +9040,9 @@ void borogove_chat_message_builder_set_type(void *a0, enum borogove_message_type
}
HAXE_C_BRIDGE_LINKAGE
-const char *borogove_chat_message_builder_timestamp(void *a0) {
+const char *borogove_chat_message_builder_time_sent(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->timestamp__fromC());
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->timeSent__fromC());
}
struct Data {
struct {void * a0;} args;
@@ -8768,7 +9054,7 @@ const char *borogove_chat_message_builder_timestamp(void *a0) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->timestamp__fromC());
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->timeSent__fromC());
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -8783,16 +9069,86 @@ const char *borogove_chat_message_builder_timestamp(void *a0) {
Data data = { {a0} };
- // queue a callback to execute timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute timeSent__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_chat_message_builder_set_time_sent(void *a0, const char *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_timeSent__fromC(a1);
+ }
+ struct Data {
+ struct {void * a0; const char * a1;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_timeSent__fromC(data->args.a1);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute set_timeSent__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+const char *borogove_chat_message_builder_time_received(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)a0, true))->timeReceived__fromC());
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ const char * ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = HaxeCBridge::retainHaxeString((borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->timeReceived__fromC());
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute timeReceived__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
return data.ret;
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_chat_message_builder_set_timestamp(void *a0, const char *a1) {
+void borogove_chat_message_builder_set_time_received(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_timestamp__fromC(a1);
+ return (borogove::ChatMessageBuilder((hx::Object *)a0, true))->set_timeReceived__fromC(a1);
}
struct Data {
struct {void * a0; const char * a1;} args;
@@ -8803,7 +9159,7 @@ void borogove_chat_message_builder_set_timestamp(void *a0, const char *a1) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_timestamp__fromC(data->args.a1);
+ (borogove::ChatMessageBuilder((hx::Object *)data->args.a0, true))->set_timeReceived__fromC(data->args.a1);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -8818,7 +9174,7 @@ void borogove_chat_message_builder_set_timestamp(void *a0, const char *a1) {
Data data = { {a0, a1} };
- // queue a callback to execute set_timestamp__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute set_timeReceived__fromC() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
@@ -10343,6 +10699,76 @@ void borogove_client_set_send_available(void *a0, bool a1) {
data.lock.Wait();
}
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_client_block_incoming_without_e_2_ee(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->blockIncomingWithoutE2EE__fromC();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ bool ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = (borogove::Client((hx::Object *)data->args.a0, true))->blockIncomingWithoutE2EE__fromC();
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute blockIncomingWithoutE2EE__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_client_set_block_incoming_without_e_2_ee(void *a0, bool a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->set_blockIncomingWithoutE2EE__fromC(a1);
+ }
+ struct Data {
+ struct {void * a0; bool a1;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Client((hx::Object *)data->args.a0, true))->set_blockIncomingWithoutE2EE__fromC(data->args.a1);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute set_blockIncomingWithoutE2EE__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
void borogove_client_start(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -10552,9 +10978,9 @@ const char *borogove_client_display_name(void *a0) {
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_client_set_profile(void *a0, void *a1, bool a2) {
+void borogove_client_set_photo(void *a0, void *a1, bool a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Client((hx::Object *)a0, true))->setProfile(Dynamic((hx::Object *)a1), a2);
+ return (borogove::Client((hx::Object *)a0, true))->setPhoto(Dynamic((hx::Object *)a1), a2);
}
struct Data {
struct {void * a0; void * a1; bool a2;} args;
@@ -10565,7 +10991,7 @@ void borogove_client_set_profile(void *a0, void *a1, bool a2) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (borogove::Client((hx::Object *)data->args.a0, true))->setProfile(Dynamic((hx::Object *)data->args.a1), data->args.a2);
+ (borogove::Client((hx::Object *)data->args.a0, true))->setPhoto(Dynamic((hx::Object *)data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -10580,18 +11006,18 @@ void borogove_client_set_profile(void *a0, void *a1, bool a2) {
Data data = { {a0, a1, a2} };
- // queue a callback to execute setProfile() on the main thread and wait until execution completes
+ // queue a callback to execute setPhoto() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_client_set_status(void *a0, void *a1, int a2, bool a3) {
+void borogove_client_set_profile(void *a0, void *a1, bool a2) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Client((hx::Object *)a0, true))->setStatus(Dynamic((hx::Object *)a1), a2, a3);
+ return (borogove::Client((hx::Object *)a0, true))->setProfile(Dynamic((hx::Object *)a1), a2);
}
struct Data {
- struct {void * a0; void * a1; int a2; bool a3;} args;
+ struct {void * a0; void * a1; bool a2;} args;
HxSemaphore lock;
};
struct Callback {
@@ -10599,7 +11025,7 @@ void borogove_client_set_status(void *a0, void *a1, int a2, bool a3) {
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (borogove::Client((hx::Object *)data->args.a0, true))->setStatus(Dynamic((hx::Object *)data->args.a1), data->args.a2, data->args.a3);
+ (borogove::Client((hx::Object *)data->args.a0, true))->setProfile(Dynamic((hx::Object *)data->args.a1), data->args.a2);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -10612,20 +11038,20 @@ void borogove_client_set_status(void *a0, void *a1, int a2, bool a3) {
assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
#endif
- Data data = { {a0, a1, a2, a3} };
+ Data data = { {a0, a1, a2} };
- // queue a callback to execute setStatus() on the main thread and wait until execution completes
+ // queue a callback to execute setProfile() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-void borogove_client_prepare_attachment(void *a0, void *a1, void (*a2) (void*, void *handler__context), void *a3) {
+void borogove_client_set_status(void *a0, void *a1, int a2, bool a3) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Client((hx::Object *)a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)a1), cpp::Function<void(void*, void * handler__context)>(a2), a3);
+ return (borogove::Client((hx::Object *)a0, true))->setStatus(Dynamic((hx::Object *)a1), a2, a3);
}
struct Data {
- struct {void * a0; void * a1; void (* a2) (void*, void * handler__context); void* a3;} args;
+ struct {void * a0; void * a1; int a2; bool a3;} args;
HxSemaphore lock;
};
struct Callback {
@@ -10633,7 +11059,7 @@ void borogove_client_prepare_attachment(void *a0, void *a1, void (*a2) (void*, v
// executed within the haxe main thread
Data* data = (Data*) p;
try {
- (borogove::Client((hx::Object *)data->args.a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)data->args.a1), cpp::Function<void(void*, void * handler__context)>(data->args.a2), data->args.a3);
+ (borogove::Client((hx::Object *)data->args.a0, true))->setStatus(Dynamic((hx::Object *)data->args.a1), data->args.a2, data->args.a3);
data->lock.Set();
} catch(Dynamic runtimeException) {
data->lock.Set();
@@ -10648,15 +11074,117 @@ void borogove_client_prepare_attachment(void *a0, void *a1, void (*a2) (void*, v
Data data = { {a0, a1, a2, a3} };
- // queue a callback to execute prepareAttachment__fromC() on the main thread and wait until execution completes
+ // queue a callback to execute setStatus() on the main thread and wait until execution completes
HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
data.lock.Wait();
}
HAXE_C_BRIDGE_LINKAGE
-size_t borogove_client_get_chats(void *a0, void ***a1) {
+void borogove_client_prefer_e_2_ee(void *a0, enum borogove_outgoing_e_2_ee_preference a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
- return (borogove::Client((hx::Object *)a0, true))->getChats__fromC(a1);
+ return (borogove::Client((hx::Object *)a0, true))->preferE2ee(a1);
+ }
+ struct Data {
+ struct {void * a0; enum borogove_outgoing_e_2_ee_preference a1;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Client((hx::Object *)data->args.a0, true))->preferE2ee(data->args.a1);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute preferE2ee() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_client_ban_e_2_ee(void *a0, enum borogove_outgoing_e_2_ee_preference a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->banE2ee(a1);
+ }
+ struct Data {
+ struct {void * a0; enum borogove_outgoing_e_2_ee_preference a1;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Client((hx::Object *)data->args.a0, true))->banE2ee(data->args.a1);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute banE2ee() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_client_prepare_attachment(void *a0, void *a1, bool a2, void (*a3) (void*, void *handler__context), void *a4) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)a1), a2, cpp::Function<void(void*, void * handler__context)>(a3), a4);
+ }
+ struct Data {
+ struct {void * a0; void * a1; bool a2; void (* a3) (void*, void * handler__context); void* a4;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Client((hx::Object *)data->args.a0, true))->prepareAttachment__fromC(Dynamic((hx::Object *)data->args.a1), data->args.a2, cpp::Function<void(void*, void * handler__context)>(data->args.a3), data->args.a4);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2, a3, a4} };
+
+ // queue a callback to execute prepareAttachment__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+size_t borogove_client_get_chats(void *a0, void ***a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Client((hx::Object *)a0, true))->getChats__fromC(a1);
}
struct Data {
struct {void * a0; void*** a1;} args;
@@ -12425,6 +12953,76 @@ const char *borogove_channel_subject(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_channel_can_set_subject(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->canSetSubject();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ bool ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = (borogove::Channel((hx::Object *)data->args.a0, true))->canSetSubject();
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute canSetSubject() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_channel_set_subject(void *a0, const char *a1, const char *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->setSubject(a1, a2);
+ }
+ struct Data {
+ struct {void * a0; const char * a1; const char * a2;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Channel((hx::Object *)data->args.a0, true))->setSubject(data->args.a1, data->args.a2);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2} };
+
+ // queue a callback to execute setSubject() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
const char *borogove_channel_description(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -12461,6 +13059,110 @@ const char *borogove_channel_description(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+void borogove_channel_request_to_send(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->requestToSend();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Channel((hx::Object *)data->args.a0, true))->requestToSend();
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute requestToSend() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+bool borogove_channel_can_set_photo(void *a0) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->canSetPhoto();
+ }
+ struct Data {
+ struct {void * a0;} args;
+ HxSemaphore lock;
+ bool ret;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ data->ret = (borogove::Channel((hx::Object *)data->args.a0, true))->canSetPhoto();
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0} };
+
+ // queue a callback to execute canSetPhoto() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+ return data.ret;
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_channel_set_photo(void *a0, void *a1) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->setPhoto(Dynamic((hx::Object *)a1));
+ }
+ struct Data {
+ struct {void * a0; void * a1;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Channel((hx::Object *)data->args.a0, true))->setPhoto(Dynamic((hx::Object *)data->args.a1));
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1} };
+
+ // queue a callback to execute setPhoto() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
bool borogove_channel_is_private(void *a0) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
@@ -12497,6 +13199,74 @@ bool borogove_channel_is_private(void *a0) {
return data.ret;
}
+HAXE_C_BRIDGE_LINKAGE
+void borogove_channel_voice_requests(void *a0, void (*a1) (void**, size_t, void *handler__context), void *a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->voiceRequests__fromC(cpp::Function<void(void**, size_t, void * handler__context)>(a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void (* a1) (void**, size_t, void * handler__context); void* a2;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Channel((hx::Object *)data->args.a0, true))->voiceRequests__fromC(cpp::Function<void(void**, size_t, void * handler__context)>(data->args.a1), data->args.a2);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2} };
+
+ // queue a callback to execute voiceRequests__fromC() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
+HAXE_C_BRIDGE_LINKAGE
+void borogove_channel_voice_request_respond(void *a0, void *a1, bool a2) {
+ if (HaxeCBridgeInternal::isHaxeMainThread()) {
+ return (borogove::Channel((hx::Object *)a0, true))->voiceRequestRespond(Dynamic((hx::Object *)a1), a2);
+ }
+ struct Data {
+ struct {void * a0; void * a1; bool a2;} args;
+ HxSemaphore lock;
+ };
+ struct Callback {
+ static void run(void* p) {
+ // executed within the haxe main thread
+ Data* data = (Data*) p;
+ try {
+ (borogove::Channel((hx::Object *)data->args.a0, true))->voiceRequestRespond(Dynamic((hx::Object *)data->args.a1), data->args.a2);
+ data->lock.Set();
+ } catch(Dynamic runtimeException) {
+ data->lock.Set();
+ throw runtimeException;
+ }
+ }
+ };
+
+ #ifdef HXCPP_DEBUG
+ assert(HaxeCBridgeInternal::threadRunning && "haxe thread not running, use borogove_initializeHaxeThread() to activate the haxe thread");
+ #endif
+
+ Data data = { {a0, a1, a2} };
+
+ // queue a callback to execute voiceRequestRespond() on the main thread and wait until execution completes
+ HaxeCBridgeInternal::runInMainThread(Callback::run, &data);
+ data.lock.Wait();
+}
+
HAXE_C_BRIDGE_LINKAGE
void borogove_calls_dtmf_sender_insert_dtmf(void *a0, const char *a1) {
if (HaxeCBridgeInternal::isHaxeMainThread()) {
diff --git a/Sources/c_borogove/src/__boot__.cpp b/Sources/c_borogove/src/__boot__.cpp
index 10d5b02..e5ade17 100644
--- a/Sources/c_borogove/src/__boot__.cpp
+++ b/Sources/c_borogove/src/__boot__.cpp
@@ -130,12 +130,12 @@
#ifndef INCLUDED_htmlparser_HtmlParser
#include <htmlparser/HtmlParser.h>
#endif
-#ifndef INCLUDED_hsluv_Hsluv
-#include <hsluv/Hsluv.h>
-#endif
#ifndef INCLUDED_haxe_crypto_random_SecureRandom
#include <haxe/crypto/random/SecureRandom.h>
#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCMSIV
+#include <haxe/crypto/mode/GCMSIV.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
@@ -223,6 +223,9 @@
#ifndef INCLUDED_borogove_Member
#include <borogove/Member.h>
#endif
+#ifndef INCLUDED_hsluv_Hsluv
+#include <hsluv/Hsluv.h>
+#endif
#ifndef INCLUDED_borogove_Html
#include <borogove/Html.h>
#endif
@@ -319,6 +322,12 @@
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
+#ifndef INCLUDED_tink_url__Query_QueryStringParser
+#include <tink/url/_Query/QueryStringParser.h>
+#endif
+#ifndef INCLUDED_tink_url__Portion_Portion_Impl_
+#include <tink/url/_Portion/Portion_Impl_.h>
+#endif
#ifndef INCLUDED_tink_url__Path_Path_Impl_
#include <tink/url/_Path/Path_Impl_.h>
#endif
@@ -340,6 +349,9 @@
#ifndef INCLUDED_tink_streams_IdealizeStream
#include <tink/streams/IdealizeStream.h>
#endif
+#ifndef INCLUDED_tink_streams__Stream_Mapping_Impl_
+#include <tink/streams/_Stream/Mapping_Impl_.h>
+#endif
#ifndef INCLUDED_tink_streams__Stream_ErrorStream
#include <tink/streams/_Stream/ErrorStream.h>
#endif
@@ -460,6 +472,9 @@
#ifndef INCLUDED_tink_http_Header
#include <tink/http/Header.h>
#endif
+#ifndef INCLUDED_tink_http_ContentType
+#include <tink/http/ContentType.h>
+#endif
#ifndef INCLUDED_tink_http_HandlerObject
#include <tink/http/HandlerObject.h>
#endif
@@ -484,6 +499,9 @@
#ifndef INCLUDED_tink_core_MPair
#include <tink/core/MPair.h>
#endif
+#ifndef INCLUDED_tink_core_OutcomeTools
+#include <tink/core/OutcomeTools.h>
+#endif
#ifndef INCLUDED_tink_core_NamedWith
#include <tink/core/NamedWith.h>
#endif
@@ -754,17 +772,71 @@
#ifndef INCLUDED_haxe_ds_BalancedTree
#include <haxe/ds/BalancedTree.h>
#endif
+#ifndef INCLUDED_haxe_crypto_padding_TBC
+#include <haxe/crypto/padding/TBC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_SpacePadding
+#include <haxe/crypto/padding/SpacePadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_PKCS7
+#include <haxe/crypto/padding/PKCS7.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_NullPadding
+#include <haxe/crypto/padding/NullPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_NoPadding
+#include <haxe/crypto/padding/NoPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_ISO10126
+#include <haxe/crypto/padding/ISO10126.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_BitPadding
+#include <haxe/crypto/padding/BitPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_AnsiX923
+#include <haxe/crypto/padding/AnsiX923.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_SIV
+#include <haxe/crypto/mode/SIV.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_PCBC
+#include <haxe/crypto/mode/PCBC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_OFB
+#include <haxe/crypto/mode/OFB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCM
+#include <haxe/crypto/mode/GCM.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_ECB
+#include <haxe/crypto/mode/ECB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_EAX
+#include <haxe/crypto/mode/EAX.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CMAC
+#include <haxe/crypto/mode/CMAC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CFB
+#include <haxe/crypto/mode/CFB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CCM
+#include <haxe/crypto/mode/CCM.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CBC
+#include <haxe/crypto/mode/CBC.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Sha256
#include <haxe/crypto/Sha256.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Sha1
-#include <haxe/crypto/Sha1.h>
-#endif
#ifndef INCLUDED_haxe_crypto_BaseCode
#include <haxe/crypto/BaseCode.h>
#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
+#ifndef INCLUDED_haxe_crypto_Aes
+#include <haxe/crypto/Aes.h>
#endif
#ifndef INCLUDED_haxe_ValueException
#include <haxe/ValueException.h>
@@ -787,9 +859,6 @@
#ifndef INCLUDED_haxe__Int64_Int64_Impl_
#include <haxe/_Int64/Int64_Impl_.h>
#endif
-#ifndef INCLUDED_haxe_Exception
-#include <haxe/Exception.h>
-#endif
#ifndef INCLUDED_haxe_EntryPoint
#include <haxe/EntryPoint.h>
#endif
@@ -820,6 +889,9 @@
#ifndef INCLUDED_datetime__DateTime_DateTime_Impl_
#include <datetime/_DateTime/DateTime_Impl_.h>
#endif
+#ifndef INCLUDED_cpp_vm_WeakRef
+#include <cpp/vm/WeakRef.h>
+#endif
#ifndef INCLUDED_cpp__NativeString_NativeString_Impl_
#include <cpp/_NativeString/NativeString_Impl_.h>
#endif
@@ -850,6 +922,12 @@
#ifndef INCLUDED_borogove_queries_PubsubGet
#include <borogove/queries/PubsubGet.h>
#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsSubmit
+#include <borogove/queries/MucSettingsSubmit.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsGet
+#include <borogove/queries/MucSettingsGet.h>
+#endif
#ifndef INCLUDED_borogove_queries_MAMQuery
#include <borogove/queries/MAMQuery.h>
#endif
@@ -910,6 +988,9 @@
#ifndef INCLUDED_borogove_calls_Group
#include <borogove/calls/Group.h>
#endif
+#ifndef INCLUDED_borogove__XEP0454_XEP0454_Fields_
+#include <borogove/_XEP0454/XEP0454_Fields_.h>
+#endif
#ifndef INCLUDED_borogove_XEP0393
#include <borogove/XEP0393.h>
#endif
@@ -925,6 +1006,12 @@
#ifndef INCLUDED_borogove_StanzaError
#include <borogove/StanzaError.h>
#endif
+#ifndef INCLUDED_borogove__Source_Source_Impl_
+#include <borogove/_Source/Source_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove_Sha1
+#include <borogove/Sha1.h>
+#endif
#ifndef INCLUDED_borogove_ReactionUpdate
#include <borogove/ReactionUpdate.h>
#endif
@@ -946,6 +1033,12 @@
#ifndef INCLUDED_borogove_Outbox
#include <borogove/Outbox.h>
#endif
+#ifndef INCLUDED_borogove_MucSettingsCommandSession
+#include <borogove/MucSettingsCommandSession.h>
+#endif
+#ifndef INCLUDED_borogove_MucSettingsCommand
+#include <borogove/MucSettingsCommand.h>
+#endif
#ifndef INCLUDED_borogove_ModerationAction
#include <borogove/ModerationAction.h>
#endif
@@ -958,6 +1051,12 @@
#ifndef INCLUDED_borogove_MemberUpdate
#include <borogove/MemberUpdate.h>
#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Sha1
+#include <haxe/crypto/Sha1.h>
+#endif
#ifndef INCLUDED_borogove_JsonPrinter
#include <borogove/JsonPrinter.h>
#endif
@@ -967,6 +1066,9 @@
#ifndef INCLUDED_borogove_Identicon
#include <borogove/Identicon.h>
#endif
+#ifndef INCLUDED_borogove_IncrementalHash
+#include <borogove/IncrementalHash.h>
+#endif
#ifndef INCLUDED_borogove_GenericStream
#include <borogove/GenericStream.h>
#endif
@@ -976,9 +1078,6 @@
#ifndef INCLUDED_borogove_FormSubmitBuilder
#include <borogove/FormSubmitBuilder.h>
#endif
-#ifndef INCLUDED_borogove_EncryptionPolicy
-#include <borogove/EncryptionPolicy.h>
-#endif
#ifndef INCLUDED_borogove_Builder
#include <borogove/Builder.h>
#endif
@@ -1006,9 +1105,15 @@
#ifndef INCLUDED_borogove_Date
#include <borogove/Date.h>
#endif
+#ifndef INCLUDED_borogove_ChatMessageCombiner
+#include <borogove/ChatMessageCombiner.h>
+#endif
#ifndef INCLUDED_borogove_SerializedChat
#include <borogove/SerializedChat.h>
#endif
+#ifndef INCLUDED_borogove_ChannelPinger
+#include <borogove/ChannelPinger.h>
+#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
@@ -1024,6 +1129,12 @@
#ifndef INCLUDED_borogove_Caps
#include <borogove/Caps.h>
#endif
+#ifndef INCLUDED_borogove_AttachmentUploadError
+#include <borogove/AttachmentUploadError.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
+#endif
#ifndef INCLUDED_borogove_AsyncLock
#include <borogove/AsyncLock.h>
#endif
@@ -1125,8 +1236,8 @@ __files__boot();
::sys::net::Host_obj::__register();
::sys::Http_obj::__register();
::htmlparser::HtmlParser_obj::__register();
-::hsluv::Hsluv_obj::__register();
::haxe::crypto::random::SecureRandom_obj::__register();
+::haxe::crypto::mode::GCMSIV_obj::__register();
::haxe::crypto::Base64_obj::__register();
::sys::thread::_Thread::HaxeThread_obj::__register();
::borogove::persistence::Sqlite_obj::__register();
@@ -1156,6 +1267,7 @@ __files__boot();
::borogove::Persistence_obj::__register();
::borogove::Notification_obj::__register();
::borogove::Member_obj::__register();
+::hsluv::Hsluv_obj::__register();
::borogove::Html_obj::__register();
::borogove::FormSection__Companion_obj::__register();
::borogove::Form_obj::__register();
@@ -1188,6 +1300,8 @@ __files__boot();
::borogove::AttachmentSource_obj::__register();
::Xml_obj::__register();
::_HaxeCBridge::Internal_obj::__register();
+::tink::url::_Query::QueryStringParser_obj::__register();
+::tink::url::_Portion::Portion_Impl__obj::__register();
::tink::url::_Path::Path_Impl__obj::__register();
::tink::url::_Host::Host_Impl__obj::__register();
::tink::streams::FutureStream_obj::__register();
@@ -1195,6 +1309,7 @@ __files__boot();
::tink::streams::_Stream::Handler_Impl__obj::__register();
::tink::streams::Single_obj::__register();
::tink::streams::IdealizeStream_obj::__register();
+::tink::streams::_Stream::Mapping_Impl__obj::__register();
::tink::streams::_Stream::ErrorStream_obj::__register();
::tink::streams::_Stream::RegroupStream_obj::__register();
::tink::streams::_Stream::CompoundStream_obj::__register();
@@ -1235,6 +1350,7 @@ __files__boot();
::tink::http::HeaderField_obj::__register();
::tink::http::_Header::HeaderValue_Impl__obj::__register();
::tink::http::Header_obj::__register();
+::tink::http::ContentType_obj::__register();
::tink::http::HandlerObject_obj::__register();
::tink::http::_Fetch::FetchResponse_Impl__obj::__register();
::tink::http::Container_obj::__register();
@@ -1243,6 +1359,7 @@ __files__boot();
::tink::io::StreamParserObject_obj::__register();
::tink::core::_Promise::Promise_Impl__obj::__register();
::tink::core::MPair_obj::__register();
+::tink::core::OutcomeTools_obj::__register();
::tink::core::NamedWith_obj::__register();
::tink::core::_Lazy::LazyFunc_obj::__register();
::tink::core::_Lazy::Lazy_Impl__obj::__register();
@@ -1333,10 +1450,28 @@ __files__boot();
::haxe::ds::EnumValueMap_obj::__register();
::haxe::ds::TreeNode_obj::__register();
::haxe::ds::BalancedTree_obj::__register();
+::haxe::crypto::padding::TBC_obj::__register();
+::haxe::crypto::padding::SpacePadding_obj::__register();
+::haxe::crypto::padding::PKCS7_obj::__register();
+::haxe::crypto::padding::NullPadding_obj::__register();
+::haxe::crypto::padding::NoPadding_obj::__register();
+::haxe::crypto::padding::ISO10126_obj::__register();
+::haxe::crypto::padding::BitPadding_obj::__register();
+::haxe::crypto::padding::AnsiX923_obj::__register();
+::haxe::crypto::mode::SIV_obj::__register();
+::haxe::crypto::mode::PCBC_obj::__register();
+::haxe::crypto::mode::OFB_obj::__register();
+::haxe::crypto::mode::GCM_obj::__register();
+::haxe::crypto::mode::ECB_obj::__register();
+::haxe::crypto::mode::EAX_obj::__register();
+::haxe::crypto::mode::CTR_obj::__register();
+::haxe::crypto::mode::CMAC_obj::__register();
+::haxe::crypto::mode::CFB_obj::__register();
+::haxe::crypto::mode::CCM_obj::__register();
+::haxe::crypto::mode::CBC_obj::__register();
::haxe::crypto::Sha256_obj::__register();
-::haxe::crypto::Sha1_obj::__register();
::haxe::crypto::BaseCode_obj::__register();
-::haxe::io::Bytes_obj::__register();
+::haxe::crypto::Aes_obj::__register();
::haxe::ValueException_obj::__register();
::haxe::Timer_obj::__register();
::haxe::NativeStackTrace_obj::__register();
@@ -1344,7 +1479,6 @@ __files__boot();
::haxe::MainEvent_obj::__register();
::haxe::Int64Helper_obj::__register();
::haxe::_Int64::Int64_Impl__obj::__register();
-::haxe::Exception_obj::__register();
::haxe::EntryPoint_obj::__register();
::sys::thread::EventLoop_obj::__register();
::sys::thread::Mutex_obj::__register();
@@ -1355,6 +1489,7 @@ __files__boot();
::datetime::cores::DateTimeIntervalCore_obj::__register();
::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::__register();
::datetime::_DateTime::DateTime_Impl__obj::__register();
+::cpp::vm::WeakRef_obj::__register();
::cpp::_NativeString::NativeString_Impl__obj::__register();
::cpp::Lib_obj::__register();
::cpp::Int64Map_obj::__register();
@@ -1365,6 +1500,8 @@ __files__boot();
::borogove::queries::Push2Enable_obj::__register();
::borogove::queries::Push2Disable_obj::__register();
::borogove::queries::PubsubGet_obj::__register();
+::borogove::queries::MucSettingsSubmit_obj::__register();
+::borogove::queries::MucSettingsGet_obj::__register();
::borogove::queries::MAMQuery_obj::__register();
::borogove::queries::JabberIqGatewayGet_obj::__register();
::borogove::queries::HttpUploadSlot_obj::__register();
@@ -1385,11 +1522,14 @@ __files__boot();
::borogove::calls::OutgoingSession_obj::__register();
::borogove::calls::PeerConnection_obj::__register();
::borogove::calls::Group_obj::__register();
+::borogove::_XEP0454::XEP0454_Fields__obj::__register();
::borogove::XEP0393_obj::__register();
::borogove::_Util::Util_Fields__obj::__register();
::borogove::Util_obj::__register();
::borogove::StringUtil_obj::__register();
::borogove::StanzaError_obj::__register();
+::borogove::_Source::Source_Impl__obj::__register();
+::borogove::Sha1_obj::__register();
::borogove::ReactionUpdate_obj::__register();
::borogove::Push_obj::__register();
::borogove::PubsubEvent_obj::__register();
@@ -1397,17 +1537,21 @@ __files__boot();
::borogove::_Presence::Presence_Impl__obj::__register();
::borogove::OutboxItem_obj::__register();
::borogove::Outbox_obj::__register();
+::borogove::MucSettingsCommandSession_obj::__register();
+::borogove::MucSettingsCommand_obj::__register();
::borogove::ModerationAction_obj::__register();
::borogove::MessageSync_obj::__register();
::borogove::Message_obj::__register();
::borogove::MemberUpdate_obj::__register();
+::haxe::io::Bytes_obj::__register();
+::haxe::crypto::Sha1_obj::__register();
::borogove::JsonPrinter_obj::__register();
::borogove::JID_obj::__register();
::borogove::Identicon_obj::__register();
+::borogove::IncrementalHash_obj::__register();
::borogove::GenericStream_obj::__register();
::borogove::FormLayoutSection_obj::__register();
::borogove::FormSubmitBuilder_obj::__register();
-::borogove::EncryptionPolicy_obj::__register();
::borogove::Builder_obj::__register();
::borogove::Other_obj::__register();
::borogove::Emoji_obj::__register();
@@ -1417,12 +1561,16 @@ __files__boot();
::borogove::UnicodeRange_obj::__register();
::borogove::UnicodeSet_obj::__register();
::borogove::Date_obj::__register();
+::borogove::ChatMessageCombiner_obj::__register();
::borogove::SerializedChat_obj::__register();
+::borogove::ChannelPinger_obj::__register();
::borogove::Stanza_obj::__register();
::borogove::_DataForm::Field_Impl__obj::__register();
::borogove::_DataForm::DataForm_Impl__obj::__register();
::borogove::Identity_obj::__register();
::borogove::Caps_obj::__register();
+::borogove::AttachmentUploadError_obj::__register();
+::haxe::Exception_obj::__register();
::borogove::AsyncLock_obj::__register();
::_Xml::XmlType_Impl__obj::__register();
::_UnicodeString::UnicodeString_Impl__obj::__register();
@@ -1504,6 +1652,7 @@ __files__boot();
::borogove::Form_obj::__boot();
::borogove::FormSection__Companion_obj::__boot();
::borogove::Html_obj::__boot();
+::hsluv::Hsluv_obj::__boot();
::borogove::Member_obj::__boot();
::borogove::Notification_obj::__boot();
::borogove::Persistence_obj::__boot();
@@ -1533,8 +1682,8 @@ __files__boot();
::borogove::persistence::Sqlite_obj::__boot();
::sys::thread::_Thread::HaxeThread_obj::__boot();
::haxe::crypto::Base64_obj::__boot();
+::haxe::crypto::mode::GCMSIV_obj::__boot();
::haxe::crypto::random::SecureRandom_obj::__boot();
-::hsluv::Hsluv_obj::__boot();
::htmlparser::HtmlParser_obj::__boot();
::sys::Http_obj::__boot();
::sys::net::Host_obj::__boot();
diff --git a/Sources/c_borogove/src/borogove/AttachmentUploadError.cpp b/Sources/c_borogove/src/borogove/AttachmentUploadError.cpp
new file mode 100644
index 0000000..8255689
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/AttachmentUploadError.cpp
@@ -0,0 +1,192 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_AttachmentUploadError
+#include <borogove/AttachmentUploadError.h>
+#endif
+#ifndef INCLUDED_haxe_Exception
+#include <haxe/Exception.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_2954c614ac6c4af4_18_new,"borogove.AttachmentUploadError","new",0x7e21f829,"borogove.AttachmentUploadError.new","borogove/AttachmentUploadError.hx",18,0x38a93a68)
+namespace borogove{
+
+void AttachmentUploadError_obj::__construct(::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures){
+ HX_STACKFRAME(&_hx_pos_2954c614ac6c4af4_18_new)
+HXDLIN( 18) {
+HXLINE( 19) super::__construct(message,null(),null());
+HXLINE( 20) this->code = code;
+HXLINE( 21) this->serviceId = serviceId;
+HXLINE( 22) this->statusCode = statusCode;
+HXLINE( 23) this->cause = cause;
+HXLINE( 24) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN( 24) if (::hx::IsNotNull( failures )) {
+HXLINE( 24) _hx_tmp = failures;
+ }
+ else {
+HXLINE( 24) _hx_tmp = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN( 24) this->failures = _hx_tmp;
+ }
+HXLINE( 18) {
+HXDLIN( 18) this->_hx___skipStack++;
+ }
+ }
+
+Dynamic AttachmentUploadError_obj::__CreateEmpty() { return new AttachmentUploadError_obj; }
+
+void *AttachmentUploadError_obj::_hx_vtable = 0;
+
+Dynamic AttachmentUploadError_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< AttachmentUploadError_obj > _hx_result = new AttachmentUploadError_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5]);
+ return _hx_result;
+}
+
+bool AttachmentUploadError_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x0936a07b) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0936a07b;
+ } else {
+ return inClassId==(int)0x677ddc49;
+ }
+}
+
+
+::hx::ObjectPtr< AttachmentUploadError_obj > AttachmentUploadError_obj::__new(::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures) {
+ ::hx::ObjectPtr< AttachmentUploadError_obj > __this = new AttachmentUploadError_obj();
+ __this->__construct(code,message,serviceId,statusCode,cause,failures);
+ return __this;
+}
+
+::hx::ObjectPtr< AttachmentUploadError_obj > AttachmentUploadError_obj::__alloc(::hx::Ctx *_hx_ctx,::String code,::String message,::String serviceId, ::Dynamic statusCode, ::Dynamic cause,::Array< ::Dynamic> failures) {
+ AttachmentUploadError_obj *__this = (AttachmentUploadError_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AttachmentUploadError_obj), true, "borogove.AttachmentUploadError"));
+ *(void **)__this = AttachmentUploadError_obj::_hx_vtable;
+ __this->__construct(code,message,serviceId,statusCode,cause,failures);
+ return __this;
+}
+
+AttachmentUploadError_obj::AttachmentUploadError_obj()
+{
+}
+
+void AttachmentUploadError_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(AttachmentUploadError);
+ HX_MARK_MEMBER_NAME(code,"code");
+ HX_MARK_MEMBER_NAME(serviceId,"serviceId");
+ HX_MARK_MEMBER_NAME(statusCode,"statusCode");
+ HX_MARK_MEMBER_NAME(cause,"cause");
+ HX_MARK_MEMBER_NAME(failures,"failures");
+ ::haxe::Exception_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void AttachmentUploadError_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(code,"code");
+ HX_VISIT_MEMBER_NAME(serviceId,"serviceId");
+ HX_VISIT_MEMBER_NAME(statusCode,"statusCode");
+ HX_VISIT_MEMBER_NAME(cause,"cause");
+ HX_VISIT_MEMBER_NAME(failures,"failures");
+ ::haxe::Exception_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val AttachmentUploadError_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"code") ) { return ::hx::Val( code ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"cause") ) { return ::hx::Val( cause ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"failures") ) { return ::hx::Val( failures ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"serviceId") ) { return ::hx::Val( serviceId ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"statusCode") ) { return ::hx::Val( statusCode ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val AttachmentUploadError_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"code") ) { code=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"cause") ) { cause=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"failures") ) { failures=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"serviceId") ) { serviceId=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"statusCode") ) { statusCode=inValue.Cast< ::Dynamic >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void AttachmentUploadError_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("code",2d,b1,c4,41));
+ outFields->push(HX_("serviceId",70,93,d4,bc));
+ outFields->push(HX_("statusCode",7f,45,22,a6));
+ outFields->push(HX_("cause",69,4c,22,41));
+ outFields->push(HX_("failures",e9,d0,27,04));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo AttachmentUploadError_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(AttachmentUploadError_obj,code),HX_("code",2d,b1,c4,41)},
+ {::hx::fsString,(int)offsetof(AttachmentUploadError_obj,serviceId),HX_("serviceId",70,93,d4,bc)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(AttachmentUploadError_obj,statusCode),HX_("statusCode",7f,45,22,a6)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(AttachmentUploadError_obj,cause),HX_("cause",69,4c,22,41)},
+ {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(AttachmentUploadError_obj,failures),HX_("failures",e9,d0,27,04)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *AttachmentUploadError_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String AttachmentUploadError_obj_sMemberFields[] = {
+ HX_("code",2d,b1,c4,41),
+ HX_("serviceId",70,93,d4,bc),
+ HX_("statusCode",7f,45,22,a6),
+ HX_("cause",69,4c,22,41),
+ HX_("failures",e9,d0,27,04),
+ ::String(null()) };
+
+::hx::Class AttachmentUploadError_obj::__mClass;
+
+void AttachmentUploadError_obj::__register()
+{
+ AttachmentUploadError_obj _hx_dummy;
+ AttachmentUploadError_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.AttachmentUploadError",b7,af,8e,82);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(AttachmentUploadError_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< AttachmentUploadError_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = AttachmentUploadError_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = AttachmentUploadError_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Autolink.cpp b/Sources/c_borogove/src/borogove/Autolink.cpp
index 6b37136..64f170a 100644
--- a/Sources/c_borogove/src/borogove/Autolink.cpp
+++ b/Sources/c_borogove/src/borogove/Autolink.cpp
@@ -19,6 +19,12 @@
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_355_one,"borogove.Autolink","one",0xc87857ee,"borogove.Autolink.one","borogove/Autolink.hx",355,0x8c1e1427)
HX_LOCAL_STACK_FRAME(_hx_pos_b6a92d28a7d85bf6_356_one,"borogove.Autolink","one",0xc87857ee,"borogove.Autolink.one","borogove/Autolink.hx",356,0x8c1e1427)
@@ -238,7 +244,7 @@ HXLINE( 377) if (::StringTools_obj::endsWith(text,HX_("?",3f,00,00,00))) {
HXLINE( 377) text = text.substr(0,(text.length - 1));
}
HXLINE( 379) ::borogove::Node _hx_tmp2 = ::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("a",61,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("href",eb,09,15,45),uri)))->text(text));
+ ->setFixed(0,HX_("href",eb,09,15,45),uri)),null())->text(text));
HXDLIN( 379) return ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("start",62,74,0b,84), ::Dynamic(pos->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)))
->setFixed(1,HX_("end",db,03,4d,00), ::Dynamic((pos->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic) + len)))
diff --git a/Sources/c_borogove/src/borogove/AvailableChat.cpp b/Sources/c_borogove/src/borogove/AvailableChat.cpp
index 33e70b5..e004808 100644
--- a/Sources/c_borogove/src/borogove/AvailableChat.cpp
+++ b/Sources/c_borogove/src/borogove/AvailableChat.cpp
@@ -7,23 +7,27 @@
#ifndef INCLUDED_borogove_Caps
#include <borogove/Caps.h>
#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2354_new,"borogove.AvailableChat","new",0x5dac2a06,"borogove.AvailableChat.new","borogove/Chat.hx",2354,0x1763ae98)
+HX_DEFINE_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2676_new,"borogove.AvailableChat","new",0x5dac2a06,"borogove.AvailableChat.new","borogove/Chat.hx",2676,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_478_chatId__fromC,"borogove.AvailableChat","chatId__fromC",0xf38d212c,"borogove.AvailableChat.chatId__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_478_displayName__fromC,"borogove.AvailableChat","displayName__fromC",0x70140f86,"borogove.AvailableChat.displayName__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_5767937a9c3c6668_478_note__fromC,"borogove.AvailableChat","note__fromC",0x82768a6d,"borogove.AvailableChat.note__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2330_isChannel,"borogove.AvailableChat","isChannel",0xad5c981f,"borogove.AvailableChat.isChannel","borogove/Chat.hx",2330,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2336_canAudioCall,"borogove.AvailableChat","canAudioCall",0xb02e8bfe,"borogove.AvailableChat.canAudioCall","borogove/Chat.hx",2336,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2346_canVideoCall,"borogove.AvailableChat","canVideoCall",0xb6315e23,"borogove.AvailableChat.canVideoCall","borogove/Chat.hx",2346,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2310_boot,"borogove.AvailableChat","boot",0x91119bcc,"borogove.AvailableChat.boot","borogove/Chat.hx",2310,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2652_isChannel,"borogove.AvailableChat","isChannel",0xad5c981f,"borogove.AvailableChat.isChannel","borogove/Chat.hx",2652,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2658_canAudioCall,"borogove.AvailableChat","canAudioCall",0xb02e8bfe,"borogove.AvailableChat.canAudioCall","borogove/Chat.hx",2658,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2668_canVideoCall,"borogove.AvailableChat","canVideoCall",0xb6315e23,"borogove.AvailableChat.canVideoCall","borogove/Chat.hx",2668,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_eed68530cdcabc2a_2630_boot,"borogove.AvailableChat","boot",0x91119bcc,"borogove.AvailableChat.boot","borogove/Chat.hx",2630,0x1763ae98)
namespace borogove{
-void AvailableChat_obj::__construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps){
- HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2354_new)
-HXLINE(2355) this->chatId = chatId;
-HXLINE(2356) this->displayName = displayName;
-HXLINE(2357) this->note = note;
-HXLINE(2358) this->caps = caps;
+void AvailableChat_obj::__construct(::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem){
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2676_new)
+HXLINE(2677) this->chatId = chatId;
+HXLINE(2678) this->displayName = displayName;
+HXLINE(2679) this->note = note;
+HXLINE(2680) this->caps = caps;
+HXLINE(2681) this->rosterItem = rosterItem;
}
Dynamic AvailableChat_obj::__CreateEmpty() { return new AvailableChat_obj; }
@@ -33,7 +37,7 @@ void *AvailableChat_obj::_hx_vtable = 0;
Dynamic AvailableChat_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< AvailableChat_obj > _hx_result = new AvailableChat_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
return _hx_result;
}
@@ -66,76 +70,76 @@ HXDLIN( 478) return this->note;
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,note__fromC,return )
bool AvailableChat_obj::isChannel(){
- HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2330_isChannel)
-HXDLIN(2330) return this->caps->isChannel(this->chatId);
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2652_isChannel)
+HXDLIN(2652) return this->caps->isChannel(this->chatId);
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,isChannel,return )
bool AvailableChat_obj::canAudioCall(){
- HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2336_canAudioCall)
-HXLINE(2338) bool _hx_tmp;
-HXDLIN(2338) ::Array< ::String > tmp = this->caps->features;
-HXDLIN(2338) ::Dynamic tmp1;
-HXDLIN(2338) if (::hx::IsNotNull( tmp )) {
-HXLINE(2338) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2658_canAudioCall)
+HXLINE(2660) bool _hx_tmp;
+HXDLIN(2660) ::Array< ::String > tmp = this->caps->features;
+HXDLIN(2660) ::Dynamic tmp1;
+HXDLIN(2660) if (::hx::IsNotNull( tmp )) {
+HXLINE(2660) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
}
else {
-HXLINE(2338) tmp1 = null();
+HXLINE(2660) tmp1 = null();
}
-HXDLIN(2338) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(2338) _hx_tmp = ( (bool)(tmp1) );
+HXDLIN(2660) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2660) _hx_tmp = ( (bool)(tmp1) );
}
else {
-HXLINE(2338) _hx_tmp = false;
+HXLINE(2660) _hx_tmp = false;
}
-HXDLIN(2338) if (_hx_tmp) {
-HXLINE(2338) return true;
+HXDLIN(2660) if (_hx_tmp) {
+HXLINE(2660) return true;
}
-HXLINE(2340) return false;
+HXLINE(2662) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,canAudioCall,return )
bool AvailableChat_obj::canVideoCall(){
- HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2346_canVideoCall)
-HXLINE(2348) bool _hx_tmp;
-HXDLIN(2348) ::Array< ::String > tmp = this->caps->features;
-HXDLIN(2348) ::Dynamic tmp1;
-HXDLIN(2348) if (::hx::IsNotNull( tmp )) {
-HXLINE(2348) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2668_canVideoCall)
+HXLINE(2670) bool _hx_tmp;
+HXDLIN(2670) ::Array< ::String > tmp = this->caps->features;
+HXDLIN(2670) ::Dynamic tmp1;
+HXDLIN(2670) if (::hx::IsNotNull( tmp )) {
+HXLINE(2670) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
}
else {
-HXLINE(2348) tmp1 = null();
+HXLINE(2670) tmp1 = null();
}
-HXDLIN(2348) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(2348) _hx_tmp = ( (bool)(tmp1) );
+HXDLIN(2670) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2670) _hx_tmp = ( (bool)(tmp1) );
}
else {
-HXLINE(2348) _hx_tmp = false;
+HXLINE(2670) _hx_tmp = false;
}
-HXDLIN(2348) if (_hx_tmp) {
-HXLINE(2348) return true;
+HXDLIN(2670) if (_hx_tmp) {
+HXLINE(2670) return true;
}
-HXLINE(2350) return false;
+HXLINE(2672) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(AvailableChat_obj,canVideoCall,return )
-::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__new(::String chatId,::String displayName,::String note, ::borogove::Caps caps) {
+::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__new(::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem) {
::hx::ObjectPtr< AvailableChat_obj > __this = new AvailableChat_obj();
- __this->__construct(chatId,displayName,note,caps);
+ __this->__construct(chatId,displayName,note,caps,rosterItem);
return __this;
}
-::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::borogove::Caps caps) {
+::hx::ObjectPtr< AvailableChat_obj > AvailableChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,::String displayName,::String note, ::borogove::Caps caps, ::borogove::Stanza rosterItem) {
AvailableChat_obj *__this = (AvailableChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(AvailableChat_obj), true, "borogove.AvailableChat"));
*(void **)__this = AvailableChat_obj::_hx_vtable;
- __this->__construct(chatId,displayName,note,caps);
+ __this->__construct(chatId,displayName,note,caps,rosterItem);
return __this;
}
@@ -150,6 +154,7 @@ void AvailableChat_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(displayName,"displayName");
HX_MARK_MEMBER_NAME(note,"note");
HX_MARK_MEMBER_NAME(caps,"caps");
+ HX_MARK_MEMBER_NAME(rosterItem,"rosterItem");
HX_MARK_END_CLASS();
}
@@ -159,6 +164,7 @@ void AvailableChat_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(displayName,"displayName");
HX_VISIT_MEMBER_NAME(note,"note");
HX_VISIT_MEMBER_NAME(caps,"caps");
+ HX_VISIT_MEMBER_NAME(rosterItem,"rosterItem");
}
::hx::Val AvailableChat_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -174,6 +180,9 @@ void AvailableChat_obj::__Visit(HX_VISIT_PARAMS)
case 9:
if (HX_FIELD_EQ(inName,"isChannel") ) { return ::hx::Val( isChannel_dyn() ); }
break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"rosterItem") ) { return ::hx::Val( rosterItem ); }
+ break;
case 11:
if (HX_FIELD_EQ(inName,"displayName") ) { return ::hx::Val( displayName ); }
if (HX_FIELD_EQ(inName,"note__fromC") ) { return ::hx::Val( note__fromC_dyn() ); }
@@ -201,6 +210,9 @@ void AvailableChat_obj::__Visit(HX_VISIT_PARAMS)
case 6:
if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"rosterItem") ) { rosterItem=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ break;
case 11:
if (HX_FIELD_EQ(inName,"displayName") ) { displayName=inValue.Cast< ::String >(); return inValue; }
}
@@ -213,6 +225,7 @@ void AvailableChat_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("displayName",ad,11,f2,30));
outFields->push(HX_("note",f2,17,0a,49));
outFields->push(HX_("caps",21,1c,ba,41));
+ outFields->push(HX_("rosterItem",3e,80,8b,d7));
super::__GetFields(outFields);
};
@@ -222,6 +235,7 @@ static ::hx::StorageInfo AvailableChat_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(AvailableChat_obj,displayName),HX_("displayName",ad,11,f2,30)},
{::hx::fsString,(int)offsetof(AvailableChat_obj,note),HX_("note",f2,17,0a,49)},
{::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(AvailableChat_obj,caps),HX_("caps",21,1c,ba,41)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(AvailableChat_obj,rosterItem),HX_("rosterItem",3e,80,8b,d7)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *AvailableChat_obj_sStaticStorageInfo = 0;
@@ -235,6 +249,7 @@ static ::String AvailableChat_obj_sMemberFields[] = {
HX_("note",f2,17,0a,49),
HX_("note__fromC",c7,1a,13,57),
HX_("caps",21,1c,ba,41),
+ HX_("rosterItem",3e,80,8b,d7),
HX_("isChannel",f9,7d,d0,d0),
HX_("canAudioCall",64,4a,90,e4),
HX_("canVideoCall",89,1c,93,ea),
@@ -268,8 +283,8 @@ void AvailableChat_obj::__register()
void AvailableChat_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2310_boot)
-HXDLIN(2310) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_eed68530cdcabc2a_2630_boot)
+HXDLIN(2630) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("chatId__fromC",06,fc,b1,94), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
diff --git a/Sources/c_borogove/src/borogove/AvailableChatIterator.cpp b/Sources/c_borogove/src/borogove/AvailableChatIterator.cpp
index 5a2404e..2e66da3 100644
--- a/Sources/c_borogove/src/borogove/AvailableChatIterator.cpp
+++ b/Sources/c_borogove/src/borogove/AvailableChatIterator.cpp
@@ -93,13 +93,13 @@ HX_DEFINE_STACK_FRAME(_hx_pos_d2dba419a7f92221_114_new,"borogove.AvailableChatIt
HX_DEFINE_STACK_FRAME(_hx_pos_d2dba419a7f92221_119_new,"borogove.AvailableChatIterator","new",0xf41c8314,"borogove.AvailableChatIterator.new","borogove/AvailableChatIterator.hx",119,0xe9fab5dd)
HX_DEFINE_STACK_FRAME(_hx_pos_d2dba419a7f92221_118_new,"borogove.AvailableChatIterator","new",0xf41c8314,"borogove.AvailableChatIterator.new","borogove/AvailableChatIterator.hx",118,0xe9fab5dd)
HX_LOCAL_STACK_FRAME(_hx_pos_07fd1ca5fb749c25_478_q__fromC,"borogove.AvailableChatIterator","q__fromC",0x85dfd0f4,"borogove.AvailableChatIterator.q__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_152_check,"borogove.AvailableChatIterator","check",0x4318607c,"borogove.AvailableChatIterator.check","borogove/AvailableChatIterator.hx",152,0xe9fab5dd)
HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_150_check,"borogove.AvailableChatIterator","check",0x4318607c,"borogove.AvailableChatIterator.check","borogove/AvailableChatIterator.hx",150,0xe9fab5dd)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_148_check,"borogove.AvailableChatIterator","check",0x4318607c,"borogove.AvailableChatIterator.check","borogove/AvailableChatIterator.hx",148,0xe9fab5dd)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_147_check,"borogove.AvailableChatIterator","check",0x4318607c,"borogove.AvailableChatIterator.check","borogove/AvailableChatIterator.hx",147,0xe9fab5dd)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_197_next,"borogove.AvailableChatIterator","next",0xa4d62fbf,"borogove.AvailableChatIterator.next","borogove/AvailableChatIterator.hx",197,0xe9fab5dd)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_149_check,"borogove.AvailableChatIterator","check",0x4318607c,"borogove.AvailableChatIterator.check","borogove/AvailableChatIterator.hx",149,0xe9fab5dd)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_199_next,"borogove.AvailableChatIterator","next",0xa4d62fbf,"borogove.AvailableChatIterator.next","borogove/AvailableChatIterator.hx",199,0xe9fab5dd)
HX_LOCAL_STACK_FRAME(_hx_pos_07fd1ca5fb749c25_365_next__fromC,"borogove.AvailableChatIterator","next__fromC",0xa26d469a,"borogove.AvailableChatIterator.next__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_216_internalNext,"borogove.AvailableChatIterator","internalNext",0x8370519c,"borogove.AvailableChatIterator.internalNext","borogove/AvailableChatIterator.hx",216,0xe9fab5dd)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_201_internalNext,"borogove.AvailableChatIterator","internalNext",0x8370519c,"borogove.AvailableChatIterator.internalNext","borogove/AvailableChatIterator.hx",201,0xe9fab5dd)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_218_internalNext,"borogove.AvailableChatIterator","internalNext",0x8370519c,"borogove.AvailableChatIterator.internalNext","borogove/AvailableChatIterator.hx",218,0xe9fab5dd)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_203_internalNext,"borogove.AvailableChatIterator","internalNext",0x8370519c,"borogove.AvailableChatIterator.internalNext","borogove/AvailableChatIterator.hx",203,0xe9fab5dd)
HX_LOCAL_STACK_FRAME(_hx_pos_d2dba419a7f92221_24_boot,"borogove.AvailableChatIterator","boot",0x9cef2efe,"borogove.AvailableChatIterator.boot","borogove/AvailableChatIterator.hx",24,0xe9fab5dd)
namespace borogove{
@@ -284,7 +284,7 @@ HXLINE( 81) available1 = ( ( ::borogove::Caps)(caps->__Field(HX_("next",f
else {
HXLINE( 81) available1 = ::borogove::CapsRepo_obj::empty;
}
-HXDLIN( 81) ::Dynamic available2 = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chat2,available,chat3,available1)));
+HXDLIN( 81) ::Dynamic available2 = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chat2,available,chat3,available1,null())));
HXLINE( 82) if (chat->isTrusted()) {
HXLINE( 83) this->results->push(available2);
}
@@ -426,18 +426,21 @@ HXDLIN( 125) ::String _hx_tmp2 = ::StringTools_obj::replace(_gthis->
HXDLIN( 125) ::Dynamic _hx_tmp3 = _gthis2->check( ::borogove::JID_obj::__alloc( HX_CTX ,_hx_tmp2,bareJid->domain,null(),null()));
HXDLIN( 125) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp3,resolve,null());
}
+ else {
+HXLINE( 127) resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
}
}
else {
-HXLINE( 128) switch((int)(result->_hx_getIndex())){
+HXLINE( 130) switch((int)(result->_hx_getIndex())){
case (int)0: {
-HXLINE( 129) resolve(::Array_obj< ::Dynamic>::__new(0));
+HXLINE( 131) resolve(::Array_obj< ::Dynamic>::__new(0));
}
break;
case (int)1: {
-HXLINE( 131) ::borogove::AvailableChatIterator _gthis3 = _gthis;
-HXDLIN( 131) ::Dynamic _hx_tmp4 = _gthis3->check(::borogove::JID_obj::parse(( (::String)(result->_hx_getObject(0)) )));
-HXDLIN( 131) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp4,resolve,null());
+HXLINE( 133) ::borogove::AvailableChatIterator _gthis3 = _gthis;
+HXDLIN( 133) ::Dynamic _hx_tmp4 = _gthis3->check(::borogove::JID_obj::parse(( (::String)(result->_hx_getObject(0)) )));
+HXDLIN( 133) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp4,resolve,null());
}
break;
}
@@ -447,7 +450,7 @@ HXDLIN( 131) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp4,
HX_GC_STACKFRAME(&_hx_pos_d2dba419a7f92221_118_new)
HXLINE( 119) jigGet1->onFinished( ::Dynamic(new _hx_Closure_7(_gthis,caps2,jigGet1,resolve,bareJid)));
-HXLINE( 135) client->sendQuery(jigGet1);
+HXLINE( 137) client->sendQuery(jigGet1);
}
HX_END_LOCAL_FUNC2((void))
@@ -471,19 +474,19 @@ HXLINE( 116) fullJid = resource1;
HXLINE( 117) ::String jigGet = ::borogove::JID_obj::__alloc( HX_CTX ,bareJid1,bareJid2,fullJid,null())->asString();
HXDLIN( 117) ::borogove::queries::JabberIqGatewayGet jigGet1 = ::borogove::queries::JabberIqGatewayGet_obj::__alloc( HX_CTX ,jigGet,this->query);
HXLINE( 118) ::Array< ::Dynamic> _hx_tmp10 = this->results;
-HXDLIN( 118) _hx_tmp10->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_8(caps2,_gthis,client,jigGet1,bareJid))));
+HXDLIN( 118) _hx_tmp10->unshift(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_8(caps2,_gthis,client,jigGet1,bareJid))));
}
}
}
}
}
}
-HXLINE( 142) {
-HXLINE( 142) int _g6 = 0;
-HXDLIN( 142) while((_g6 < laterResults->length)){
-HXLINE( 142) ::Dynamic later = laterResults->__get(_g6);
-HXDLIN( 142) _g6 = (_g6 + 1);
-HXLINE( 143) this->results->push(later);
+HXLINE( 144) {
+HXLINE( 144) int _g6 = 0;
+HXDLIN( 144) while((_g6 < laterResults->length)){
+HXLINE( 144) ::Dynamic later = laterResults->__get(_g6);
+HXDLIN( 144) _g6 = (_g6 + 1);
+HXLINE( 145) this->results->push(later);
}
}
}
@@ -516,117 +519,117 @@ HX_DEFINE_DYNAMIC_FUNC0(AvailableChatIterator_obj,q__fromC,return )
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::AvailableChatIterator,_gthis, ::Dynamic,resolve, ::borogove::queries::DiscoInfoGet,discoGet, ::borogove::JID,jid) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_d2dba419a7f92221_150_check)
-HXLINE( 151) ::borogove::Caps resultCaps = discoGet->getResult();
-HXLINE( 152) if (::hx::IsNull( resultCaps )) {
-HXLINE( 153) ::borogove::Stanza tmp = discoGet->responseStanza;
-HXDLIN( 153) ::borogove::Stanza tmp1;
-HXDLIN( 153) if (::hx::IsNotNull( tmp )) {
-HXLINE( 153) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
+ HX_GC_STACKFRAME(&_hx_pos_d2dba419a7f92221_152_check)
+HXLINE( 153) ::borogove::Caps resultCaps = discoGet->getResult();
+HXLINE( 154) if (::hx::IsNull( resultCaps )) {
+HXLINE( 155) ::borogove::Stanza tmp = discoGet->responseStanza;
+HXDLIN( 155) ::borogove::Stanza tmp1;
+HXDLIN( 155) if (::hx::IsNotNull( tmp )) {
+HXLINE( 155) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
}
else {
-HXLINE( 153) tmp1 = null();
+HXLINE( 155) tmp1 = null();
}
-HXDLIN( 153) ::borogove::Stanza err;
-HXDLIN( 153) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 153) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+HXDLIN( 155) ::borogove::Stanza err;
+HXDLIN( 155) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 155) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
}
else {
-HXLINE( 153) err = null();
- }
-HXLINE( 154) bool _hx_tmp;
-HXDLIN( 154) bool _hx_tmp1;
-HXDLIN( 154) if (::hx::IsNotNull( err )) {
-HXLINE( 154) ::String _hx_tmp2;
-HXDLIN( 154) if (::hx::IsNotNull( err )) {
-HXLINE( 154) _hx_tmp2 = err->name;
+HXLINE( 155) err = null();
+ }
+HXLINE( 156) bool _hx_tmp;
+HXDLIN( 156) bool _hx_tmp1;
+HXDLIN( 156) if (::hx::IsNotNull( err )) {
+HXLINE( 156) ::String _hx_tmp2;
+HXDLIN( 156) if (::hx::IsNotNull( err )) {
+HXLINE( 156) _hx_tmp2 = err->name;
}
else {
-HXLINE( 154) _hx_tmp2 = null();
+HXLINE( 156) _hx_tmp2 = null();
}
-HXDLIN( 154) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
+HXDLIN( 156) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
}
else {
-HXLINE( 154) _hx_tmp1 = true;
+HXLINE( 156) _hx_tmp1 = true;
}
-HXDLIN( 154) if (!(_hx_tmp1)) {
-HXLINE( 154) ::String _hx_tmp3;
-HXDLIN( 154) if (::hx::IsNotNull( err )) {
-HXLINE( 154) _hx_tmp3 = err->name;
+HXDLIN( 156) if (!(_hx_tmp1)) {
+HXLINE( 156) ::String _hx_tmp3;
+HXDLIN( 156) if (::hx::IsNotNull( err )) {
+HXLINE( 156) _hx_tmp3 = err->name;
}
else {
-HXLINE( 154) _hx_tmp3 = null();
+HXLINE( 156) _hx_tmp3 = null();
}
-HXDLIN( 154) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
+HXDLIN( 156) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
}
else {
-HXLINE( 154) _hx_tmp = true;
- }
-HXDLIN( 154) if (_hx_tmp) {
-HXLINE( 155) ::Dynamic resolve1 = resolve;
-HXDLIN( 155) ::String _hx_tmp4 = jid->asString();
-HXDLIN( 155) ::String _hx_tmp5;
-HXDLIN( 155) if (::hx::IsNull( jid->node )) {
-HXLINE( 155) _hx_tmp5 = _gthis->query;
+HXLINE( 156) _hx_tmp = true;
+ }
+HXDLIN( 156) if (_hx_tmp) {
+HXLINE( 157) ::Dynamic resolve1 = resolve;
+HXDLIN( 157) ::String _hx_tmp4 = jid->asString();
+HXDLIN( 157) ::String _hx_tmp5;
+HXDLIN( 157) if (::hx::IsNull( jid->node )) {
+HXLINE( 157) _hx_tmp5 = _gthis->query;
}
else {
-HXLINE( 155) _hx_tmp5 = jid->node;
+HXLINE( 157) _hx_tmp5 = jid->node;
}
-HXDLIN( 155) resolve1(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,_hx_tmp4,_hx_tmp5,jid->asString(),::borogove::CapsRepo_obj::empty)));
+HXDLIN( 157) resolve1(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,_hx_tmp4,_hx_tmp5,jid->asString(),::borogove::CapsRepo_obj::empty,null())));
}
else {
-HXLINE( 157) resolve(::Array_obj< ::Dynamic>::__new(0));
+HXLINE( 159) resolve(::Array_obj< ::Dynamic>::__new(0));
}
}
else {
-HXLINE( 160) ::borogove::Caps caps = _gthis->client->capsRepo->add(resultCaps,null());
-HXLINE( 161) ::borogove::Identity identity = resultCaps->identities->__get(0).StaticCast< ::borogove::Identity >();
-HXLINE( 162) ::String displayName;
-HXDLIN( 162) ::String tmp2;
-HXDLIN( 162) if (::hx::IsNotNull( identity )) {
-HXLINE( 162) tmp2 = identity->name;
+HXLINE( 162) ::borogove::Caps caps = _gthis->client->capsRepo->add(resultCaps,null());
+HXLINE( 163) ::borogove::Identity identity = resultCaps->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE( 164) ::String displayName;
+HXDLIN( 164) ::String tmp2;
+HXDLIN( 164) if (::hx::IsNotNull( identity )) {
+HXLINE( 164) tmp2 = identity->name;
}
else {
-HXLINE( 162) tmp2 = null();
+HXLINE( 164) tmp2 = null();
}
-HXDLIN( 162) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 162) displayName = tmp2;
+HXDLIN( 164) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 164) displayName = tmp2;
}
else {
-HXLINE( 162) displayName = _gthis->query;
+HXLINE( 164) displayName = _gthis->query;
}
-HXLINE( 163) ::String note = jid->asString();
-HXDLIN( 163) ::String note1;
-HXDLIN( 163) if (::hx::IsNull( identity )) {
-HXLINE( 163) note1 = HX_("",00,00,00,00);
+HXLINE( 165) ::String note = jid->asString();
+HXDLIN( 165) ::String note1;
+HXDLIN( 165) if (::hx::IsNull( identity )) {
+HXLINE( 165) note1 = HX_("",00,00,00,00);
}
else {
-HXLINE( 163) note1 = ((HX_(" (",08,1c,00,00) + identity->type) + HX_(")",29,00,00,00));
+HXLINE( 165) note1 = ((HX_(" (",08,1c,00,00) + identity->type) + HX_(")",29,00,00,00));
}
-HXLINE( 164) ::Dynamic resolve2 = resolve;
-HXDLIN( 164) resolve2(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,jid->asString(),displayName,(note + note1),caps)));
+HXLINE( 166) ::Dynamic resolve2 = resolve;
+HXDLIN( 166) resolve2(::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,jid->asString(),displayName,(note + note1),caps,null())));
}
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_d2dba419a7f92221_148_check)
-HXLINE( 149) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid->asString(),null());
-HXLINE( 150) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,discoGet,jid)));
-HXLINE( 167) _gthis->client->sendQuery(discoGet);
+ HX_GC_STACKFRAME(&_hx_pos_d2dba419a7f92221_150_check)
+HXLINE( 151) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid->asString(),null());
+HXLINE( 152) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,discoGet,jid)));
+HXLINE( 169) _gthis->client->sendQuery(discoGet);
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_147_check)
-HXDLIN( 147) ::borogove::AvailableChatIterator _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 148) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,jid)));
+ HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_149_check)
+HXDLIN( 149) ::borogove::AvailableChatIterator _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 150) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,jid)));
}
HX_DEFINE_DYNAMIC_FUNC1(AvailableChatIterator_obj,check,return )
::Dynamic AvailableChatIterator_obj::next(){
- HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_197_next)
-HXDLIN( 197) return this->internalNext();
+ HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_199_next)
+HXDLIN( 199) return this->internalNext();
}
@@ -676,29 +679,29 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->next(), ::Dyn
::Dynamic AvailableChatIterator_obj::internalNext(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::AvailableChatIterator,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> availables){
- HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_216_internalNext)
-HXLINE( 217) _gthis->head = availables;
-HXLINE( 218) return _gthis->internalNext();
+ HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_218_internalNext)
+HXLINE( 219) _gthis->head = availables;
+HXLINE( 220) return _gthis->internalNext();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_201_internalNext)
-HXDLIN( 201) ::borogove::AvailableChatIterator _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 202) if ((this->head->length > 0)) {
-HXLINE( 203) ::borogove::AvailableChat available = this->head->shift().StaticCast< ::borogove::AvailableChat >();
-HXLINE( 205) if (::hx::IsNotNull( available )) {
-HXLINE( 206) if (this->dedup->exists(available->chatId)) {
-HXLINE( 206) return this->internalNext();
+ HX_STACKFRAME(&_hx_pos_d2dba419a7f92221_203_internalNext)
+HXDLIN( 203) ::borogove::AvailableChatIterator _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 204) if ((this->head->length > 0)) {
+HXLINE( 205) ::borogove::AvailableChat available = this->head->shift().StaticCast< ::borogove::AvailableChat >();
+HXLINE( 207) if (::hx::IsNotNull( available )) {
+HXLINE( 208) if (this->dedup->exists(available->chatId)) {
+HXLINE( 208) return this->internalNext();
}
-HXLINE( 208) this->dedup->set(available->chatId,true);
-HXLINE( 209) return ::thenshim::_Promise::Promise_Impl__obj::resolve(available);
+HXLINE( 210) this->dedup->set(available->chatId,true);
+HXLINE( 211) return ::thenshim::_Promise::Promise_Impl__obj::resolve(available);
}
}
-HXLINE( 213) ::Dynamic promise = this->results->shift();
-HXLINE( 214) if (::hx::IsNull( promise )) {
-HXLINE( 214) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 215) ::Dynamic promise = this->results->shift();
+HXLINE( 216) if (::hx::IsNull( promise )) {
+HXLINE( 216) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 216) return ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE( 218) return ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
diff --git a/Sources/c_borogove/src/borogove/Caps.cpp b/Sources/c_borogove/src/borogove/Caps.cpp
index c42940a..b96f5f2 100644
--- a/Sources/c_borogove/src/borogove/Caps.cpp
+++ b/Sources/c_borogove/src/borogove/Caps.cpp
@@ -25,6 +25,12 @@
#ifndef INCLUDED_borogove__DataForm_Field_Impl_
#include <borogove/_DataForm/Field_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
@@ -39,43 +45,47 @@
#endif
HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_17_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",17,0xed3da4ef)
-HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_74_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",74,0xed3da4ef)
-HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_75_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",75,0xed3da4ef)
-HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_76_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",76,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_94_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",94,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_96_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",96,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_102_discoReply,"borogove.Caps","discoReply",0x066a3310,"borogove.Caps.discoReply","borogove/Caps.hx",102,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_120_addC,"borogove.Caps","addC",0x2eaa32c2,"borogove.Caps.addC","borogove/Caps.hx",120,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_139_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",139,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_152_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",152,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_170_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",170,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_183_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",183,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_201_verRaw,"borogove.Caps","verRaw",0xd5dfc305,"borogove.Caps.verRaw","borogove/Caps.hx",201,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_214_ver,"borogove.Caps","ver",0xd5cbd2a3,"borogove.Caps.ver","borogove/Caps.hx",214,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_27_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",27,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_41_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",41,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_42_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",42,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_84_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",84,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_85_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",85,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_86_new,"borogove.Caps","new",0xd5c5c0a0,"borogove.Caps.new","borogove/Caps.hx",86,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_104_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",104,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_106_isChannel,"borogove.Caps","isChannel",0x55b41e39,"borogove.Caps.isChannel","borogove/Caps.hx",106,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_112_discoReply,"borogove.Caps","discoReply",0x066a3310,"borogove.Caps.discoReply","borogove/Caps.hx",112,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_130_addC,"borogove.Caps","addC",0x2eaa32c2,"borogove.Caps.addC","borogove/Caps.hx",130,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_149_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",149,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_162_hashInput,"borogove.Caps","hashInput",0x77a0999c,"borogove.Caps.hashInput","borogove/Caps.hx",162,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_180_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",180,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_193_computeVer,"borogove.Caps","computeVer",0xf6e0aeec,"borogove.Caps.computeVer","borogove/Caps.hx",193,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_211_verRaw,"borogove.Caps","verRaw",0xd5dfc305,"borogove.Caps.verRaw","borogove/Caps.hx",211,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_224_ver,"borogove.Caps","ver",0xd5cbd2a3,"borogove.Caps.ver","borogove/Caps.hx",224,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_28_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",28,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_40_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",40,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_47_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",47,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_51_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",51,0xed3da4ef)
HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_24_filter,"borogove.Caps","filter",0xb9e6d778,"borogove.Caps.filter","borogove/Caps.hx",24,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_54_withIdentity,"borogove.Caps","withIdentity",0x2955f524,"borogove.Caps.withIdentity","borogove/Caps.hx",54,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_59_withFeature,"borogove.Caps","withFeature",0xbcdb4190,"borogove.Caps.withFeature","borogove/Caps.hx",59,0xed3da4ef)
+static const bool _hx_array_data_daf930ae_32[] = {
+ 0,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_64_withIdentity,"borogove.Caps","withIdentity",0x2955f524,"borogove.Caps.withIdentity","borogove/Caps.hx",64,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_4d51f4c65f9a1a9f_69_withFeature,"borogove.Caps","withFeature",0xbcdb4190,"borogove.Caps.withFeature","borogove/Caps.hx",69,0xed3da4ef)
namespace borogove{
void Caps_obj::__construct(::String node,::Array< ::Dynamic> identities,::Array< ::String > features,::Array< ::Dynamic> data,::Array< unsigned char > ver){
HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_17_new)
HXLINE( 22) this->_ver = null();
-HXLINE( 72) if (::hx::IsNull( ver )) {
+HXLINE( 82) if (::hx::IsNull( ver )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run(::String x,::String y){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_74_new)
-HXLINE( 74) if ((x == y)) {
-HXLINE( 74) return 0;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_84_new)
+HXLINE( 84) if ((x == y)) {
+HXLINE( 84) return 0;
}
else {
-HXLINE( 74) if ((x < y)) {
-HXLINE( 74) return -1;
+HXLINE( 84) if ((x < y)) {
+HXLINE( 84) return -1;
}
else {
-HXLINE( 74) return 1;
+HXLINE( 84) return 1;
}
}
}
@@ -83,18 +93,18 @@ HXLINE( 74) return 1;
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
int _hx_run( ::borogove::Identity x, ::borogove::Identity y){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_75_new)
-HXLINE( 75) ::String _hx_tmp = x->ver();
-HXDLIN( 75) if ((_hx_tmp == y->ver())) {
-HXLINE( 75) return 0;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_85_new)
+HXLINE( 85) ::String _hx_tmp = x->ver();
+HXDLIN( 85) if ((_hx_tmp == y->ver())) {
+HXLINE( 85) return 0;
}
else {
-HXLINE( 75) ::String _hx_tmp1 = x->ver();
-HXDLIN( 75) if ((_hx_tmp1 < y->ver())) {
-HXLINE( 75) return -1;
+HXLINE( 85) ::String _hx_tmp1 = x->ver();
+HXDLIN( 85) if ((_hx_tmp1 < y->ver())) {
+HXLINE( 85) return -1;
}
else {
-HXLINE( 75) return 1;
+HXLINE( 85) return 1;
}
}
}
@@ -102,52 +112,52 @@ HXLINE( 75) return 1;
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
int _hx_run( ::borogove::Stanza x, ::borogove::Stanza y){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_76_new)
-HXLINE( 76) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(x,HX_("FORM_TYPE",d5,96,c9,5a));
-HXDLIN( 76) ::Array< ::String > tmp1;
-HXDLIN( 76) if (::hx::IsNotNull( tmp )) {
-HXLINE( 76) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_86_new)
+HXLINE( 86) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(x,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN( 86) ::Array< ::String > tmp1;
+HXDLIN( 86) if (::hx::IsNotNull( tmp )) {
+HXLINE( 86) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
}
else {
-HXLINE( 76) tmp1 = null();
+HXLINE( 86) tmp1 = null();
}
-HXDLIN( 76) ::Array< ::String > _hx_tmp;
-HXDLIN( 76) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 76) _hx_tmp = tmp1;
+HXDLIN( 86) ::Array< ::String > _hx_tmp;
+HXDLIN( 86) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 86) _hx_tmp = tmp1;
}
else {
-HXLINE( 76) _hx_tmp = ::Array_obj< ::String >::__new(0);
+HXLINE( 86) _hx_tmp = ::Array_obj< ::String >::__new(0);
}
-HXDLIN( 76) ::String _hx_tmp1 = _hx_tmp->join(HX_("\n",0a,00,00,00));
-HXDLIN( 76) ::borogove::Stanza tmp2 = ::borogove::_DataForm::DataForm_Impl__obj::field(y,HX_("FORM_TYPE",d5,96,c9,5a));
-HXDLIN( 76) ::Array< ::String > tmp3;
-HXDLIN( 76) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 76) tmp3 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp2);
+HXDLIN( 86) ::String _hx_tmp1 = _hx_tmp->join(HX_("\n",0a,00,00,00));
+HXDLIN( 86) ::borogove::Stanza tmp2 = ::borogove::_DataForm::DataForm_Impl__obj::field(y,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN( 86) ::Array< ::String > tmp3;
+HXDLIN( 86) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 86) tmp3 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp2);
}
else {
-HXLINE( 76) tmp3 = null();
+HXLINE( 86) tmp3 = null();
}
-HXDLIN( 76) ::Array< ::String > _hx_tmp2;
-HXDLIN( 76) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 76) _hx_tmp2 = tmp3;
+HXDLIN( 86) ::Array< ::String > _hx_tmp2;
+HXDLIN( 86) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 86) _hx_tmp2 = tmp3;
}
else {
-HXLINE( 76) _hx_tmp2 = ::Array_obj< ::String >::__new(0);
+HXLINE( 86) _hx_tmp2 = ::Array_obj< ::String >::__new(0);
}
-HXDLIN( 76) return ::Reflect_obj::compare(_hx_tmp1,_hx_tmp2->join(HX_("\n",0a,00,00,00)));
+HXDLIN( 86) return ::Reflect_obj::compare(_hx_tmp1,_hx_tmp2->join(HX_("\n",0a,00,00,00)));
}
HX_END_LOCAL_FUNC2(return)
-HXLINE( 74) features->sort( ::Dynamic(new _hx_Closure_0()));
-HXLINE( 75) identities->sort( ::Dynamic(new _hx_Closure_1()));
-HXLINE( 76) data->sort( ::Dynamic(new _hx_Closure_2()));
+HXLINE( 84) features->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 85) identities->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 86) data->sort( ::Dynamic(new _hx_Closure_2()));
}
-HXLINE( 79) this->node = node;
-HXLINE( 80) this->identities = identities;
-HXLINE( 81) this->features = features;
-HXLINE( 82) this->data = data;
-HXLINE( 83) if (::hx::IsNotNull( ver )) {
-HXLINE( 84) this->_ver = ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),ver);
+HXLINE( 89) this->node = node;
+HXLINE( 90) this->identities = identities;
+HXLINE( 91) this->features = features;
+HXLINE( 92) this->data = data;
+HXLINE( 93) if (::hx::IsNotNull( ver )) {
+HXLINE( 94) this->_ver = ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),ver);
}
}
@@ -167,292 +177,292 @@ bool Caps_obj::_hx_isInstanceOf(int inClassId) {
}
bool Caps_obj::isChannel(::String chatId){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_94_isChannel)
-HXLINE( 95) if ((chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
-HXLINE( 95) return false;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_104_isChannel)
+HXLINE( 105) if ((chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
+HXLINE( 105) return false;
}
-HXLINE( 96) if (this->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6))) {
+HXLINE( 106) if (this->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6))) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Identity identity){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_96_isChannel)
-HXLINE( 96) return (identity->category == HX_("conference",1c,2b,83,41));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_106_isChannel)
+HXLINE( 106) return (identity->category == HX_("conference",1c,2b,83,41));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 96) return ::hx::IsNotNull( ::Lambda_obj::find(this->identities, ::Dynamic(new _hx_Closure_0())) );
+HXLINE( 106) return ::hx::IsNotNull( ::Lambda_obj::find(this->identities, ::Dynamic(new _hx_Closure_0())) );
}
else {
-HXLINE( 96) return false;
+HXLINE( 106) return false;
}
-HXDLIN( 96) return false;
+HXDLIN( 106) return false;
}
HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,isChannel,return )
::borogove::Stanza Caps_obj::discoReply(){
- HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_102_discoReply)
-HXLINE( 103) ::borogove::Stanza query = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b))));
-HXLINE( 104) {
-HXLINE( 104) int _g = 0;
-HXDLIN( 104) ::Array< ::Dynamic> _g1 = this->identities;
-HXDLIN( 104) while((_g < _g1->length)){
-HXLINE( 104) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
-HXDLIN( 104) _g = (_g + 1);
-HXLINE( 105) identity->addToDisco(query);
+ HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_112_discoReply)
+HXLINE( 113) ::borogove::Stanza query = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b))),null());
+HXLINE( 114) {
+HXLINE( 114) int _g = 0;
+HXDLIN( 114) ::Array< ::Dynamic> _g1 = this->identities;
+HXDLIN( 114) while((_g < _g1->length)){
+HXLINE( 114) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
+HXDLIN( 114) _g = (_g + 1);
+HXLINE( 115) identity->addToDisco(query);
}
}
-HXLINE( 107) {
-HXLINE( 107) int _g2 = 0;
-HXDLIN( 107) ::Array< ::String > _g3 = this->features;
-HXDLIN( 107) while((_g2 < _g3->length)){
-HXLINE( 107) ::String feature = _g3->__get(_g2);
-HXDLIN( 107) _g2 = (_g2 + 1);
-HXLINE( 108) query->tag(HX_("feature",b6,f2,7c,1a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),feature)))->up();
+HXLINE( 117) {
+HXLINE( 117) int _g2 = 0;
+HXDLIN( 117) ::Array< ::String > _g3 = this->features;
+HXDLIN( 117) while((_g2 < _g3->length)){
+HXLINE( 117) ::String feature = _g3->__get(_g2);
+HXDLIN( 117) _g2 = (_g2 + 1);
+HXLINE( 118) query->tag(HX_("feature",b6,f2,7c,1a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),feature)),null())->up();
}
}
-HXLINE( 110) query->addChildren(this->data);
-HXLINE( 111) return query;
+HXLINE( 120) query->addChildren(this->data);
+HXLINE( 121) return query;
}
HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,discoReply,return )
::borogove::Stanza Caps_obj::addC( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_120_addC)
-HXLINE( 124) ::String _hx_tmp = this->node;
-HXLINE( 121) stanza->tag(HX_("c",63,00,00,00), ::Dynamic(::hx::Anon_obj::Create(4)
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_130_addC)
+HXLINE( 134) ::String _hx_tmp = this->node;
+HXLINE( 131) stanza->tag(HX_("c",63,00,00,00), ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("ver",63,e2,59,00),this->ver())
->setFixed(1,HX_("hash",ce,2f,08,45),HX_("sha-1",90,a8,1c,7c))
->setFixed(2,HX_("node",02,0a,0a,49),_hx_tmp)
- ->setFixed(3,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/caps",95,d0,90,e2))))->up();
-HXLINE( 127) bool _hx_tmp1;
-HXDLIN( 127) bool _hx_tmp2;
-HXDLIN( 127) if ((this->identities->length <= 0)) {
-HXLINE( 127) _hx_tmp2 = (this->features->length > 0);
+ ->setFixed(3,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/caps",95,d0,90,e2))),null())->up();
+HXLINE( 137) bool _hx_tmp1;
+HXDLIN( 137) bool _hx_tmp2;
+HXDLIN( 137) if ((this->identities->length <= 0)) {
+HXLINE( 137) _hx_tmp2 = (this->features->length > 0);
}
else {
-HXLINE( 127) _hx_tmp2 = true;
+HXLINE( 137) _hx_tmp2 = true;
}
-HXDLIN( 127) if (!(_hx_tmp2)) {
-HXLINE( 127) _hx_tmp1 = (this->data->length > 0);
+HXDLIN( 137) if (!(_hx_tmp2)) {
+HXLINE( 137) _hx_tmp1 = (this->data->length > 0);
}
else {
-HXLINE( 127) _hx_tmp1 = true;
+HXLINE( 137) _hx_tmp1 = true;
}
-HXDLIN( 127) if (_hx_tmp1) {
-HXLINE( 128) ::borogove::Stanza _hx_tmp3 = stanza->tag(HX_("c",63,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:caps",3d,5a,a1,f4))));
-HXLINE( 132) ::String _hx_tmp4 = ::borogove::Hash_obj::sha256(this->hashInput())->toBase64();
-HXLINE( 128) _hx_tmp3->textTag(HX_("hash",ce,2f,08,45),_hx_tmp4, ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 137) if (_hx_tmp1) {
+HXLINE( 138) ::borogove::Stanza _hx_tmp3 = stanza->tag(HX_("c",63,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:caps",3d,5a,a1,f4))),null());
+HXLINE( 142) ::String _hx_tmp4 = ::borogove::Hash_obj::sha256(this->hashInput())->toBase64();
+HXLINE( 138) _hx_tmp3->textTag(HX_("hash",ce,2f,08,45),_hx_tmp4, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("algo",d3,ff,6f,40),HX_("sha-256",32,dd,04,3b))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hashes:2",90,ad,87,c7))))->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hashes:2",90,ad,87,c7))),null())->up();
}
-HXLINE( 136) return stanza;
+HXLINE( 146) return stanza;
}
HX_DEFINE_DYNAMIC_FUNC1(Caps_obj,addC,return )
::haxe::io::Bytes Caps_obj::hashInput(){
- HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_139_hashInput)
-HXLINE( 140) ::haxe::io::BytesOutput s = ::haxe::io::BytesOutput_obj::__alloc( HX_CTX );
-HXLINE( 141) {
-HXLINE( 141) int _g = 0;
-HXDLIN( 141) ::Array< ::String > _g1 = this->features;
-HXDLIN( 141) while((_g < _g1->length)){
-HXLINE( 141) ::String feature = _g1->__get(_g);
-HXDLIN( 141) _g = (_g + 1);
-HXLINE( 142) {
-HXLINE( 142) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(feature,null());
-HXDLIN( 142) s->writeBytes(b,0,b->length);
+ HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_149_hashInput)
+HXLINE( 150) ::haxe::io::BytesOutput s = ::haxe::io::BytesOutput_obj::__alloc( HX_CTX );
+HXLINE( 151) {
+HXLINE( 151) int _g = 0;
+HXDLIN( 151) ::Array< ::String > _g1 = this->features;
+HXDLIN( 151) while((_g < _g1->length)){
+HXLINE( 151) ::String feature = _g1->__get(_g);
+HXDLIN( 151) _g = (_g + 1);
+HXLINE( 152) {
+HXLINE( 152) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(feature,null());
+HXDLIN( 152) s->writeBytes(b,0,b->length);
}
-HXLINE( 143) s->writeByte(31);
+HXLINE( 153) s->writeByte(31);
}
}
-HXLINE( 145) s->writeByte(28);
-HXLINE( 146) {
-HXLINE( 146) int _g2 = 0;
-HXDLIN( 146) ::Array< ::Dynamic> _g3 = this->identities;
-HXDLIN( 146) while((_g2 < _g3->length)){
-HXLINE( 146) ::borogove::Identity identity = _g3->__get(_g2).StaticCast< ::borogove::Identity >();
-HXDLIN( 146) _g2 = (_g2 + 1);
-HXLINE( 147) identity->writeTo(s);
+HXLINE( 155) s->writeByte(28);
+HXLINE( 156) {
+HXLINE( 156) int _g2 = 0;
+HXDLIN( 156) ::Array< ::Dynamic> _g3 = this->identities;
+HXDLIN( 156) while((_g2 < _g3->length)){
+HXLINE( 156) ::borogove::Identity identity = _g3->__get(_g2).StaticCast< ::borogove::Identity >();
+HXDLIN( 156) _g2 = (_g2 + 1);
+HXLINE( 157) identity->writeTo(s);
}
}
-HXLINE( 149) s->writeByte(28);
-HXLINE( 150) {
-HXLINE( 150) int _g4 = 0;
-HXDLIN( 150) ::Array< ::Dynamic> _g5 = this->data;
-HXDLIN( 150) while((_g4 < _g5->length)){
+HXLINE( 159) s->writeByte(28);
+HXLINE( 160) {
+HXLINE( 160) int _g4 = 0;
+HXDLIN( 160) ::Array< ::Dynamic> _g5 = this->data;
+HXDLIN( 160) while((_g4 < _g5->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run( ::borogove::Stanza x, ::borogove::Stanza y){
- HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_152_hashInput)
-HXLINE( 152) ::String tmp = ( (::String)(::Reflect_obj::field(x->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 152) ::String _hx_tmp;
-HXDLIN( 152) if (::hx::IsNotNull( tmp )) {
-HXLINE( 152) _hx_tmp = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_162_hashInput)
+HXLINE( 162) ::String tmp = x->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 162) ::String _hx_tmp;
+HXDLIN( 162) if (::hx::IsNotNull( tmp )) {
+HXLINE( 162) _hx_tmp = tmp;
}
else {
-HXLINE( 152) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 162) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 152) ::String _hx_tmp1 = ::Array_obj< ::String >::__new(1)->init(0,_hx_tmp)->concat(::borogove::_DataForm::Field_Impl__obj::get_value(x))->join(HX_("\x1f""",1f,00,00,00));
-HXDLIN( 152) ::String tmp1 = ( (::String)(::Reflect_obj::field(y->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 152) ::String _hx_tmp2;
-HXDLIN( 152) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 152) _hx_tmp2 = tmp1;
+HXDLIN( 162) ::String _hx_tmp1 = ::Array_obj< ::String >::__new(1)->init(0,_hx_tmp)->concat(::borogove::_DataForm::Field_Impl__obj::get_value(x))->join(HX_("\x1f""",1f,00,00,00));
+HXDLIN( 162) ::String tmp1 = y->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 162) ::String _hx_tmp2;
+HXDLIN( 162) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 162) _hx_tmp2 = tmp1;
}
else {
-HXLINE( 152) _hx_tmp2 = HX_("",00,00,00,00);
+HXLINE( 162) _hx_tmp2 = HX_("",00,00,00,00);
}
-HXDLIN( 152) return ::Reflect_obj::compare(_hx_tmp1,::Array_obj< ::String >::__new(1)->init(0,_hx_tmp2)->concat(::borogove::_DataForm::Field_Impl__obj::get_value(y))->join(HX_("\x1f""",1f,00,00,00)));
+HXDLIN( 162) return ::Reflect_obj::compare(_hx_tmp1,::Array_obj< ::String >::__new(1)->init(0,_hx_tmp2)->concat(::borogove::_DataForm::Field_Impl__obj::get_value(y))->join(HX_("\x1f""",1f,00,00,00)));
}
HX_END_LOCAL_FUNC2(return)
-HXLINE( 150) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
-HXDLIN( 150) _g4 = (_g4 + 1);
-HXLINE( 151) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
-HXLINE( 152) fields->sort( ::Dynamic(new _hx_Closure_0()));
-HXLINE( 153) {
-HXLINE( 153) int _g6 = 0;
-HXDLIN( 153) while((_g6 < fields->length)){
-HXLINE( 153) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
-HXDLIN( 153) _g6 = (_g6 + 1);
-HXLINE( 154) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
-HXLINE( 155) values->sort(::Reflect_obj::compare_dyn());
-HXLINE( 156) {
-HXLINE( 156) ::String s1;
-HXDLIN( 156) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 156) if (::hx::IsNotNull( tmp )) {
-HXLINE( 156) s1 = tmp;
+HXLINE( 160) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
+HXDLIN( 160) _g4 = (_g4 + 1);
+HXLINE( 161) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
+HXLINE( 162) fields->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 163) {
+HXLINE( 163) int _g6 = 0;
+HXDLIN( 163) while((_g6 < fields->length)){
+HXLINE( 163) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
+HXDLIN( 163) _g6 = (_g6 + 1);
+HXLINE( 164) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 165) values->sort(::Reflect_obj::compare_dyn());
+HXLINE( 166) {
+HXLINE( 166) ::String s1;
+HXDLIN( 166) ::String tmp = field->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 166) if (::hx::IsNotNull( tmp )) {
+HXLINE( 166) s1 = tmp;
}
else {
-HXLINE( 156) s1 = HX_("",00,00,00,00);
+HXLINE( 166) s1 = HX_("",00,00,00,00);
}
-HXDLIN( 156) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(s1,null());
-HXDLIN( 156) s->writeBytes(b1,0,b1->length);
+HXDLIN( 166) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(s1,null());
+HXDLIN( 166) s->writeBytes(b1,0,b1->length);
}
-HXLINE( 157) s->writeByte(31);
-HXLINE( 158) {
-HXLINE( 158) int _g7 = 0;
-HXDLIN( 158) while((_g7 < values->length)){
-HXLINE( 158) ::String value = values->__get(_g7);
-HXDLIN( 158) _g7 = (_g7 + 1);
-HXLINE( 159) {
-HXLINE( 159) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(value,null());
-HXDLIN( 159) s->writeBytes(b2,0,b2->length);
+HXLINE( 167) s->writeByte(31);
+HXLINE( 168) {
+HXLINE( 168) int _g7 = 0;
+HXDLIN( 168) while((_g7 < values->length)){
+HXLINE( 168) ::String value = values->__get(_g7);
+HXDLIN( 168) _g7 = (_g7 + 1);
+HXLINE( 169) {
+HXLINE( 169) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(value,null());
+HXDLIN( 169) s->writeBytes(b2,0,b2->length);
}
-HXLINE( 160) s->writeByte(31);
+HXLINE( 170) s->writeByte(31);
}
}
-HXLINE( 162) s->writeByte(30);
+HXLINE( 172) s->writeByte(30);
}
}
-HXLINE( 164) s->writeByte(29);
+HXLINE( 174) s->writeByte(29);
}
}
-HXLINE( 166) s->writeByte(28);
-HXLINE( 167) return s->getBytes();
+HXLINE( 176) s->writeByte(28);
+HXLINE( 177) return s->getBytes();
}
HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,hashInput,return )
::borogove::Hash Caps_obj::computeVer(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_170_computeVer)
-HXLINE( 171) ::String s = HX_("",00,00,00,00);
-HXLINE( 172) {
-HXLINE( 172) int _g = 0;
-HXDLIN( 172) ::Array< ::Dynamic> _g1 = this->identities;
-HXDLIN( 172) while((_g < _g1->length)){
-HXLINE( 172) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
-HXDLIN( 172) _g = (_g + 1);
-HXLINE( 173) s = (s + (identity->ver() + HX_("<",3c,00,00,00)));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_180_computeVer)
+HXLINE( 181) ::String s = HX_("",00,00,00,00);
+HXLINE( 182) {
+HXLINE( 182) int _g = 0;
+HXDLIN( 182) ::Array< ::Dynamic> _g1 = this->identities;
+HXDLIN( 182) while((_g < _g1->length)){
+HXLINE( 182) ::borogove::Identity identity = _g1->__get(_g).StaticCast< ::borogove::Identity >();
+HXDLIN( 182) _g = (_g + 1);
+HXLINE( 183) s = (s + (identity->ver() + HX_("<",3c,00,00,00)));
}
}
-HXLINE( 175) {
-HXLINE( 175) int _g2 = 0;
-HXDLIN( 175) ::Array< ::String > _g3 = this->features;
-HXDLIN( 175) while((_g2 < _g3->length)){
-HXLINE( 175) ::String feature = _g3->__get(_g2);
-HXDLIN( 175) _g2 = (_g2 + 1);
-HXLINE( 176) s = (s + (feature + HX_("<",3c,00,00,00)));
+HXLINE( 185) {
+HXLINE( 185) int _g2 = 0;
+HXDLIN( 185) ::Array< ::String > _g3 = this->features;
+HXDLIN( 185) while((_g2 < _g3->length)){
+HXLINE( 185) ::String feature = _g3->__get(_g2);
+HXDLIN( 185) _g2 = (_g2 + 1);
+HXLINE( 186) s = (s + (feature + HX_("<",3c,00,00,00)));
}
}
-HXLINE( 178) {
-HXLINE( 178) int _g4 = 0;
-HXDLIN( 178) ::Array< ::Dynamic> _g5 = this->data;
-HXDLIN( 178) while((_g4 < _g5->length)){
+HXLINE( 188) {
+HXLINE( 188) int _g4 = 0;
+HXDLIN( 188) ::Array< ::Dynamic> _g5 = this->data;
+HXDLIN( 188) while((_g4 < _g5->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run( ::borogove::Stanza x, ::borogove::Stanza y){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_183_computeVer)
-HXLINE( 183) ::String _hx_tmp;
-HXDLIN( 183) ::String tmp = ( (::String)(::Reflect_obj::field(x->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 183) if (::hx::IsNotNull( tmp )) {
-HXLINE( 183) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_193_computeVer)
+HXLINE( 193) ::String _hx_tmp;
+HXDLIN( 193) ::String tmp = x->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 193) if (::hx::IsNotNull( tmp )) {
+HXLINE( 193) _hx_tmp = tmp;
}
else {
-HXLINE( 183) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 193) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 183) ::String tmp1 = ( (::String)(::Reflect_obj::field(y->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 183) ::String _hx_tmp1;
-HXDLIN( 183) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 183) _hx_tmp1 = tmp1;
+HXDLIN( 193) ::String tmp1 = y->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 193) ::String _hx_tmp1;
+HXDLIN( 193) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 193) _hx_tmp1 = tmp1;
}
else {
-HXLINE( 183) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE( 193) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN( 183) return ::Reflect_obj::compare(_hx_tmp,_hx_tmp1);
+HXDLIN( 193) return ::Reflect_obj::compare(_hx_tmp,_hx_tmp1);
}
HX_END_LOCAL_FUNC2(return)
-HXLINE( 178) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
-HXDLIN( 178) _g4 = (_g4 + 1);
-HXLINE( 179) ::borogove::Stanza formType = ::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("FORM_TYPE",d5,96,c9,5a));
-HXLINE( 180) ::String s1;
-HXDLIN( 180) if (::hx::IsNull( formType )) {
-HXLINE( 180) s1 = HX_("",00,00,00,00);
+HXLINE( 188) ::borogove::Stanza form = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
+HXDLIN( 188) _g4 = (_g4 + 1);
+HXLINE( 189) ::borogove::Stanza formType = ::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("FORM_TYPE",d5,96,c9,5a));
+HXLINE( 190) ::String s1;
+HXDLIN( 190) if (::hx::IsNull( formType )) {
+HXLINE( 190) s1 = HX_("",00,00,00,00);
}
else {
-HXLINE( 180) s1 = ::borogove::_DataForm::Field_Impl__obj::get_value(formType)->__get(0);
+HXLINE( 190) s1 = ::borogove::_DataForm::Field_Impl__obj::get_value(formType)->__get(0);
}
-HXDLIN( 180) s = (s + s1);
-HXLINE( 181) s = (s + HX_("<",3c,00,00,00));
-HXLINE( 182) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
-HXLINE( 183) fields->sort( ::Dynamic(new _hx_Closure_0()));
-HXLINE( 184) {
-HXLINE( 184) int _g6 = 0;
-HXDLIN( 184) while((_g6 < fields->length)){
-HXLINE( 184) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
-HXDLIN( 184) _g6 = (_g6 + 1);
-HXLINE( 185) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 185) ::String _hx_tmp;
-HXDLIN( 185) if (::hx::IsNotNull( tmp )) {
-HXLINE( 185) _hx_tmp = tmp;
+HXDLIN( 190) s = (s + s1);
+HXLINE( 191) s = (s + HX_("<",3c,00,00,00));
+HXLINE( 192) ::Array< ::Dynamic> fields = form->allTags(HX_("field",ba,94,93,00),null());
+HXLINE( 193) fields->sort( ::Dynamic(new _hx_Closure_0()));
+HXLINE( 194) {
+HXLINE( 194) int _g6 = 0;
+HXDLIN( 194) while((_g6 < fields->length)){
+HXLINE( 194) ::borogove::Stanza field = fields->__get(_g6).StaticCast< ::borogove::Stanza >();
+HXDLIN( 194) _g6 = (_g6 + 1);
+HXLINE( 195) ::String tmp = field->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 195) ::String _hx_tmp;
+HXDLIN( 195) if (::hx::IsNotNull( tmp )) {
+HXLINE( 195) _hx_tmp = tmp;
}
else {
-HXLINE( 185) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 195) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 185) if ((_hx_tmp != HX_("FORM_TYPE",d5,96,c9,5a))) {
-HXLINE( 186) ::String tmp1 = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 186) ::String s2;
-HXDLIN( 186) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 186) s2 = tmp1;
+HXDLIN( 195) if ((_hx_tmp != HX_("FORM_TYPE",d5,96,c9,5a))) {
+HXLINE( 196) ::String tmp1 = field->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 196) ::String s2;
+HXDLIN( 196) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 196) s2 = tmp1;
}
else {
-HXLINE( 186) s2 = HX_("",00,00,00,00);
+HXLINE( 196) s2 = HX_("",00,00,00,00);
}
-HXDLIN( 186) s = (s + (s2 + HX_("<",3c,00,00,00)));
-HXLINE( 187) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
-HXLINE( 188) values->sort(::Reflect_obj::compare_dyn());
-HXLINE( 189) {
-HXLINE( 189) int _g7 = 0;
-HXDLIN( 189) while((_g7 < values->length)){
-HXLINE( 189) ::String value = values->__get(_g7);
-HXDLIN( 189) _g7 = (_g7 + 1);
-HXLINE( 190) s = (s + (value + HX_("<",3c,00,00,00)));
+HXDLIN( 196) s = (s + (s2 + HX_("<",3c,00,00,00)));
+HXLINE( 197) ::Array< ::String > values = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 198) values->sort(::Reflect_obj::compare_dyn());
+HXLINE( 199) {
+HXLINE( 199) int _g7 = 0;
+HXDLIN( 199) while((_g7 < values->length)){
+HXLINE( 199) ::String value = values->__get(_g7);
+HXDLIN( 199) _g7 = (_g7 + 1);
+HXLINE( 200) s = (s + (value + HX_("<",3c,00,00,00)));
}
}
}
@@ -460,29 +470,29 @@ HXLINE( 190) s = (s + (value + HX_("<",3c,00,00,00)));
}
}
}
-HXLINE( 195) return ::borogove::Hash_obj::sha1(::haxe::io::Bytes_obj::ofString(s,null()));
+HXLINE( 205) return ::borogove::Hash_obj::sha1(::haxe::io::Bytes_obj::ofString(s,null()));
}
HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,computeVer,return )
::borogove::Hash Caps_obj::verRaw(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_201_verRaw)
-HXLINE( 202) ::borogove::Hash ver = this->_ver;
-HXLINE( 203) if (::hx::IsNotNull( ver )) {
-HXLINE( 203) return ver;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_211_verRaw)
+HXLINE( 212) ::borogove::Hash ver = this->_ver;
+HXLINE( 213) if (::hx::IsNotNull( ver )) {
+HXLINE( 213) return ver;
}
-HXLINE( 205) ::borogove::Hash newVer = this->computeVer();
-HXLINE( 206) this->_ver = newVer;
-HXLINE( 207) return newVer;
+HXLINE( 215) ::borogove::Hash newVer = this->computeVer();
+HXLINE( 216) this->_ver = newVer;
+HXLINE( 217) return newVer;
}
HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,verRaw,return )
::String Caps_obj::ver(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_214_ver)
-HXDLIN( 214) return this->verRaw()->toBase64();
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_224_ver)
+HXDLIN( 224) return this->verRaw()->toBase64();
}
@@ -491,44 +501,57 @@ HX_DEFINE_DYNAMIC_FUNC0(Caps_obj,ver,return )
::Dynamic Caps_obj::filter( ::Dynamic caps, ::Dynamic predicate){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,predicate, ::Dynamic,caps,::Array< ::Dynamic>,nextMatch) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_27_filter)
-HXLINE( 28) while(( (bool)(caps->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 29) ::Dynamic n = caps->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 30) if (( (bool)(predicate( ::Dynamic(n->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)))) )) {
-HXLINE( 31) nextMatch[0] = n;
-HXLINE( 32) return;
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_28_filter)
+HXLINE( 29) while(( (bool)(caps->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 30) ::Dynamic n = caps->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 31) if (( (bool)(predicate( ::Dynamic(n->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)))) )) {
+HXLINE( 32) nextMatch[0] = n;
+HXLINE( 33) return;
}
}
-HXLINE( 35) nextMatch[0] = null();
+HXLINE( 36) nextMatch[0] = null();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,findNext,::Array< bool >,initialized) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_40_filter)
+HXLINE( 40) if (!(initialized->__get(0))) {
+HXLINE( 41) initialized[0] = true;
+HXLINE( 42) findNext();
+ }
}
HX_END_LOCAL_FUNC0((void))
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,nextMatch) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,nextMatch, ::Dynamic,ensureInit) HXARGC(0)
bool _hx_run(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_41_filter)
-HXLINE( 41) return ::hx::IsNotNull( nextMatch->__get(0) );
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_47_filter)
+HXLINE( 48) ensureInit();
+HXLINE( 49) return ::hx::IsNotNull( nextMatch->__get(0) );
}
HX_END_LOCAL_FUNC0(return)
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,findNext,::Array< ::Dynamic>,nextMatch) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,findNext,::Array< ::Dynamic>,nextMatch, ::Dynamic,ensureInit) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_42_filter)
-HXLINE( 43) ::Dynamic r = nextMatch->__get(0);
-HXLINE( 44) if (::hx::IsNull( r )) {
-HXLINE( 44) HX_STACK_DO_THROW(HX_("No more elements",23,94,c5,f6));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_51_filter)
+HXLINE( 52) ensureInit();
+HXLINE( 53) ::Dynamic r = nextMatch->__get(0);
+HXLINE( 54) if (::hx::IsNull( r )) {
+HXLINE( 54) HX_STACK_DO_THROW(HX_("No more elements",23,94,c5,f6));
}
-HXLINE( 46) findNext();
-HXLINE( 47) return r;
+HXLINE( 56) findNext();
+HXLINE( 57) return r;
}
HX_END_LOCAL_FUNC0(return)
HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_24_filter)
HXLINE( 25) ::Array< ::Dynamic> nextMatch = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
-HXLINE( 27) ::Dynamic findNext = ::Dynamic(new _hx_Closure_0(predicate,caps,nextMatch));
-HXLINE( 38) findNext();
-HXLINE( 40) return ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("hasNext",6d,a5,46,18), ::Dynamic(new _hx_Closure_1(nextMatch)))
- ->setFixed(1,HX_("next",f3,84,02,49), ::Dynamic(new _hx_Closure_2(findNext,nextMatch))));
+HXLINE( 26) ::Array< bool > initialized = ::Array_obj< bool >::fromData( _hx_array_data_daf930ae_32,1);
+HXLINE( 28) ::Dynamic findNext = ::Dynamic(new _hx_Closure_0(predicate,caps,nextMatch));
+HXLINE( 39) ::Dynamic ensureInit = ::Dynamic(new _hx_Closure_1(findNext,initialized));
+HXLINE( 46) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("hasNext",6d,a5,46,18), ::Dynamic(new _hx_Closure_2(nextMatch,ensureInit)))
+ ->setFixed(1,HX_("next",f3,84,02,49), ::Dynamic(new _hx_Closure_3(findNext,nextMatch,ensureInit))));
}
@@ -539,36 +562,36 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC2(Caps_obj,filter,return )
bool _hx_run( ::borogove::Caps c){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::String,type,::String,category) HXARGC(1)
bool _hx_run( ::borogove::Identity identity){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_54_withIdentity)
-HXDLIN( 54) bool _hx_tmp;
-HXDLIN( 54) if (::hx::IsNotNull( category )) {
-HXDLIN( 54) _hx_tmp = (category == identity->category);
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_64_withIdentity)
+HXDLIN( 64) bool _hx_tmp;
+HXDLIN( 64) if (::hx::IsNotNull( category )) {
+HXDLIN( 64) _hx_tmp = (category == identity->category);
}
else {
-HXDLIN( 54) _hx_tmp = true;
+HXDLIN( 64) _hx_tmp = true;
}
-HXDLIN( 54) if (_hx_tmp) {
-HXDLIN( 54) if (::hx::IsNotNull( type )) {
-HXDLIN( 54) return (type == identity->type);
+HXDLIN( 64) if (_hx_tmp) {
+HXDLIN( 64) if (::hx::IsNotNull( type )) {
+HXDLIN( 64) return (type == identity->type);
}
else {
-HXDLIN( 54) return true;
+HXDLIN( 64) return true;
}
}
else {
-HXDLIN( 54) return false;
+HXDLIN( 64) return false;
}
-HXDLIN( 54) return false;
+HXDLIN( 64) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_54_withIdentity)
-HXDLIN( 54) return ::Lambda_obj::exists(c->identities, ::Dynamic(new _hx_Closure_0(type,category)));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_64_withIdentity)
+HXDLIN( 64) return ::Lambda_obj::exists(c->identities, ::Dynamic(new _hx_Closure_0(type,category)));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_54_withIdentity)
-HXDLIN( 54) return ::borogove::Caps_obj::filter(caps, ::Dynamic(new _hx_Closure_1(type,category)));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_64_withIdentity)
+HXDLIN( 64) return ::borogove::Caps_obj::filter(caps, ::Dynamic(new _hx_Closure_1(type,category)));
}
@@ -577,13 +600,13 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(Caps_obj,withIdentity,return )
::Dynamic Caps_obj::withFeature( ::Dynamic caps,::String feature){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,feature) HXARGC(1)
bool _hx_run( ::borogove::Caps c){
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_59_withFeature)
-HXDLIN( 59) return c->features->contains(feature);
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_69_withFeature)
+HXDLIN( 69) return c->features->contains(feature);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_59_withFeature)
-HXDLIN( 59) return ::borogove::Caps_obj::filter(caps, ::Dynamic(new _hx_Closure_0(feature)));
+ HX_STACKFRAME(&_hx_pos_4d51f4c65f9a1a9f_69_withFeature)
+HXDLIN( 69) return ::borogove::Caps_obj::filter(caps, ::Dynamic(new _hx_Closure_0(feature)));
}
diff --git a/Sources/c_borogove/src/borogove/CapsRepo.cpp b/Sources/c_borogove/src/borogove/CapsRepo.cpp
index 5707fff..b6cb648 100644
--- a/Sources/c_borogove/src/borogove/CapsRepo.cpp
+++ b/Sources/c_borogove/src/borogove/CapsRepo.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_Caps
#include <borogove/Caps.h>
#endif
@@ -94,7 +91,7 @@ HXLINE( 38) return ::thenshim::_Promise::Promise_Impl__obj::resolve(result);
HX_STACKFRAME(&_hx_pos_92d2b0aa8e71fa73_28_getAsync)
HXDLIN( 28) ::borogove::CapsRepo _gthis = ::hx::ObjectPtr<OBJ_>(this);
HXLINE( 29) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXDLIN( 29) ::Dynamic tmp;
+HXDLIN( 29) ::haxe::ds::StringMap tmp;
HXDLIN( 29) if (::hx::IsNotNull( c )) {
HXLINE( 29) tmp = c->attr;
}
@@ -103,7 +100,7 @@ HXLINE( 29) tmp = null();
}
HXDLIN( 29) ::String ver;
HXDLIN( 29) if (::hx::IsNotNull( tmp )) {
-HXLINE( 29) ver = ( (::String)(::Reflect_obj::field(tmp,HX_("ver",63,e2,59,00))) );
+HXLINE( 29) ver = tmp->get_string(HX_("ver",63,e2,59,00));
}
else {
HXLINE( 29) ver = null();
@@ -124,7 +121,7 @@ HX_DEFINE_DYNAMIC_FUNC1(CapsRepo_obj,getAsync,return )
::borogove::Caps CapsRepo_obj::get( ::borogove::Stanza presence){
HX_STACKFRAME(&_hx_pos_92d2b0aa8e71fa73_42_get)
HXLINE( 43) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXDLIN( 43) ::Dynamic tmp;
+HXDLIN( 43) ::haxe::ds::StringMap tmp;
HXDLIN( 43) if (::hx::IsNotNull( c )) {
HXLINE( 43) tmp = c->attr;
}
@@ -133,7 +130,7 @@ HXLINE( 43) tmp = null();
}
HXDLIN( 43) ::String ver;
HXDLIN( 43) if (::hx::IsNotNull( tmp )) {
-HXLINE( 43) ver = ( (::String)(::Reflect_obj::field(tmp,HX_("ver",63,e2,59,00))) );
+HXLINE( 43) ver = tmp->get_string(HX_("ver",63,e2,59,00));
}
else {
HXLINE( 43) ver = null();
diff --git a/Sources/c_borogove/src/borogove/Channel.cpp b/Sources/c_borogove/src/borogove/Channel.cpp
index 18c626b..18f0fd0 100644
--- a/Sources/c_borogove/src/borogove/Channel.cpp
+++ b/Sources/c_borogove/src/borogove/Channel.cpp
@@ -16,9 +16,15 @@
#ifndef INCLUDED__FractionalIndexing_FractionalIndexing_Fields_
#include <_FractionalIndexing/FractionalIndexing_Fields_.h>
#endif
+#ifndef INCLUDED__HaxeCBridge_HaxeArray_Impl_
+#include <_HaxeCBridge/HaxeArray_Impl_.h>
+#endif
#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
#include <_UUIDv7/UUIDv7_Fields_.h>
#endif
+#ifndef INCLUDED_borogove_AttachmentSource
+#include <borogove/AttachmentSource.h>
+#endif
#ifndef INCLUDED_borogove_AvailableChat
#include <borogove/AvailableChat.h>
#endif
@@ -31,9 +37,15 @@
#ifndef INCLUDED_borogove_Channel
#include <borogove/Channel.h>
#endif
+#ifndef INCLUDED_borogove_ChannelPinger
+#include <borogove/ChannelPinger.h>
+#endif
#ifndef INCLUDED_borogove_Chat
#include <borogove/Chat.h>
#endif
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
+#endif
#ifndef INCLUDED_borogove_ChatMessage
#include <borogove/ChatMessage.h>
#endif
@@ -43,6 +55,9 @@
#ifndef INCLUDED_borogove_Client
#include <borogove/Client.h>
#endif
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
+#endif
#ifndef INCLUDED_borogove_CustomEmojiReaction
#include <borogove/CustomEmojiReaction.h>
#endif
@@ -94,6 +109,9 @@
#ifndef INCLUDED_borogove_ModerationAction
#include <borogove/ModerationAction.h>
#endif
+#ifndef INCLUDED_borogove_MucSettingsCommand
+#include <borogove/MucSettingsCommand.h>
+#endif
#ifndef INCLUDED_borogove_Outbox
#include <borogove/Outbox.h>
#endif
@@ -127,6 +145,9 @@
#ifndef INCLUDED_borogove__DataForm_Field_Impl_
#include <borogove/_DataForm/Field_Impl_.h>
#endif
+#ifndef INCLUDED_borogove__Source_Source_Impl_
+#include <borogove/_Source/Source_Impl_.h>
+#endif
#ifndef INCLUDED_borogove_queries_DiscoInfoGet
#include <borogove/queries/DiscoInfoGet.h>
#endif
@@ -145,12 +166,30 @@
#ifndef INCLUDED_haxe_Timer
#include <haxe/Timer.h>
#endif
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
+#endif
#ifndef INCLUDED_haxe_ds_StringMap
#include <haxe/ds/StringMap.h>
#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
+#ifndef INCLUDED_haxe_io_BytesOutput
+#include <haxe/io/BytesOutput.h>
+#endif
+#ifndef INCLUDED_haxe_io_Input
+#include <haxe/io/Input.h>
+#endif
+#ifndef INCLUDED_haxe_io_Output
+#include <haxe/io/Output.h>
+#endif
+#ifndef INCLUDED_sys_io_File
+#include <sys/io/File.h>
+#endif
+#ifndef INCLUDED_sys_io_FileInput
+#include <sys/io/FileInput.h>
+#endif
#ifndef INCLUDED_thenshim_PromiseTools
#include <thenshim/PromiseTools.h>
#endif
@@ -160,160 +199,251 @@
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_chunk_ByteChunk
+#include <tink/chunk/ByteChunk.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ChunkBase
+#include <tink/chunk/ChunkBase.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ChunkObject
+#include <tink/chunk/ChunkObject.h>
+#endif
+#ifndef INCLUDED_tink_core_LinkObject
+#include <tink/core/LinkObject.h>
+#endif
+#ifndef INCLUDED_tink_core__Future_FutureObject
+#include <tink/core/_Future/FutureObject.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_Computable
+#include <tink/core/_Lazy/Computable.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyConst
+#include <tink/core/_Lazy/LazyConst.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyObject
+#include <tink/core/_Lazy/LazyObject.h>
+#endif
+#ifndef INCLUDED_tink_io_PipeResult
+#include <tink/io/PipeResult.h>
+#endif
+#ifndef INCLUDED_tink_io_SinkBase
+#include <tink/io/SinkBase.h>
+#endif
+#ifndef INCLUDED_tink_io_SinkObject
+#include <tink/io/SinkObject.h>
+#endif
+#ifndef INCLUDED_tink_io_WorkerObject
+#include <tink/io/WorkerObject.h>
+#endif
+#ifndef INCLUDED_tink_io__Source_Source_Impl_
+#include <tink/io/_Source/Source_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_io__Worker_Worker_Impl_
+#include <tink/io/_Worker/Worker_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_io_std_InputSource
+#include <tink/io/std/InputSource.h>
+#endif
+#ifndef INCLUDED_tink_io_std_OutputSink
+#include <tink/io/std/OutputSink.h>
+#endif
+#ifndef INCLUDED_tink_streams_Generator
+#include <tink/streams/Generator.h>
+#endif
+#ifndef INCLUDED_tink_streams_Single
+#include <tink/streams/Single.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamBase
+#include <tink/streams/StreamBase.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1430_new,"borogove.Channel","new",0x12050648,"borogove.Channel.new","borogove/Chat.hx",1430,0x1763ae98)
+HX_DEFINE_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1528_new,"borogove.Channel","new",0x12050648,"borogove.Channel.new","borogove/Chat.hx",1528,0x1763ae98)
static const ::String _hx_array_data_da6a8256_1[] = {
HX_("http://jabber.org/protocol/muc",07,b2,7f,c6),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1487_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1487,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1476_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1476,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1462_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1462,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1468_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1468,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1517_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1517,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1528_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1528,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1509_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1509,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1503_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1503,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1542_selfPingSuccess,"borogove.Channel","selfPingSuccess",0x1336bf2d,"borogove.Channel.selfPingSuccess","borogove/Chat.hx",1542,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1534_selfPingSuccess,"borogove.Channel","selfPingSuccess",0x1336bf2d,"borogove.Channel.selfPingSuccess","borogove/Chat.hx",1534,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1545_getDisplayName,"borogove.Channel","getDisplayName",0x49aca7cf,"borogove.Channel.getDisplayName","borogove/Chat.hx",1545,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1561_subject,"borogove.Channel","subject",0x396e4b94,"borogove.Channel.subject","borogove/Chat.hx",1561,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1568_description,"borogove.Channel","description",0x2f5266e4,"borogove.Channel.description","borogove/Chat.hx",1568,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1572_info,"borogove.Channel","info",0xaf192d86,"borogove.Channel.info","borogove/Chat.hx",1572,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1575_invite,"borogove.Channel","invite",0x94735ce1,"borogove.Channel.invite","borogove/Chat.hx",1575,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1588_canInvite,"borogove.Channel","canInvite",0x7f9cd9e1,"borogove.Channel.canInvite","borogove/Chat.hx",1588,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1600_canSend,"borogove.Channel","canSend",0x7a8ebf60,"borogove.Channel.canSend","borogove/Chat.hx",1600,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1610_canModerate,"borogove.Channel","canModerate",0xd0f331db,"borogove.Channel.canModerate","borogove/Chat.hx",1610,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1623_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1623,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1624_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1624,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1620_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1620,0x1763ae98)
-static const bool _hx_array_data_da6a8256_26[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1591_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1591,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1580_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1580,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1565_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1565,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1572_selfPing,"borogove.Channel","selfPing",0x11d6c136,"borogove.Channel.selfPing","borogove/Chat.hx",1572,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1626_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1626,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1637_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1637,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1613_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1613,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1607_join,"borogove.Channel","join",0xafc32902,"borogove.Channel.join","borogove/Chat.hx",1607,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1643_selfPingSuccess,"borogove.Channel","selfPingSuccess",0x1336bf2d,"borogove.Channel.selfPingSuccess","borogove/Chat.hx",1643,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1651_getDisplayName,"borogove.Channel","getDisplayName",0x49aca7cf,"borogove.Channel.getDisplayName","borogove/Chat.hx",1651,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1667_subject,"borogove.Channel","subject",0x396e4b94,"borogove.Channel.subject","borogove/Chat.hx",1667,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1673_canSetSubject,"borogove.Channel","canSetSubject",0x0459fa42,"borogove.Channel.canSetSubject","borogove/Chat.hx",1673,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_16[] = {
+ HX_("0",30,00,00,00),
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1690_setSubject,"borogove.Channel","setSubject",0xba2dfd42,"borogove.Channel.setSubject","borogove/Chat.hx",1690,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1700_description,"borogove.Channel","description",0x2f5266e4,"borogove.Channel.description","borogove/Chat.hx",1700,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1704_info,"borogove.Channel","info",0xaf192d86,"borogove.Channel.info","borogove/Chat.hx",1704,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1707_invite,"borogove.Channel","invite",0x94735ce1,"borogove.Channel.invite","borogove/Chat.hx",1707,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1720_canInvite,"borogove.Channel","canInvite",0x7f9cd9e1,"borogove.Channel.canInvite","borogove/Chat.hx",1720,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1732_canSend,"borogove.Channel","canSend",0x7a8ebf60,"borogove.Channel.canSend","borogove/Chat.hx",1732,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1742_canModerate,"borogove.Channel","canModerate",0xd0f331db,"borogove.Channel.canModerate","borogove/Chat.hx",1742,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1758_requestToSend,"borogove.Channel","requestToSend",0x8c6ad8fa,"borogove.Channel.requestToSend","borogove/Chat.hx",1758,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1754_requestToSend,"borogove.Channel","requestToSend",0x8c6ad8fa,"borogove.Channel.requestToSend","borogove/Chat.hx",1754,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1769_isOwner,"borogove.Channel","isOwner",0xe4e285d1,"borogove.Channel.isOwner","borogove/Chat.hx",1769,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1766_isOwner,"borogove.Channel","isOwner",0xe4e285d1,"borogove.Channel.isOwner","borogove/Chat.hx",1766,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1773_commands,"borogove.Channel","commands",0x97f011e0,"borogove.Channel.commands","borogove/Chat.hx",1773,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1772_commands,"borogove.Channel","commands",0x97f011e0,"borogove.Channel.commands","borogove/Chat.hx",1772,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1781_hasCommands,"borogove.Channel","hasCommands",0x6141f42a,"borogove.Channel.hasCommands","borogove/Chat.hx",1781,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1791_canSetPhoto,"borogove.Channel","canSetPhoto",0xd0054fc8,"borogove.Channel.canSetPhoto","borogove/Chat.hx",1791,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1799_setPhoto,"borogove.Channel","setPhoto",0xa9c292c8,"borogove.Channel.setPhoto","borogove/Chat.hx",1799,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1803_setPhoto,"borogove.Channel","setPhoto",0xa9c292c8,"borogove.Channel.setPhoto","borogove/Chat.hx",1803,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1821_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1821,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1822_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1822,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1818_getCaps,"borogove.Channel","getCaps",0x242315bf,"borogove.Channel.getCaps","borogove/Chat.hx",1818,0x1763ae98)
+static const bool _hx_array_data_da6a8256_38[] = {
1,
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1632_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1632,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1633_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1633,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1646_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1646,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1650_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1650,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1679_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1679,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1683_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1683,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1685_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1685,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1714_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1714,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1750_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1750,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1777_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1777,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1779_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1779,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1788_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1788,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1720_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1720,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1744_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1744,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1736_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1736,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1732_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1732,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1798_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1798,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1689_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1689,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1812_setTrusted,"borogove.Channel","setTrusted",0xa74cb38d,"borogove.Channel.setTrusted","borogove/Chat.hx",1812,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1818_isTrusted,"borogove.Channel","isTrusted",0xa81fc915,"borogove.Channel.isTrusted","borogove/Chat.hx",1818,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1825_isPrivate,"borogove.Channel","isPrivate",0x1ae83e21,"borogove.Channel.isPrivate","borogove/Chat.hx",1825,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1829_setupNotifications,"borogove.Channel","setupNotifications",0xe0d25d83,"borogove.Channel.setupNotifications","borogove/Chat.hx",1829,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1837_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1837,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1848_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1848,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1853_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1853,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1850_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1850,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1835_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",1835,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1865_preview,"borogove.Channel","preview",0x4bc129f0,"borogove.Channel.preview","borogove/Chat.hx",1865,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1872_livePresence,"borogove.Channel","livePresence",0x1293c65f,"borogove.Channel.livePresence","borogove/Chat.hx",1872,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1879_syncing,"borogove.Channel","syncing",0xb70d474f,"borogove.Channel.syncing","borogove/Chat.hx",1879,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1887_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",1887,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1883_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",1883,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1882_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",1882,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1895_canAudioCall,"borogove.Channel","canAudioCall",0x430d177c,"borogove.Channel.canAudioCall","borogove/Chat.hx",1895,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1899_canVideoCall,"borogove.Channel","canVideoCall",0x490fe9a1,"borogove.Channel.canVideoCall","borogove/Chat.hx",1899,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1903_nickInUse,"borogove.Channel","nickInUse",0xd519bea7,"borogove.Channel.nickInUse","borogove/Chat.hx",1903,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1908_getFullJid,"borogove.Channel","getFullJid",0x5d591998,"borogove.Channel.getFullJid","borogove/Chat.hx",1908,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1915_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",1915,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1912_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",1912,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1914_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",1914,0x1763ae98)
-static const ::String _hx_array_data_da6a8256_78[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1830_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1830,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1831_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1831,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1844_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1844,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1848_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1848,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1865_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1865,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1884_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1884,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1888_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1888,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1890_setPresence,"borogove.Channel","setPresence",0x676d79e5,"borogove.Channel.setPresence","borogove/Chat.hx",1890,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1944_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1944,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1980_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1980,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2011_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",2011,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2013_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",2013,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2022_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",2022,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1950_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1950,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1974_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1974,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1966_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1966,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1962_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1962,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2032_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",2032,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1894_doSync,"borogove.Channel","doSync",0x10faca9e,"borogove.Channel.doSync","borogove/Chat.hx",1894,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2046_setTrusted,"borogove.Channel","setTrusted",0xa74cb38d,"borogove.Channel.setTrusted","borogove/Chat.hx",2046,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2052_isTrusted,"borogove.Channel","isTrusted",0xa81fc915,"borogove.Channel.isTrusted","borogove/Chat.hx",2052,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2059_isPrivate,"borogove.Channel","isPrivate",0x1ae83e21,"borogove.Channel.isPrivate","borogove/Chat.hx",2059,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2063_setupNotifications,"borogove.Channel","setupNotifications",0xe0d25d83,"borogove.Channel.setupNotifications","borogove/Chat.hx",2063,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2071_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",2071,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2082_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",2082,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2087_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",2087,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2084_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",2084,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2069_refreshDisco,"borogove.Channel","refreshDisco",0x4bcfccb7,"borogove.Channel.refreshDisco","borogove/Chat.hx",2069,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2099_preview,"borogove.Channel","preview",0x4bc129f0,"borogove.Channel.preview","borogove/Chat.hx",2099,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2106_livePresence,"borogove.Channel","livePresence",0x1293c65f,"borogove.Channel.livePresence","borogove/Chat.hx",2106,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2112_syncing,"borogove.Channel","syncing",0xb70d474f,"borogove.Channel.syncing","borogove/Chat.hx",2112,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2119_inMessageSync,"borogove.Channel","inMessageSync",0x8e63dfc5,"borogove.Channel.inMessageSync","borogove/Chat.hx",2119,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2127_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",2127,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2123_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",2123,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2122_setLastMessage,"borogove.Channel","setLastMessage",0x879768a7,"borogove.Channel.setLastMessage","borogove/Chat.hx",2122,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2135_canAudioCall,"borogove.Channel","canAudioCall",0x430d177c,"borogove.Channel.canAudioCall","borogove/Chat.hx",2135,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2139_canVideoCall,"borogove.Channel","canVideoCall",0x490fe9a1,"borogove.Channel.canVideoCall","borogove/Chat.hx",2139,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2143_nickInUse,"borogove.Channel","nickInUse",0xd519bea7,"borogove.Channel.nickInUse","borogove/Chat.hx",2143,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2148_getFullJid,"borogove.Channel","getFullJid",0x5d591998,"borogove.Channel.getFullJid","borogove/Chat.hx",2148,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2155_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",2155,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2152_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",2152,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2154_members,"borogove.Channel","members",0x2a5676c1,"borogove.Channel.members","borogove/Chat.hx",2154,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_92[] = {
HX_("admin",8f,ac,4a,1c),HX_("owner",33,98,76,38),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1919_getMemberDetails,"borogove.Channel","getMemberDetails",0xf634642a,"borogove.Channel.getMemberDetails","borogove/Chat.hx",1919,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1925_buildMember,"borogove.Channel","buildMember",0x255c2610,"borogove.Channel.buildMember","borogove/Chat.hx",1925,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1926_buildMember,"borogove.Channel","buildMember",0x255c2610,"borogove.Channel.buildMember","borogove/Chat.hx",1926,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1966_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1966,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1970_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1970,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1963_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1963,0x1763ae98)
-static const ::String _hx_array_data_da6a8256_91[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2159_getMemberDetails,"borogove.Channel","getMemberDetails",0xf634642a,"borogove.Channel.getMemberDetails","borogove/Chat.hx",2159,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2169_voiceRequests,"borogove.Channel","voiceRequests",0xf22611fe,"borogove.Channel.voiceRequests","borogove/Chat.hx",2169,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_76be2635117be6b6_365_voiceRequests__fromC,"borogove.Channel","voiceRequests__fromC",0xc927ba3b,"borogove.Channel.voiceRequests__fromC","HaxeCBridge.hx",365,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2198_voiceRequestRespond,"borogove.Channel","voiceRequestRespond",0xc90cfd00,"borogove.Channel.voiceRequestRespond","borogove/Chat.hx",2198,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2179_voiceRequestRespond,"borogove.Channel","voiceRequestRespond",0xc90cfd00,"borogove.Channel.voiceRequestRespond","borogove/Chat.hx",2179,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2195_voiceRequestRespond,"borogove.Channel","voiceRequestRespond",0xc90cfd00,"borogove.Channel.voiceRequestRespond","borogove/Chat.hx",2195,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2175_voiceRequestRespond,"borogove.Channel","voiceRequestRespond",0xc90cfd00,"borogove.Channel.voiceRequestRespond","borogove/Chat.hx",2175,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2204_buildMember,"borogove.Channel","buildMember",0x255c2610,"borogove.Channel.buildMember","borogove/Chat.hx",2204,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2205_buildMember,"borogove.Channel","buildMember",0x255c2610,"borogove.Channel.buildMember","borogove/Chat.hx",2205,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2245_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2245,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2249_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2249,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2242_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2242,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_113[] = {
HX_("owner",33,98,76,38),HX_("admin",8f,ac,4a,1c),HX_("none",b8,12,0a,49),HX_("outcast",4d,1e,c5,db),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1967_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1967,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1971_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1971,0x1763ae98)
-static const ::String _hx_array_data_da6a8256_94[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2246_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2246,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2250_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2250,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_116[] = {
HX_("none",b8,12,0a,49),HX_("outcast",4d,1e,c5,db),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1973_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",1973,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1982_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",1982,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1986_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",1986,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1979_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",1979,0x1763ae98)
-static const ::String _hx_array_data_da6a8256_99[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2252_availableRoles,"borogove.Channel","availableRoles",0xa01e5ccc,"borogove.Channel.availableRoles","borogove/Chat.hx",2252,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2261_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",2261,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2265_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",2265,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2258_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",2258,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_121[] = {
HX_("owner",33,98,76,38),HX_("admin",8f,ac,4a,1c),HX_("none",b8,12,0a,49),HX_("outcast",4d,1e,c5,db),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1987_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",1987,0x1763ae98)
-static const ::String _hx_array_data_da6a8256_101[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2266_canRemoveRole,"borogove.Channel","canRemoveRole",0x50c0f9f2,"borogove.Channel.canRemoveRole","borogove/Chat.hx",2266,0x1763ae98)
+static const ::String _hx_array_data_da6a8256_123[] = {
HX_("admin",8f,ac,4a,1c),HX_("none",b8,12,0a,49),HX_("outcast",4d,1e,c5,db),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2001_addRole,"borogove.Channel","addRole",0x97d2781f,"borogove.Channel.addRole","borogove/Chat.hx",2001,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1995_addRole,"borogove.Channel","addRole",0x97d2781f,"borogove.Channel.addRole","borogove/Chat.hx",1995,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2006_removeRole,"borogove.Channel","removeRole",0x0694fcf2,"borogove.Channel.removeRole","borogove/Chat.hx",2006,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2014_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2014,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2020_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2020,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2010_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2010,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2038_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2038,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2044_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2044,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2031_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2031,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2055_getMessagesAround,"borogove.Channel","getMessagesAround",0x8ea35157,"borogove.Channel.getMessagesAround","borogove/Chat.hx",2055,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2063_prepareIncomingMessage,"borogove.Channel","prepareIncomingMessage",0xe60006d2,"borogove.Channel.prepareIncomingMessage","borogove/Chat.hx",2063,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2082_prepareOutgoingMessage,"borogove.Channel","prepareOutgoingMessage",0x4c2ccc0c,"borogove.Channel.prepareOutgoingMessage","borogove/Chat.hx",2082,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2103_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2103,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2110_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2110,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2097_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2097,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2125_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2125,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2117_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2117,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2140_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2140,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2138_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2138,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2146_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2146,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2181_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2181,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2157_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2157,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2175_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2175,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2193_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",2193,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2187_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",2187,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2198_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2198,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2213_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2213,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2197_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2197,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2239_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",2239,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2257_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",2257,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2217_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",2217,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2268_sendChatState,"borogove.Channel","sendChatState",0xbd4bc999,"borogove.Channel.sendChatState","borogove/Chat.hx",2268,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2284_close,"borogove.Channel","close",0x113b97a0,"borogove.Channel.close","borogove/Chat.hx",2284,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1430_boot,"borogove.Channel","boot",0xaa79794a,"borogove.Channel.boot","borogove/Chat.hx",1430,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2280_addRole,"borogove.Channel","addRole",0x97d2781f,"borogove.Channel.addRole","borogove/Chat.hx",2280,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2274_addRole,"borogove.Channel","addRole",0x97d2781f,"borogove.Channel.addRole","borogove/Chat.hx",2274,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2285_removeRole,"borogove.Channel","removeRole",0x0694fcf2,"borogove.Channel.removeRole","borogove/Chat.hx",2285,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2293_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2293,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2303_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2303,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2289_getMessagesBefore,"borogove.Channel","getMessagesBefore",0x72d1ad89,"borogove.Channel.getMessagesBefore","borogove/Chat.hx",2289,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2322_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2322,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2332_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2332,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2314_getMessagesAfter,"borogove.Channel","getMessagesAfter",0x9a967c52,"borogove.Channel.getMessagesAfter","borogove/Chat.hx",2314,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2343_getMessagesAround,"borogove.Channel","getMessagesAround",0x8ea35157,"borogove.Channel.getMessagesAround","borogove/Chat.hx",2343,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2351_prepareIncomingMessage,"borogove.Channel","prepareIncomingMessage",0xe60006d2,"borogove.Channel.prepareIncomingMessage","borogove/Chat.hx",2351,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2387_prepareOutgoingMessage,"borogove.Channel","prepareOutgoingMessage",0x4c2ccc0c,"borogove.Channel.prepareOutgoingMessage","borogove/Chat.hx",2387,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2418_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2418,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2425_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2425,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2412_correctMessage,"borogove.Channel","correctMessage",0x85df7995,"borogove.Channel.correctMessage","borogove/Chat.hx",2412,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2439_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2439,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2431_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2431,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2454_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2454,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2452_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2452,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2460_sendMessage,"borogove.Channel","sendMessage",0xf452e747,"borogove.Channel.sendMessage","borogove/Chat.hx",2460,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2495_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2495,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2471_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2471,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2489_removeReaction,"borogove.Channel","removeReaction",0x52276725,"borogove.Channel.removeReaction","borogove/Chat.hx",2489,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2503_defaultE2ee,"borogove.Channel","defaultE2ee",0xe4dd2d16,"borogove.Channel.defaultE2ee","borogove/Chat.hx",2503,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2502_defaultE2ee,"borogove.Channel","defaultE2ee",0xe4dd2d16,"borogove.Channel.defaultE2ee","borogove/Chat.hx",2502,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2525_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",2525,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2513_sendMessageStanza,"borogove.Channel","sendMessageStanza",0x9ef9e89c,"borogove.Channel.sendMessageStanza","borogove/Chat.hx",2513,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2547_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2547,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2562_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2562,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2546_markReadUpTo,"borogove.Channel","markReadUpTo",0x4caa3571,"borogove.Channel.markReadUpTo","borogove/Chat.hx",2546,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2566_bookmark,"borogove.Channel","bookmark",0x0c8bedce,"borogove.Channel.bookmark","borogove/Chat.hx",2566,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2588_sendChatState,"borogove.Channel","sendChatState",0xbd4bc999,"borogove.Channel.sendChatState","borogove/Chat.hx",2588,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_2604_close,"borogove.Channel","close",0x113b97a0,"borogove.Channel.close","borogove/Chat.hx",2604,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_bf6e937f28c6df5e_1528_boot,"borogove.Channel","boot",0xaa79794a,"borogove.Channel.boot","borogove/Chat.hx",1528,0x1763ae98)
namespace borogove{
void Channel_obj::__construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBookmarked,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::borogove::Caps disco){
int uiState = __o_uiState.Default(1);
bool isBookmarked = __o_isBookmarked.Default(false);
bool isBlocked = __o_isBlocked.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1430_new)
-HXLINE(1446) this->lastMessageSenderName = null();
-HXLINE(1445) this->sortId = null();
-HXLINE(1444) this->membersForName = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1442) this->mavUntil = null();
-HXLINE(1440) this->self = null();
-HXLINE(1438) this->forceLive = false;
-HXLINE(1437) this->sync = null();
-HXLINE(1436) this->joinFailed = null();
-HXLINE(1434) this->inSync = false;
-HXLINE(1432) this->disco = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_1,1),::Array_obj< ::Dynamic>::__new(0),null());
-HXLINE(1450) super::__construct(client,stream,persistence,chatId,uiState,isBookmarked,isBlocked,extensions,readUpToId,readUpToBy,null());
-HXLINE(1451) if (::hx::IsNotNull( disco )) {
-HXLINE(1452) this->disco = disco;
-HXLINE(1453) if (!(disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
-HXLINE(1455) this->forceLive = true;
-HXLINE(1456) this->outbox->start();
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1528_new)
+HXLINE(1545) this->lastMessageSenderName = null();
+HXLINE(1544) this->sortId = null();
+HXLINE(1542) this->membersForName = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1540) this->mavUntil = null();
+HXLINE(1538) this->self = null();
+HXLINE(1536) this->forceLive = false;
+HXLINE(1535) this->sync = null();
+HXLINE(1534) this->joinFailed = null();
+HXLINE(1532) this->inSync = false;
+HXLINE(1530) this->disco = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_1,1),::Array_obj< ::Dynamic>::__new(0),null());
+HXLINE(1549) super::__construct(client,stream,persistence,chatId,uiState,isBookmarked,isBlocked,extensions,readUpToId,readUpToBy,null());
+HXLINE(1550) ::haxe::Log_obj::trace(HX_("SYNC: channel inSync",1e,d0,1c,33), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("inSync",e0,98,c5,88),this->inSync)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("initialize",50,31,bb,ec)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1550)));
+HXLINE(1554) if (::hx::IsNotNull( disco )) {
+HXLINE(1555) this->disco = disco;
+HXLINE(1556) if (!(disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
+HXLINE(1558) this->forceLive = true;
+HXLINE(1559) this->outbox->start();
}
}
}
@@ -346,876 +476,1189 @@ void Channel_obj::selfPing(bool refresh){
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1487_selfPing)
-HXLINE(1487) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(1488) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN(1488) ::borogove::Stanza err;
-HXDLIN(1488) if (::hx::IsNotNull( tmp )) {
-HXLINE(1488) err = tmp->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1591_selfPing)
+HXLINE(1591) if (::hx::IsEq( response->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE(1592) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
+HXDLIN(1592) ::borogove::Stanza err;
+HXDLIN(1592) if (::hx::IsNotNull( tmp )) {
+HXLINE(1592) err = tmp->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
}
else {
-HXLINE(1488) err = null();
+HXLINE(1592) err = null();
}
-HXLINE(1489) bool _hx_tmp;
-HXDLIN(1489) if ((err->name != HX_("service-unavailable",f8,3c,11,1c))) {
-HXLINE(1489) _hx_tmp = (err->name == HX_("feature-not-implemented",71,20,2e,96));
+HXLINE(1593) bool _hx_tmp;
+HXDLIN(1593) if ((err->name != HX_("service-unavailable",f8,3c,11,1c))) {
+HXLINE(1593) _hx_tmp = (err->name == HX_("feature-not-implemented",71,20,2e,96));
}
else {
-HXLINE(1489) _hx_tmp = true;
+HXLINE(1593) _hx_tmp = true;
}
-HXDLIN(1489) if (_hx_tmp) {
-HXLINE(1489) _gthis->selfPingSuccess();
-HXDLIN(1489) return;
+HXDLIN(1593) if (_hx_tmp) {
+HXLINE(1593) _gthis->selfPingSuccess();
+HXDLIN(1593) return;
}
-HXLINE(1490) bool _hx_tmp1;
-HXDLIN(1490) if ((err->name != HX_("remote-server-not-found",e5,4f,ca,aa))) {
-HXLINE(1490) _hx_tmp1 = (err->name == HX_("remote-server-timeout",fe,b0,ee,1a));
+HXLINE(1594) bool _hx_tmp1;
+HXDLIN(1594) if ((err->name != HX_("remote-server-not-found",e5,4f,ca,aa))) {
+HXLINE(1594) _hx_tmp1 = (err->name == HX_("remote-server-timeout",fe,b0,ee,1a));
}
else {
-HXLINE(1490) _hx_tmp1 = true;
+HXLINE(1594) _hx_tmp1 = true;
}
-HXDLIN(1490) if (_hx_tmp1) {
-HXLINE(1490) _gthis->selfPingSuccess();
-HXDLIN(1490) return;
+HXDLIN(1594) if (_hx_tmp1) {
+HXLINE(1594) _gthis->selfPingSuccess();
+HXDLIN(1594) return;
}
-HXLINE(1491) if ((err->name == HX_("item-not-found",4e,b5,9b,5b))) {
-HXLINE(1491) _gthis->selfPingSuccess();
-HXDLIN(1491) return;
+HXLINE(1595) if ((err->name == HX_("item-not-found",4e,b5,9b,5b))) {
+HXLINE(1595) _gthis->selfPingSuccess();
+HXDLIN(1595) return;
}
-HXLINE(1492) ::haxe::Log_obj::trace(HX_("SYNC: self-ping fail, join",ea,45,f2,f0), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE(1596) ::haxe::Log_obj::trace(HX_("SYNC: self-ping fail, join",ea,45,f2,f0), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis->chatId))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("selfPing",1e,60,3c,38))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1492)));
-HXLINE(1493) _gthis->join();
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1596)));
+HXLINE(1597) _gthis->join(null());
}
else {
-HXLINE(1495) _gthis->selfPingSuccess();
+HXLINE(1599) _gthis->selfPingSuccess();
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1476_selfPing)
-HXLINE(1477) if (!(_gthis->disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
-HXLINE(1479) _gthis->forceLive = true;
-HXLINE(1480) _gthis->outbox->start();
-HXLINE(1481) return;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1580_selfPing)
+HXLINE(1581) if (!(_gthis->disco->features->contains(HX_("http://jabber.org/protocol/muc",07,b2,7f,c6)))) {
+HXLINE(1583) _gthis->forceLive = true;
+HXLINE(1584) _gthis->outbox->start();
+HXLINE(1585) return;
}
-HXLINE(1483) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXLINE(1484) ::String _hx_tmp = _gthis->getFullJid()->asString();
-HXLINE(1483) _gthis1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(1587) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXLINE(1588) ::String _hx_tmp = _gthis->getFullJid()->asString();
+HXLINE(1587) _gthis1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("to",7b,65,00,00),_hx_tmp)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("ping",72,f2,57,4a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:ping",8e,30,3f,fd))))->up(), ::Dynamic(new _hx_Closure_2(_gthis)));
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("ping",72,f2,57,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:ping",8e,30,3f,fd))),null())->up(), ::Dynamic(new _hx_Closure_2(_gthis)));
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1462_selfPing)
-HXDLIN(1462) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1463) if ((this->uiState == 3)) {
-HXLINE(1463) return;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1565_selfPing)
+HXDLIN(1565) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1566) if ((this->uiState == 3)) {
+HXLINE(1566) return;
}
-HXLINE(1465) if ((this->uiState == 2)) {
+HXLINE(1568) if ((this->uiState == 2)) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::borogove::Stanza _hx_run( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1468_selfPing)
-HXLINE(1469) ::Reflect_obj::setField(stanza->attr,HX_("type",ba,f2,08,4d),HX_("unavailable",50,e0,29,fd));
-HXLINE(1470) return stanza;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1572_selfPing)
+HXLINE(1573) stanza->attr->set(HX_("type",ba,f2,08,4d),HX_("unavailable",50,e0,29,fd));
+HXLINE(1574) return stanza;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1466) ::borogove::Client _hx_tmp = this->client;
-HXDLIN(1466) _hx_tmp->sendPresence(this->getFullJid()->asString(), ::Dynamic(new _hx_Closure_0()));
-HXLINE(1473) return;
+HXLINE(1569) this->client->channelPinger->remove(::hx::ObjectPtr<OBJ_>(this));
+HXLINE(1570) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1570) _hx_tmp->sendPresence(this->getFullJid()->asString(), ::Dynamic(new _hx_Closure_0()));
+HXLINE(1577) return;
}
-HXLINE(1476) ::Dynamic _hx_tmp1;
-HXDLIN(1476) if (refresh) {
-HXLINE(1476) _hx_tmp1 = this->refreshDisco_dyn();
+HXLINE(1580) ::Dynamic _hx_tmp1;
+HXDLIN(1580) if (refresh) {
+HXLINE(1580) _hx_tmp1 = this->refreshDisco_dyn();
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
void _hx_run( ::Dynamic cb){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1476_selfPing)
-HXLINE(1476) cb();
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1580_selfPing)
+HXLINE(1580) cb();
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1476) _hx_tmp1 = ::Dynamic(new _hx_Closure_1());
+HXLINE(1580) _hx_tmp1 = ::Dynamic(new _hx_Closure_1());
}
-HXDLIN(1476) _hx_tmp1( ::Dynamic(new _hx_Closure_3(_gthis)));
+HXDLIN(1580) _hx_tmp1( ::Dynamic(new _hx_Closure_3(_gthis)));
}
HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,selfPing,(void))
-::Dynamic Channel_obj::join(){
+::Dynamic Channel_obj::join(::hx::Null< bool > __o_justCleared){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis) HXARGC(1)
::Dynamic _hx_run(bool _){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
::borogove::Stanza _hx_run( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1517_join)
-HXLINE(1518) ::Dynamic mavAttr = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1626_join)
+HXLINE(1627) ::Dynamic mavAttr = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:muc:affiliations:1",75,28,1f,fe)));
-HXLINE(1519) if (::hx::IsNotNull( _gthis->mavUntil )) {
-HXLINE(1519) ::Reflect_obj::setField(mavAttr,HX_("since",ba,eb,cf,7c),_gthis->mavUntil);
+HXLINE(1628) if (::hx::IsNotNull( _gthis->mavUntil )) {
+HXLINE(1628) ::Reflect_obj::setField(mavAttr,HX_("since",ba,eb,cf,7c),_gthis->mavUntil);
}
-HXLINE(1520) stanza->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc",07,b2,7f,c6))))->tag(HX_("mav",a2,0a,53,00),mavAttr)->up();
-HXLINE(1522) if (_gthis->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da))) {
-HXLINE(1522) stanza->tag(HX_("history",54,35,47,64), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("maxchars",b9,7f,a3,5c),HX_("0",30,00,00,00))))->up();
+HXLINE(1629) stanza->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc",07,b2,7f,c6))),null())->tag(HX_("mav",a2,0a,53,00),mavAttr,null())->up();
+HXLINE(1631) if (_gthis->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da))) {
+HXLINE(1631) stanza->tag(HX_("history",54,35,47,64), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("maxchars",b9,7f,a3,5c),HX_("0",30,00,00,00))),null())->up();
}
-HXLINE(1524) stanza->up();
-HXLINE(1525) return stanza;
+HXLINE(1633) stanza->up();
+HXLINE(1634) return stanza;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage point){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1528_join)
-HXLINE(1528) _gthis->doSync(point,null());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1637_join)
+HXLINE(1637) _gthis->doSync(point,null());
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1509_join)
-HXLINE(1510) _gthis->self = null();
-HXLINE(1511) _gthis->outbox->pause();
-HXLINE(1512) _gthis->inSync = false;
-HXLINE(1513) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
-HXLINE(1514) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(_gthis->chatId);
-HXDLIN(1514) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(_gthis->client->displayName());
-HXLINE(1515) ::borogove::Client _gthis1 = _gthis->client;
-HXDLIN(1515) _gthis1->sendPresence(desiredFullJid1->asString(), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1528) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN(1528) ::String _hx_tmp = _gthis->client->accountId();
-HXDLIN(1528) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_gthis2,_hx_tmp,_gthis->chatId), ::Dynamic(new _hx_Closure_1(_gthis)),null());
-HXLINE(1530) return null();
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1613_join)
+HXLINE(1614) _gthis->joinFailed = null();
+HXLINE(1615) _gthis->self = null();
+HXLINE(1616) _gthis->outbox->pause();
+HXLINE(1617) _gthis->inSync = false;
+HXLINE(1618) ::haxe::Log_obj::trace(HX_("SYNC: channel inSync",1e,d0,1c,33), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("inSync",e0,98,c5,88),_gthis->inSync)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("join",ea,33,65,46)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("join",ea,33,65,46))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1618)));
+HXLINE(1622) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXLINE(1623) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(_gthis->chatId);
+HXDLIN(1623) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(_gthis->client->displayName());
+HXLINE(1624) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1624) _gthis1->sendPresence(desiredFullJid1->asString(), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1637) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(1637) ::String _hx_tmp = _gthis->client->accountId();
+HXDLIN(1637) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_gthis2,_hx_tmp,_gthis->chatId), ::Dynamic(new _hx_Closure_1(_gthis)),null());
+HXLINE(1639) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1503_join)
-HXDLIN(1503) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1504) bool _hx_tmp;
-HXDLIN(1504) if ((this->uiState != 3)) {
-HXLINE(1504) _hx_tmp = (this->uiState == 2);
+ bool justCleared = __o_justCleared.Default(false);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1607_join)
+HXDLIN(1607) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1608) bool _hx_tmp;
+HXDLIN(1608) if ((this->uiState != 3)) {
+HXLINE(1608) _hx_tmp = (this->uiState == 2);
}
else {
-HXLINE(1504) _hx_tmp = true;
+HXLINE(1608) _hx_tmp = true;
+ }
+HXDLIN(1608) if (_hx_tmp) {
+HXLINE(1610) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXDLIN(1504) if (_hx_tmp) {
-HXLINE(1506) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE(1613) ::Dynamic _hx_tmp1;
+HXDLIN(1613) if (justCleared) {
+HXLINE(1613) _hx_tmp1 = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ else {
+HXLINE(1613) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1613) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN(1613) _hx_tmp1 = ::borogove::Persistence_obj::clearMemberPresence(_hx_tmp2,_hx_tmp3,this->chatId);
}
-HXLINE(1509) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1509) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(1509) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::clearMemberPresence(_hx_tmp1,_hx_tmp2,this->chatId), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+HXDLIN(1613) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp1, ::Dynamic(new _hx_Closure_2(_gthis)),null());
}
-HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,join,return )
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,join,return )
void Channel_obj::selfPingSuccess(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
- void _hx_run( ::borogove::ChatMessage point){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1542_selfPingSuccess)
-HXLINE(1542) _gthis->doSync(point,null());
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1534_selfPingSuccess)
-HXDLIN(1534) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1535) ::String _hx_tmp = this->nickInUse();
-HXDLIN(1535) if ((_hx_tmp != this->client->displayName())) {
-HXLINE(1536) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(this->chatId);
-HXDLIN(1536) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
-HXLINE(1537) ::borogove::Client _hx_tmp1 = this->client;
-HXDLIN(1537) _hx_tmp1->sendPresence(desiredFullJid1->asString(),null());
- }
-HXLINE(1541) this->inSync = false;
-HXLINE(1542) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1542) ::String _hx_tmp3 = this->client->accountId();
-HXDLIN(1542) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_hx_tmp2,_hx_tmp3,this->chatId), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1643_selfPingSuccess)
+HXLINE(1644) ::String _hx_tmp = this->nickInUse();
+HXDLIN(1644) if ((_hx_tmp != this->client->displayName())) {
+HXLINE(1645) ::borogove::JID desiredFullJid = ::borogove::JID_obj::parse(this->chatId);
+HXDLIN(1645) ::borogove::JID desiredFullJid1 = desiredFullJid->withResource(this->client->displayName());
+HXLINE(1646) ::borogove::Client _hx_tmp1 = this->client;
+HXDLIN(1646) _hx_tmp1->sendPresence(desiredFullJid1->asString(),null());
+ }
+HXLINE(1648) this->client->channelPinger->schedule(::hx::ObjectPtr<OBJ_>(this),null());
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,selfPingSuccess,(void))
::String Channel_obj::getDisplayName(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1545_getDisplayName)
-HXLINE(1546) ::String name = this->super::getDisplayName();
-HXLINE(1547) if ((name == this->chatId)) {
-HXLINE(1548) ::borogove::Stanza tmp = this->info();
-HXDLIN(1548) ::borogove::Stanza tmp1;
-HXDLIN(1548) if (::hx::IsNotNull( tmp )) {
-HXLINE(1548) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roomconfig_roomname",c0,87,9a,72));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1651_getDisplayName)
+HXLINE(1652) ::String name = this->super::getDisplayName();
+HXLINE(1653) if ((name == this->chatId)) {
+HXLINE(1654) ::borogove::Stanza tmp = this->info();
+HXDLIN(1654) ::borogove::Stanza tmp1;
+HXDLIN(1654) if (::hx::IsNotNull( tmp )) {
+HXLINE(1654) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roomconfig_roomname",c0,87,9a,72));
}
else {
-HXLINE(1548) tmp1 = null();
+HXLINE(1654) tmp1 = null();
}
-HXDLIN(1548) ::Array< ::String > tmp2;
-HXDLIN(1548) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1548) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+HXDLIN(1654) ::Array< ::String > tmp2;
+HXDLIN(1654) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1654) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
}
else {
-HXLINE(1548) tmp2 = null();
+HXLINE(1654) tmp2 = null();
}
-HXDLIN(1548) ::Array< ::String > title;
-HXDLIN(1548) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1548) title = tmp2;
+HXDLIN(1654) ::Array< ::String > title;
+HXDLIN(1654) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1654) title = tmp2;
}
else {
-HXLINE(1548) title = ::Array_obj< ::String >::__new(0);
+HXLINE(1654) title = ::Array_obj< ::String >::__new(0);
}
-HXDLIN(1548) ::String title1 = title->join(HX_("\n",0a,00,00,00));
-HXLINE(1549) bool _hx_tmp;
-HXDLIN(1549) if (::hx::IsNotNull( title1 )) {
-HXLINE(1549) _hx_tmp = (title1 != HX_("",00,00,00,00));
+HXDLIN(1654) ::String title1 = title->join(HX_("\n",0a,00,00,00));
+HXLINE(1655) bool _hx_tmp;
+HXDLIN(1655) if (::hx::IsNotNull( title1 )) {
+HXLINE(1655) _hx_tmp = (title1 != HX_("",00,00,00,00));
}
else {
-HXLINE(1549) _hx_tmp = false;
+HXLINE(1655) _hx_tmp = false;
}
-HXDLIN(1549) if (_hx_tmp) {
-HXLINE(1549) return title1;
+HXDLIN(1655) if (_hx_tmp) {
+HXLINE(1655) return title1;
}
-HXLINE(1551) bool _hx_tmp1;
-HXDLIN(1551) bool _hx_tmp2;
-HXDLIN(1551) if (::hx::IsNotNull( this->membersForName )) {
-HXLINE(1551) _hx_tmp2 = (this->membersForName->length > 0);
+HXLINE(1657) bool _hx_tmp1;
+HXDLIN(1657) bool _hx_tmp2;
+HXDLIN(1657) if (::hx::IsNotNull( this->membersForName )) {
+HXLINE(1657) _hx_tmp2 = (this->membersForName->length > 0);
}
else {
-HXLINE(1551) _hx_tmp2 = false;
+HXLINE(1657) _hx_tmp2 = false;
}
-HXDLIN(1551) if (_hx_tmp2) {
-HXLINE(1551) _hx_tmp1 = (this->membersForName->length < 20);
+HXDLIN(1657) if (_hx_tmp2) {
+HXLINE(1657) _hx_tmp1 = (this->membersForName->length < 20);
}
else {
-HXLINE(1551) _hx_tmp1 = false;
- }
-HXDLIN(1551) if (_hx_tmp1) {
-HXLINE(1551) ::Array< ::Dynamic> _this = this->membersForName;
-HXDLIN(1551) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1551) {
-HXLINE(1551) int _g = 0;
-HXDLIN(1551) int _g1 = _this->length;
-HXDLIN(1551) while((_g < _g1)){
-HXLINE(1551) _g = (_g + 1);
-HXDLIN(1551) int i = (_g - 1);
-HXDLIN(1551) {
-HXLINE(1551) ::String inValue = ( (::String)(_hx_array_unsafe_get(_this,i)->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
-HXDLIN(1551) result->__unsafe_set(i,inValue);
+HXLINE(1657) _hx_tmp1 = false;
+ }
+HXDLIN(1657) if (_hx_tmp1) {
+HXLINE(1657) ::Array< ::Dynamic> _this = this->membersForName;
+HXDLIN(1657) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1657) {
+HXLINE(1657) int _g = 0;
+HXDLIN(1657) int _g1 = _this->length;
+HXDLIN(1657) while((_g < _g1)){
+HXLINE(1657) _g = (_g + 1);
+HXDLIN(1657) int i = (_g - 1);
+HXDLIN(1657) {
+HXLINE(1657) ::String inValue = ( (::String)(_hx_array_unsafe_get(_this,i)->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
+HXDLIN(1657) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1551) return result->join(HX_(", ",74,26,00,00));
+HXDLIN(1657) return result->join(HX_(", ",74,26,00,00));
}
}
-HXLINE(1554) return name;
+HXLINE(1660) return name;
}
::String Channel_obj::subject(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1561_subject)
-HXDLIN(1561) ::String tmp = this->threads->get_string(::borogove::_Chat::Chat_Fields__obj::nullSentinel);
-HXDLIN(1561) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1561) return tmp;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1667_subject)
+HXDLIN(1667) ::String tmp = this->threads->get_string(::borogove::_Chat::Chat_Fields__obj::nullSentinel);
+HXDLIN(1667) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1667) return tmp;
}
else {
-HXDLIN(1561) return HX_("",00,00,00,00);
+HXDLIN(1667) return HX_("",00,00,00,00);
}
-HXDLIN(1561) return null();
+HXDLIN(1667) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,subject,return )
+bool Channel_obj::canSetSubject(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1673_canSetSubject)
+HXLINE(1674) bool _hx_tmp;
+HXDLIN(1674) if (::hx::IsNotNull( this->self )) {
+HXLINE(1674) _hx_tmp = ::hx::IsNull( this->disco );
+ }
+ else {
+HXLINE(1674) _hx_tmp = true;
+ }
+HXDLIN(1674) if (_hx_tmp) {
+HXLINE(1674) return false;
+ }
+HXLINE(1676) ::Dynamic it = this->self->presence->iterator();
+HXLINE(1677) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
+HXLINE(1677) return false;
+ }
+HXLINE(1679) ::borogove::Stanza tmp = this->info();
+HXDLIN(1679) ::borogove::Stanza tmp1;
+HXDLIN(1679) if (::hx::IsNotNull( tmp )) {
+HXLINE(1679) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_subjectmod",84,dd,70,4a));
+ }
+ else {
+HXLINE(1679) tmp1 = null();
+ }
+HXDLIN(1679) ::Array< ::String > tmp2;
+HXDLIN(1679) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1679) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+ }
+ else {
+HXLINE(1679) tmp2 = null();
+ }
+HXDLIN(1679) ::Array< ::String > subjectmod;
+HXDLIN(1679) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1679) subjectmod = tmp2;
+ }
+ else {
+HXLINE(1679) subjectmod = ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_16,1);
+ }
+HXDLIN(1679) ::String subjectmod1 = subjectmod->join(HX_("",00,00,00,00));
+HXLINE(1680) if (::borogove::Stanza_obj::parseXmlBool(subjectmod1)) {
+HXLINE(1681) return true;
+ }
+HXLINE(1684) ::String _hx_tmp1;
+HXDLIN(1684) ::borogove::Stanza tmp3 = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1684) ::haxe::ds::StringMap tmp4;
+HXDLIN(1684) if (::hx::IsNotNull( tmp3 )) {
+HXLINE(1684) tmp4 = tmp3->attr;
+ }
+ else {
+HXLINE(1684) tmp4 = null();
+ }
+HXDLIN(1684) ::String tmp5;
+HXDLIN(1684) if (::hx::IsNotNull( tmp4 )) {
+HXLINE(1684) tmp5 = tmp4->get_string(HX_("role",76,eb,ae,4b));
+ }
+ else {
+HXLINE(1684) tmp5 = null();
+ }
+HXDLIN(1684) if (::hx::IsNotNull( tmp5 )) {
+HXLINE(1684) _hx_tmp1 = tmp5;
+ }
+ else {
+HXLINE(1684) _hx_tmp1 = HX_("none",b8,12,0a,49);
+ }
+HXDLIN(1684) return (_hx_tmp1 == HX_("moderator",05,40,3b,22));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,canSetSubject,return )
+
+void Channel_obj::setSubject(::String subject,::String threadId){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1690_setSubject)
+HXLINE(1691) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("to",7b,65,00,00),this->chatId)),null())->textTag(HX_("subject",ac,01,88,29),subject,null(),null());
+HXLINE(1692) if (::hx::IsNotNull( threadId )) {
+HXLINE(1692) stanza->textTag(HX_("thread",ca,7a,b9,8e),threadId,null(),null());
+ }
+HXLINE(1693) this->sendMessageStanza(stanza,null(),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Channel_obj,setSubject,(void))
+
::String Channel_obj::description(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1568_description)
-HXDLIN(1568) ::borogove::Stanza tmp = this->info();
-HXDLIN(1568) ::borogove::Stanza tmp1;
-HXDLIN(1568) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1568) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_description",4e,e4,04,f2));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1700_description)
+HXDLIN(1700) ::borogove::Stanza tmp = this->info();
+HXDLIN(1700) ::borogove::Stanza tmp1;
+HXDLIN(1700) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1700) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_description",4e,e4,04,f2));
}
else {
-HXDLIN(1568) tmp1 = null();
+HXDLIN(1700) tmp1 = null();
}
-HXDLIN(1568) ::Array< ::String > tmp2;
-HXDLIN(1568) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1568) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+HXDLIN(1700) ::Array< ::String > tmp2;
+HXDLIN(1700) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1700) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
}
else {
-HXDLIN(1568) tmp2 = null();
+HXDLIN(1700) tmp2 = null();
}
-HXDLIN(1568) ::Array< ::String > _hx_tmp;
-HXDLIN(1568) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN(1568) _hx_tmp = tmp2;
+HXDLIN(1700) ::Array< ::String > _hx_tmp;
+HXDLIN(1700) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(1700) _hx_tmp = tmp2;
}
else {
-HXDLIN(1568) _hx_tmp = ::Array_obj< ::String >::__new(0);
+HXDLIN(1700) _hx_tmp = ::Array_obj< ::String >::__new(0);
}
-HXDLIN(1568) return _hx_tmp->join(HX_("\n",0a,00,00,00));
+HXDLIN(1700) return _hx_tmp->join(HX_("\n",0a,00,00,00));
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,description,return )
::borogove::Stanza Channel_obj::info(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1572_info)
-HXDLIN(1572) ::borogove::Caps tmp = this->disco;
-HXDLIN(1572) ::Array< ::Dynamic> tmp1;
-HXDLIN(1572) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1572) tmp1 = tmp->data;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1704_info)
+HXDLIN(1704) ::borogove::Caps tmp = this->disco;
+HXDLIN(1704) ::Array< ::Dynamic> tmp1;
+HXDLIN(1704) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1704) tmp1 = tmp->data;
}
else {
-HXDLIN(1572) tmp1 = null();
+HXDLIN(1704) tmp1 = null();
}
-HXDLIN(1572) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1704) if (::hx::IsNotNull( tmp1 )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza d){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1572_info)
-HXDLIN(1572) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(d,HX_("FORM_TYPE",d5,96,c9,5a));
-HXDLIN(1572) ::Array< ::String > tmp1;
-HXDLIN(1572) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1572) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1704_info)
+HXDLIN(1704) ::borogove::Stanza tmp = ::borogove::_DataForm::DataForm_Impl__obj::field(d,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN(1704) ::Array< ::String > tmp1;
+HXDLIN(1704) if (::hx::IsNotNull( tmp )) {
+HXDLIN(1704) tmp1 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp);
}
else {
-HXDLIN(1572) tmp1 = null();
+HXDLIN(1704) tmp1 = null();
}
-HXDLIN(1572) ::String _hx_tmp;
-HXDLIN(1572) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1572) _hx_tmp = tmp1->__get(0);
+HXDLIN(1704) ::String _hx_tmp;
+HXDLIN(1704) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1704) _hx_tmp = tmp1->__get(0);
}
else {
-HXDLIN(1572) _hx_tmp = null();
+HXDLIN(1704) _hx_tmp = null();
}
-HXDLIN(1572) return (_hx_tmp == HX_("http://jabber.org/protocol/muc#roominfo",45,80,4f,bc));
+HXDLIN(1704) return (_hx_tmp == HX_("http://jabber.org/protocol/muc#roominfo",45,80,4f,bc));
}
HX_END_LOCAL_FUNC1(return)
-HXDLIN(1572) return ( ( ::borogove::Stanza)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN(1704) return ( ( ::borogove::Stanza)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
}
else {
-HXDLIN(1572) return null();
+HXDLIN(1704) return null();
}
-HXDLIN(1572) return null();
+HXDLIN(1704) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,info,return )
void Channel_obj::invite( ::borogove::Chat chat,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1575_invite)
-HXLINE(1576) if (this->isPrivate()) {
-HXLINE(1577) ::borogove::Client _hx_tmp = this->client;
-HXDLIN(1577) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("to",7b,65,00,00),this->chatId)))->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#admin",d3,be,2f,5a))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1707_invite)
+HXLINE(1708) if (this->isPrivate()) {
+HXLINE(1709) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1709) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),this->chatId)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#admin",d3,be,2f,5a))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("affiliation",b0,1a,35,a1),HX_("member",5a,e2,b5,04))
- ->setFixed(1,HX_("jid",c5,ca,50,00),chat->chatId)))->up()->up());
+ ->setFixed(1,HX_("jid",c5,ca,50,00),chat->chatId)),null())->up()->up());
}
-HXLINE(1585) this->super::invite(chat,threadId);
+HXLINE(1717) this->super::invite(chat,threadId);
}
bool Channel_obj::canInvite(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1588_canInvite)
-HXLINE(1589) if (!(this->isPrivate())) {
-HXLINE(1589) return true;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1720_canInvite)
+HXLINE(1721) if (!(this->isPrivate())) {
+HXLINE(1721) return true;
}
-HXLINE(1590) if (::hx::IsNull( this->self )) {
-HXLINE(1590) return false;
+HXLINE(1722) if (::hx::IsNull( this->self )) {
+HXLINE(1722) return false;
}
-HXLINE(1592) ::Dynamic it = this->self->presence->iterator();
-HXLINE(1593) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
-HXLINE(1593) return false;
+HXLINE(1724) ::Dynamic it = this->self->presence->iterator();
+HXLINE(1725) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
+HXLINE(1725) return false;
}
-HXLINE(1595) ::String _hx_tmp;
-HXDLIN(1595) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
-HXDLIN(1595) ::Dynamic tmp1;
-HXDLIN(1595) if (::hx::IsNotNull( tmp )) {
-HXLINE(1595) tmp1 = tmp->attr;
+HXLINE(1727) ::String _hx_tmp;
+HXDLIN(1727) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1727) ::haxe::ds::StringMap tmp1;
+HXDLIN(1727) if (::hx::IsNotNull( tmp )) {
+HXLINE(1727) tmp1 = tmp->attr;
}
else {
-HXLINE(1595) tmp1 = null();
+HXLINE(1727) tmp1 = null();
}
-HXDLIN(1595) ::String tmp2;
-HXDLIN(1595) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1595) tmp2 = ( (::String)(::Reflect_obj::field(tmp1,HX_("role",76,eb,ae,4b))) );
+HXDLIN(1727) ::String tmp2;
+HXDLIN(1727) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1727) tmp2 = tmp1->get_string(HX_("role",76,eb,ae,4b));
}
else {
-HXLINE(1595) tmp2 = null();
+HXLINE(1727) tmp2 = null();
}
-HXDLIN(1595) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1595) _hx_tmp = tmp2;
+HXDLIN(1727) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1727) _hx_tmp = tmp2;
}
else {
-HXLINE(1595) _hx_tmp = HX_("none",b8,12,0a,49);
+HXLINE(1727) _hx_tmp = HX_("none",b8,12,0a,49);
}
-HXDLIN(1595) if ((_hx_tmp == HX_("moderator",05,40,3b,22))) {
-HXLINE(1595) return true;
+HXDLIN(1727) if ((_hx_tmp == HX_("moderator",05,40,3b,22))) {
+HXLINE(1727) return true;
}
-HXLINE(1597) return false;
+HXLINE(1729) return false;
}
bool Channel_obj::canSend(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1600_canSend)
-HXLINE(1601) if (!(this->super::canSend())) {
-HXLINE(1601) return false;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1732_canSend)
+HXLINE(1733) if (!(this->super::canSend())) {
+HXLINE(1733) return false;
}
-HXLINE(1602) if (::hx::IsNull( this->self )) {
-HXLINE(1602) return true;
+HXLINE(1734) if (::hx::IsNull( this->self )) {
+HXLINE(1734) return true;
}
-HXLINE(1604) ::Dynamic it = this->self->presence->iterator();
-HXLINE(1605) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
-HXLINE(1605) return true;
+HXLINE(1736) ::Dynamic it = this->self->presence->iterator();
+HXLINE(1737) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
+HXLINE(1737) return true;
}
-HXLINE(1607) ::String _hx_tmp;
-HXDLIN(1607) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
-HXDLIN(1607) ::Dynamic tmp1;
-HXDLIN(1607) if (::hx::IsNotNull( tmp )) {
-HXLINE(1607) tmp1 = tmp->attr;
+HXLINE(1739) ::String _hx_tmp;
+HXDLIN(1739) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1739) ::haxe::ds::StringMap tmp1;
+HXDLIN(1739) if (::hx::IsNotNull( tmp )) {
+HXLINE(1739) tmp1 = tmp->attr;
}
else {
-HXLINE(1607) tmp1 = null();
+HXLINE(1739) tmp1 = null();
}
-HXDLIN(1607) ::String tmp2;
-HXDLIN(1607) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1607) tmp2 = ( (::String)(::Reflect_obj::field(tmp1,HX_("role",76,eb,ae,4b))) );
+HXDLIN(1739) ::String tmp2;
+HXDLIN(1739) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1739) tmp2 = tmp1->get_string(HX_("role",76,eb,ae,4b));
}
else {
-HXLINE(1607) tmp2 = null();
+HXLINE(1739) tmp2 = null();
}
-HXDLIN(1607) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1607) _hx_tmp = tmp2;
+HXDLIN(1739) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1739) _hx_tmp = tmp2;
}
else {
-HXLINE(1607) _hx_tmp = HX_("none",b8,12,0a,49);
+HXLINE(1739) _hx_tmp = HX_("none",b8,12,0a,49);
}
-HXDLIN(1607) return (_hx_tmp != HX_("visitor",ae,23,32,a3));
+HXDLIN(1739) return (_hx_tmp != HX_("visitor",ae,23,32,a3));
}
bool Channel_obj::canModerate(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1610_canModerate)
-HXLINE(1611) bool _hx_tmp;
-HXDLIN(1611) if (::hx::IsNotNull( this->self )) {
-HXLINE(1611) _hx_tmp = ::hx::IsNull( this->disco );
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1742_canModerate)
+HXLINE(1743) bool _hx_tmp;
+HXDLIN(1743) if (::hx::IsNotNull( this->self )) {
+HXLINE(1743) _hx_tmp = ::hx::IsNull( this->disco );
}
else {
-HXLINE(1611) _hx_tmp = true;
+HXLINE(1743) _hx_tmp = true;
}
-HXDLIN(1611) if (_hx_tmp) {
-HXLINE(1611) return false;
+HXDLIN(1743) if (_hx_tmp) {
+HXLINE(1743) return false;
}
-HXLINE(1613) ::Dynamic it = this->self->presence->iterator();
-HXLINE(1614) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
-HXLINE(1614) return false;
+HXLINE(1745) ::Dynamic it = this->self->presence->iterator();
+HXLINE(1746) if (!(( (bool)(it->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
+HXLINE(1746) return false;
}
-HXLINE(1616) if (this->disco->features->contains(HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))) {
-HXLINE(1616) ::String _hx_tmp1;
-HXDLIN(1616) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
-HXDLIN(1616) ::Dynamic tmp1;
-HXDLIN(1616) if (::hx::IsNotNull( tmp )) {
-HXLINE(1616) tmp1 = tmp->attr;
+HXLINE(1748) if (this->disco->features->contains(HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))) {
+HXLINE(1748) ::String _hx_tmp1;
+HXDLIN(1748) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(it->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1748) ::haxe::ds::StringMap tmp1;
+HXDLIN(1748) if (::hx::IsNotNull( tmp )) {
+HXLINE(1748) tmp1 = tmp->attr;
}
else {
-HXLINE(1616) tmp1 = null();
+HXLINE(1748) tmp1 = null();
}
-HXDLIN(1616) ::String tmp2;
-HXDLIN(1616) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1616) tmp2 = ( (::String)(::Reflect_obj::field(tmp1,HX_("role",76,eb,ae,4b))) );
+HXDLIN(1748) ::String tmp2;
+HXDLIN(1748) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1748) tmp2 = tmp1->get_string(HX_("role",76,eb,ae,4b));
}
else {
-HXLINE(1616) tmp2 = null();
+HXLINE(1748) tmp2 = null();
}
-HXDLIN(1616) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1616) _hx_tmp1 = tmp2;
+HXDLIN(1748) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1748) _hx_tmp1 = tmp2;
}
else {
-HXLINE(1616) _hx_tmp1 = HX_("none",b8,12,0a,49);
+HXLINE(1748) _hx_tmp1 = HX_("none",b8,12,0a,49);
}
-HXDLIN(1616) return (_hx_tmp1 == HX_("moderator",05,40,3b,22));
+HXDLIN(1748) return (_hx_tmp1 == HX_("moderator",05,40,3b,22));
}
else {
-HXLINE(1616) return false;
+HXLINE(1748) return false;
}
-HXDLIN(1616) return false;
+HXDLIN(1748) return false;
}
+void Channel_obj::requestToSend(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1758_requestToSend)
+HXLINE(1758) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1758) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("to",7b,65,00,00),_gthis->chatId)),null())->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/muc#request",93,0a,86,93),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("muc#role",3e,cf,d3,63))),null())->textTag(HX_("value",71,7f,b8,31),HX_("participant",b3,07,ea,7a),null(),null())->up());
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1754_requestToSend)
+HXDLIN(1754) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1758) this->outbox->newItem()->handle( ::Dynamic(new _hx_Closure_0(_gthis)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,requestToSend,(void))
+
+bool Channel_obj::isOwner(){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run( ::borogove::Role r){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1769_isOwner)
+HXLINE(1769) return (r->id == HX_("owner",33,98,76,38));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1766_isOwner)
+HXLINE(1767) if (::hx::IsNull( this->self )) {
+HXLINE(1767) return false;
+ }
+HXLINE(1769) return ::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,isOwner,return )
+
+::Dynamic Channel_obj::commands(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> cmds){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1773_commands)
+HXLINE(1774) if (_gthis->isOwner()) {
+HXLINE(1775) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1775) cmds->push( ::borogove::MucSettingsCommand_obj::__alloc( HX_CTX ,_gthis1,::borogove::JID_obj::parse(_gthis->chatId)));
+ }
+HXLINE(1777) return cmds;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1772_commands)
+HXDLIN(1772) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1773) return ::thenshim::_Promise::Promise_Impl__obj::then(this->super::commands(), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ }
+
+
+bool Channel_obj::hasCommands(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1781_hasCommands)
+HXLINE(1782) if (this->isOwner()) {
+HXLINE(1782) return true;
+ }
+HXLINE(1784) return this->super::hasCommands();
+ }
+
+
+bool Channel_obj::canSetPhoto(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1791_canSetPhoto)
+HXDLIN(1791) return this->isOwner();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,canSetPhoto,return )
+
+void Channel_obj::setPhoto( ::borogove::AttachmentSource source){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1799_setPhoto)
+HXDLIN(1799) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1800) if ((source->size > 128000)) {
+HXLINE(1800) HX_STACK_DO_THROW(HX_("Size limit of 128KB",a9,c1,4c,64));
+ }
+HXLINE(1801) ::haxe::io::BytesOutput out = ::haxe::io::BytesOutput_obj::__alloc( HX_CTX );
+HXLINE(1802) ::haxe::io::BytesOutput out1 = out;
+HXDLIN(1802) ::tink::io::std::OutputSink sink = ::tink::io::std::OutputSink_obj::__alloc( HX_CTX ,HX_("bytes",6b,08,98,bd),out1,::tink::io::_Worker::Worker_Impl__obj::get());
+HXLINE(1803) {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::AttachmentSource,source, ::borogove::Channel,_gthis, ::haxe::io::BytesOutput,out) HXARGC(1)
+ void _hx_run( ::tink::io::PipeResult _){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1803_setPhoto)
+HXLINE(1805) ::String b64 = ::haxe::crypto::Base64_obj::encode(out->getBytes(),null());
+HXLINE(1807) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1807) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),_gthis->chatId)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("vCard",66,bd,db,1d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("vcard-temp",bb,ee,0c,98))),null())->tag(HX_("PHOTO",92,00,e2,3f),null(),null())->textTag(HX_("TYPE",ba,ba,c9,37),source->type,null(),null())->textTag(HX_("BINVAL",7a,48,9e,9f),b64,null(),null()));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1803) ::String name = source->name;
+HXDLIN(1803) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
+HXDLIN(1803) ::Dynamic options = null();
+HXDLIN(1803) options = ::Dynamic(::hx::Anon_obj::Create(0));
+HXDLIN(1803) ::Dynamic this1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN(1803) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN(1803) int this2;
+HXDLIN(1803) if (::hx::IsNull( _g )) {
+HXLINE(1803) this2 = 65536;
+ }
+ else {
+HXLINE(1803) this2 = ( (int)(_g) );
+ }
+HXDLIN(1803) ::tink::io::_Source::Source_Impl__obj::pipeTo( ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,this1,::haxe::io::Bytes_obj::alloc(this2),0),sink,null())->handle( ::Dynamic(new _hx_Closure_0(source,_gthis,out)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,setPhoto,(void))
+
::Dynamic Channel_obj::getCaps(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< bool >,hasNext) HXARGC(0)
bool _hx_run(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1623_getCaps)
-HXLINE(1623) return hasNext->__get(0);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1821_getCaps)
+HXLINE(1821) return hasNext->__get(0);
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis,::Array< bool >,hasNext) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1624_getCaps)
-HXLINE(1625) hasNext[0] = false;
-HXLINE(1626) return ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1822_getCaps)
+HXLINE(1823) hasNext[0] = false;
+HXLINE(1824) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),null())
->setFixed(1,HX_("value",71,7f,b8,31),_gthis->disco));
}
HX_END_LOCAL_FUNC0(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1620_getCaps)
-HXDLIN(1620) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1621) ::Array< bool > hasNext = ::Array_obj< bool >::fromData( _hx_array_data_da6a8256_26,1);
-HXLINE(1622) return ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1818_getCaps)
+HXDLIN(1818) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1819) ::Array< bool > hasNext = ::Array_obj< bool >::fromData( _hx_array_data_da6a8256_38,1);
+HXLINE(1820) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("hasNext",6d,a5,46,18), ::Dynamic(new _hx_Closure_0(hasNext)))
->setFixed(1,HX_("next",f3,84,02,49), ::Dynamic(new _hx_Closure_1(_gthis,hasNext))));
}
void Channel_obj::setPresence(::String resource, ::borogove::Stanza presence,bool noStore){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1632_setPresence)
-HXDLIN(1632) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1633) ::borogove::Stanza tmp;
-HXDLIN(1633) if (::hx::IsNotNull( presence )) {
-HXLINE(1633) tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
- }
- else {
-HXLINE(1633) tmp = null();
- }
-HXDLIN(1633) ::Array< ::String > tmp1;
-HXDLIN(1633) if (::hx::IsNotNull( tmp )) {
-HXLINE(1633) ::Array< ::Dynamic> _this = tmp->allTags(HX_("status",32,e7,fb,05),null());
-HXDLIN(1633) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1633) {
-HXLINE(1633) int _g = 0;
-HXDLIN(1633) int _g1 = _this->length;
-HXDLIN(1633) while((_g < _g1)){
-HXLINE(1633) _g = (_g + 1);
-HXDLIN(1633) int i = (_g - 1);
-HXDLIN(1633) {
-HXLINE(1633) ::String inValue = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("code",2d,b1,c4,41))) );
-HXDLIN(1633) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1830_setPresence)
+HXDLIN(1830) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1831) ::borogove::Stanza tmp;
+HXDLIN(1831) if (::hx::IsNotNull( presence )) {
+HXLINE(1831) tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+ }
+ else {
+HXLINE(1831) tmp = null();
+ }
+HXDLIN(1831) ::Array< ::String > tmp1;
+HXDLIN(1831) if (::hx::IsNotNull( tmp )) {
+HXLINE(1831) ::Array< ::Dynamic> _this = tmp->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(1831) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1831) {
+HXLINE(1831) int _g = 0;
+HXDLIN(1831) int _g1 = _this->length;
+HXDLIN(1831) while((_g < _g1)){
+HXLINE(1831) _g = (_g + 1);
+HXDLIN(1831) int i = (_g - 1);
+HXDLIN(1831) {
+HXLINE(1831) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr->get_string(HX_("code",2d,b1,c4,41));
+HXDLIN(1831) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1633) tmp1 = result;
+HXDLIN(1831) tmp1 = result;
}
else {
-HXLINE(1633) tmp1 = null();
+HXLINE(1831) tmp1 = null();
}
-HXDLIN(1633) ::String oneTen;
-HXDLIN(1633) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(1831) ::String oneTen;
+HXDLIN(1831) if (::hx::IsNotNull( tmp1 )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run(::String status){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1633_setPresence)
-HXLINE(1633) return (status == HX_("110",50,59,25,00));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1831_setPresence)
+HXLINE(1831) return (status == HX_("110",50,59,25,00));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1633) oneTen = ( (::String)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE(1831) oneTen = ( (::String)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
}
else {
-HXLINE(1633) oneTen = null();
+HXLINE(1831) oneTen = null();
}
-HXLINE(1634) ::borogove::Member member = this->buildMember(resource,presence);
-HXLINE(1635) bool _hx_tmp;
-HXDLIN(1635) bool _hx_tmp1;
-HXDLIN(1635) if (::hx::IsNotNull( presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14)) )) {
-HXLINE(1635) _hx_tmp1 = ::hx::IsNull( oneTen );
+HXLINE(1832) ::borogove::Member member = this->buildMember(resource,presence);
+HXLINE(1833) bool _hx_tmp;
+HXDLIN(1833) bool _hx_tmp1;
+HXDLIN(1833) if (::hx::IsNotNull( presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14)) )) {
+HXLINE(1833) _hx_tmp1 = ::hx::IsNull( oneTen );
}
else {
-HXLINE(1635) _hx_tmp1 = false;
+HXLINE(1833) _hx_tmp1 = false;
}
-HXDLIN(1635) if (_hx_tmp1) {
-HXLINE(1635) _hx_tmp = member->isSelf;
+HXDLIN(1833) if (_hx_tmp1) {
+HXLINE(1833) _hx_tmp = member->isSelf;
}
else {
-HXLINE(1635) _hx_tmp = false;
+HXLINE(1833) _hx_tmp = false;
}
-HXDLIN(1635) if (_hx_tmp) {
-HXLINE(1637) ::borogove::Stanza mucUser = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE(1638) mucUser->tag(HX_("status",32,e7,fb,05), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("code",2d,b1,c4,41),HX_("110",50,59,25,00))))->up();
-HXLINE(1639) this->setPresence(resource,presence,noStore);
-HXLINE(1640) return;
+HXDLIN(1833) if (_hx_tmp) {
+HXLINE(1835) ::borogove::Stanza mucUser = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(1836) mucUser->tag(HX_("status",32,e7,fb,05), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("code",2d,b1,c4,41),HX_("110",50,59,25,00))),null())->up();
+HXLINE(1837) this->setPresence(resource,presence,noStore);
+HXLINE(1838) return;
}
-HXLINE(1642) ::borogove::Stanza tmp2 = presence->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN(1642) ::Dynamic tmp3;
-HXDLIN(1642) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1642) tmp3 = tmp2->attr;
+HXLINE(1840) ::borogove::Stanza tmp2 = presence->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
+HXDLIN(1840) ::haxe::ds::StringMap tmp3;
+HXDLIN(1840) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1840) tmp3 = tmp2->attr;
}
else {
-HXLINE(1642) tmp3 = null();
+HXLINE(1840) tmp3 = null();
}
-HXDLIN(1642) ::String occupantId;
-HXDLIN(1642) if (::hx::IsNotNull( tmp3 )) {
-HXLINE(1642) occupantId = ( (::String)(::Reflect_obj::field(tmp3,HX_("id",db,5b,00,00))) );
+HXDLIN(1840) ::String occupantId;
+HXDLIN(1840) if (::hx::IsNotNull( tmp3 )) {
+HXLINE(1840) occupantId = tmp3->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE(1642) occupantId = null();
+HXLINE(1840) occupantId = null();
}
-HXLINE(1643) bool _hx_tmp2;
-HXDLIN(1643) if (!(noStore)) {
-HXLINE(1643) bool _hx_tmp3;
-HXDLIN(1643) if (this->disco->features->contains(HX_("urn:xmpp:occupant-id:0",05,d7,05,11))) {
-HXLINE(1643) _hx_tmp3 = (member->id != ((this->chatId + HX_("/",2f,00,00,00)) + occupantId));
+HXLINE(1841) bool _hx_tmp2;
+HXDLIN(1841) if (!(noStore)) {
+HXLINE(1841) bool _hx_tmp3;
+HXDLIN(1841) if (this->disco->features->contains(HX_("urn:xmpp:occupant-id:0",05,d7,05,11))) {
+HXLINE(1841) _hx_tmp3 = (member->id != ((this->chatId + HX_("/",2f,00,00,00)) + occupantId));
}
else {
-HXLINE(1643) _hx_tmp3 = false;
+HXLINE(1841) _hx_tmp3 = false;
}
-HXDLIN(1643) _hx_tmp2 = !(_hx_tmp3);
+HXDLIN(1841) _hx_tmp2 = !(_hx_tmp3);
}
else {
-HXLINE(1643) _hx_tmp2 = false;
+HXLINE(1841) _hx_tmp2 = false;
}
-HXDLIN(1643) if (_hx_tmp2) {
-HXLINE(1644) bool _hx_tmp4;
-HXDLIN(1644) if ((( (::String)(::Reflect_obj::field(presence->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
-HXLINE(1644) _hx_tmp4 = ::hx::IsNull( member->photoUri );
+HXDLIN(1841) if (_hx_tmp2) {
+HXLINE(1842) bool _hx_tmp4;
+HXDLIN(1842) if (::hx::IsEq( presence->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
+HXLINE(1842) _hx_tmp4 = ::hx::IsNull( member->photoUri );
}
else {
-HXLINE(1644) _hx_tmp4 = false;
+HXLINE(1842) _hx_tmp4 = false;
}
-HXDLIN(1644) if (_hx_tmp4) {
+HXDLIN(1842) if (_hx_tmp4) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis) HXARGC(1)
::borogove::EventResult _hx_run(::Array< ::Dynamic> members){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1646_setPresence)
-HXLINE(1646) return _gthis->trigger(HX_("members/update",bf,63,66,64),members);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1844_setPresence)
+HXLINE(1844) return _gthis->trigger(HX_("members/update",bf,63,66,64),members);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1645) ::Array< ::Dynamic> memberUpdates = ::borogove::MemberUpdate_obj::extractUpdates(this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),presence);
-HXLINE(1646) ::Dynamic _hx_tmp5 = this->persistence;
-HXDLIN(1646) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMemberUpdates(_hx_tmp5,this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),memberUpdates,false), ::Dynamic(new _hx_Closure_1(_gthis)),null());
+HXLINE(1843) ::Array< ::Dynamic> memberUpdates = ::borogove::MemberUpdate_obj::extractUpdates(this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),presence);
+HXLINE(1844) ::Dynamic _hx_tmp5 = this->persistence;
+HXDLIN(1844) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMemberUpdates(_hx_tmp5,this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),memberUpdates,false), ::Dynamic(new _hx_Closure_1(_gthis)),null());
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis, ::borogove::Member,member) HXARGC(1)
::borogove::EventResult _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1650_setPresence)
-HXLINE(1650) return _gthis->trigger(HX_("members/update",bf,63,66,64),::cpp::VirtualArray_obj::__new(1)->init(0,member));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1848_setPresence)
+HXLINE(1848) return _gthis->trigger(HX_("members/update",bf,63,66,64),::cpp::VirtualArray_obj::__new(1)->init(0,member));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1650) ::Dynamic _hx_tmp6 = this->persistence;
-HXDLIN(1650) ::String _hx_tmp7 = this->client->accountId();
-HXDLIN(1650) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMembers(_hx_tmp6,_hx_tmp7,this->chatId,::Array_obj< ::Dynamic>::__new(1)->init(0,member)), ::Dynamic(new _hx_Closure_2(_gthis,member)),null());
+HXLINE(1848) ::Dynamic _hx_tmp6 = this->persistence;
+HXDLIN(1848) ::String _hx_tmp7 = this->client->accountId();
+HXDLIN(1848) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMembers(_hx_tmp6,_hx_tmp7,this->chatId,::Array_obj< ::Dynamic>::__new(1)->init(0,member)), ::Dynamic(new _hx_Closure_2(_gthis,member)),null());
}
}
-HXLINE(1655) ::borogove::Stanza mucUser1 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE(1656) if (::hx::IsNotNull( mucUser1 )) {
-HXLINE(1657) ::borogove::Stanza mav = mucUser1->getChild(HX_("mav",a2,0a,53,00),HX_("urn:xmpp:muc:affiliations:1",75,28,1f,fe));
-HXLINE(1658) bool _hx_tmp8;
-HXDLIN(1658) ::Dynamic tmp4;
-HXDLIN(1658) if (::hx::IsNotNull( mav )) {
-HXLINE(1658) tmp4 = mav->attr;
+HXLINE(1853) ::borogove::Stanza mucUser1 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(1854) if (::hx::IsNotNull( mucUser1 )) {
+HXLINE(1855) ::borogove::Stanza mav = mucUser1->getChild(HX_("mav",a2,0a,53,00),HX_("urn:xmpp:muc:affiliations:1",75,28,1f,fe));
+HXLINE(1856) bool _hx_tmp8;
+HXDLIN(1856) ::haxe::ds::StringMap tmp4;
+HXDLIN(1856) if (::hx::IsNotNull( mav )) {
+HXLINE(1856) tmp4 = mav->attr;
}
else {
-HXLINE(1658) tmp4 = null();
+HXLINE(1856) tmp4 = null();
}
-HXDLIN(1658) ::String _hx_tmp9;
-HXDLIN(1658) if (::hx::IsNotNull( tmp4 )) {
-HXLINE(1658) _hx_tmp9 = ( (::String)(::Reflect_obj::field(tmp4,HX_("since",ba,eb,cf,7c))) );
+HXDLIN(1856) ::String _hx_tmp9;
+HXDLIN(1856) if (::hx::IsNotNull( tmp4 )) {
+HXLINE(1856) _hx_tmp9 = tmp4->get_string(HX_("since",ba,eb,cf,7c));
}
else {
-HXLINE(1658) _hx_tmp9 = null();
+HXLINE(1856) _hx_tmp9 = null();
}
-HXDLIN(1658) if (::hx::IsNotNull( _hx_tmp9 )) {
-HXLINE(1658) ::Dynamic tmp5;
-HXDLIN(1658) if (::hx::IsNotNull( mav )) {
-HXLINE(1658) tmp5 = mav->attr;
+HXDLIN(1856) if (::hx::IsNotNull( _hx_tmp9 )) {
+HXLINE(1856) ::haxe::ds::StringMap tmp5;
+HXDLIN(1856) if (::hx::IsNotNull( mav )) {
+HXLINE(1856) tmp5 = mav->attr;
}
else {
-HXLINE(1658) tmp5 = null();
+HXLINE(1856) tmp5 = null();
}
-HXDLIN(1658) ::String _hx_tmp10;
-HXDLIN(1658) if (::hx::IsNotNull( tmp5 )) {
-HXLINE(1658) _hx_tmp10 = ( (::String)(::Reflect_obj::field(tmp5,HX_("since",ba,eb,cf,7c))) );
+HXDLIN(1856) ::String _hx_tmp10;
+HXDLIN(1856) if (::hx::IsNotNull( tmp5 )) {
+HXLINE(1856) _hx_tmp10 = tmp5->get_string(HX_("since",ba,eb,cf,7c));
}
else {
-HXLINE(1658) _hx_tmp10 = null();
+HXLINE(1856) _hx_tmp10 = null();
}
-HXDLIN(1658) _hx_tmp8 = (_hx_tmp10 != this->mavUntil);
+HXDLIN(1856) _hx_tmp8 = (_hx_tmp10 != this->mavUntil);
}
else {
-HXLINE(1658) _hx_tmp8 = false;
+HXLINE(1856) _hx_tmp8 = false;
}
-HXDLIN(1658) if (_hx_tmp8) {
-HXLINE(1659) ::haxe::Log_obj::trace(HX_("MAV update with unknown previous version",e6,80,1b,7e), ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN(1856) if (_hx_tmp8) {
+HXLINE(1857) ::haxe::Log_obj::trace(HX_("MAV update with unknown previous version",e6,80,1b,7e), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,this->mavUntil)->init(1,presence))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("setPresence",fd,1b,38,97))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1659)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1857)));
}
-HXLINE(1661) bool _hx_tmp11;
-HXDLIN(1661) ::Dynamic tmp6;
-HXDLIN(1661) if (::hx::IsNotNull( mav )) {
-HXLINE(1661) tmp6 = mav->attr;
+HXLINE(1859) bool _hx_tmp11;
+HXDLIN(1859) ::haxe::ds::StringMap tmp6;
+HXDLIN(1859) if (::hx::IsNotNull( mav )) {
+HXLINE(1859) tmp6 = mav->attr;
}
else {
-HXLINE(1661) tmp6 = null();
+HXLINE(1859) tmp6 = null();
}
-HXDLIN(1661) ::String _hx_tmp12;
-HXDLIN(1661) if (::hx::IsNotNull( tmp6 )) {
-HXLINE(1661) _hx_tmp12 = ( (::String)(::Reflect_obj::field(tmp6,HX_("until",9e,b8,ef,a6))) );
+HXDLIN(1859) ::String _hx_tmp12;
+HXDLIN(1859) if (::hx::IsNotNull( tmp6 )) {
+HXLINE(1859) _hx_tmp12 = tmp6->get_string(HX_("until",9e,b8,ef,a6));
+ }
+ else {
+HXLINE(1859) _hx_tmp12 = null();
+ }
+HXDLIN(1859) if (::hx::IsNotNull( _hx_tmp12 )) {
+HXLINE(1859) ::String _hx_tmp13 = this->mavUntil;
+HXDLIN(1859) ::haxe::ds::StringMap tmp7;
+HXDLIN(1859) if (::hx::IsNotNull( mav )) {
+HXLINE(1859) tmp7 = mav->attr;
+ }
+ else {
+HXLINE(1859) tmp7 = null();
+ }
+HXDLIN(1859) ::String _hx_tmp14;
+HXDLIN(1859) if (::hx::IsNotNull( tmp7 )) {
+HXLINE(1859) _hx_tmp14 = tmp7->get_string(HX_("until",9e,b8,ef,a6));
+ }
+ else {
+HXLINE(1859) _hx_tmp14 = null();
+ }
+HXDLIN(1859) _hx_tmp11 = (_hx_tmp13 != _hx_tmp14);
}
else {
-HXLINE(1661) _hx_tmp12 = null();
+HXLINE(1859) _hx_tmp11 = false;
}
-HXDLIN(1661) if (::hx::IsNotNull( _hx_tmp12 )) {
-HXLINE(1661) ::String _hx_tmp13 = this->mavUntil;
-HXDLIN(1661) ::Dynamic tmp7;
-HXDLIN(1661) if (::hx::IsNotNull( mav )) {
-HXLINE(1661) tmp7 = mav->attr;
+HXDLIN(1859) if (_hx_tmp11) {
+HXLINE(1860) ::haxe::ds::StringMap tmp8;
+HXDLIN(1860) if (::hx::IsNotNull( mav )) {
+HXLINE(1860) tmp8 = mav->attr;
}
else {
-HXLINE(1661) tmp7 = null();
+HXLINE(1860) tmp8 = null();
}
-HXDLIN(1661) ::String _hx_tmp14;
-HXDLIN(1661) if (::hx::IsNotNull( tmp7 )) {
-HXLINE(1661) _hx_tmp14 = ( (::String)(::Reflect_obj::field(tmp7,HX_("until",9e,b8,ef,a6))) );
+HXDLIN(1860) ::String _hx_tmp15;
+HXDLIN(1860) if (::hx::IsNotNull( tmp8 )) {
+HXLINE(1860) _hx_tmp15 = tmp8->get_string(HX_("until",9e,b8,ef,a6));
}
else {
-HXLINE(1661) _hx_tmp14 = null();
+HXLINE(1860) _hx_tmp15 = null();
}
-HXDLIN(1661) _hx_tmp11 = (_hx_tmp13 != _hx_tmp14);
+HXDLIN(1860) this->mavUntil = _hx_tmp15;
+HXLINE(1861) if (!(noStore)) {
+HXLINE(1861) ::Dynamic _hx_tmp16 = this->persistence;
+HXDLIN(1861) ::borogove::Persistence_obj::storeChats(_hx_tmp16,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+ }
+HXLINE(1863) bool _hx_tmp17;
+HXDLIN(1863) bool _hx_tmp18;
+HXDLIN(1863) if (!(noStore)) {
+HXLINE(1863) ::borogove::Stanza tmp9 = mucUser1->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1863) ::haxe::ds::StringMap tmp10;
+HXDLIN(1863) if (::hx::IsNotNull( tmp9 )) {
+HXLINE(1863) tmp10 = tmp9->attr;
+ }
+ else {
+HXLINE(1863) tmp10 = null();
+ }
+HXDLIN(1863) ::String tmp11;
+HXDLIN(1863) if (::hx::IsNotNull( tmp10 )) {
+HXLINE(1863) tmp11 = tmp10->get_string(HX_("role",76,eb,ae,4b));
+ }
+ else {
+HXLINE(1863) tmp11 = null();
+ }
+HXDLIN(1863) ::String _hx_tmp19;
+HXDLIN(1863) if (::hx::IsNotNull( tmp11 )) {
+HXLINE(1863) _hx_tmp19 = tmp11;
+ }
+ else {
+HXLINE(1863) _hx_tmp19 = HX_("none",b8,12,0a,49);
+ }
+HXDLIN(1863) _hx_tmp18 = (_hx_tmp19 != HX_("visitor",ae,23,32,a3));
}
else {
-HXLINE(1661) _hx_tmp11 = false;
+HXLINE(1863) _hx_tmp18 = false;
}
-HXDLIN(1661) if (_hx_tmp11) {
-HXLINE(1662) ::Dynamic tmp8;
-HXDLIN(1662) if (::hx::IsNotNull( mav )) {
-HXLINE(1662) tmp8 = mav->attr;
+HXDLIN(1863) if (_hx_tmp18) {
+HXLINE(1863) ::borogove::Stanza tmp12 = mucUser1->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1863) ::haxe::ds::StringMap tmp13;
+HXDLIN(1863) if (::hx::IsNotNull( tmp12 )) {
+HXLINE(1863) tmp13 = tmp12->attr;
+ }
+ else {
+HXLINE(1863) tmp13 = null();
+ }
+HXDLIN(1863) ::String jid;
+HXDLIN(1863) if (::hx::IsNotNull( tmp13 )) {
+HXLINE(1863) jid = tmp13->get_string(HX_("jid",c5,ca,50,00));
}
else {
-HXLINE(1662) tmp8 = null();
+HXLINE(1863) jid = null();
}
-HXDLIN(1662) ::String _hx_tmp15;
-HXDLIN(1662) if (::hx::IsNotNull( tmp8 )) {
-HXLINE(1662) _hx_tmp15 = ( (::String)(::Reflect_obj::field(tmp8,HX_("until",9e,b8,ef,a6))) );
+HXDLIN(1863) ::borogove::JID _hx_tmp20;
+HXDLIN(1863) if (::hx::IsNull( jid )) {
+HXLINE(1863) _hx_tmp20 = null();
}
else {
-HXLINE(1662) _hx_tmp15 = null();
+HXLINE(1863) _hx_tmp20 = ::borogove::JID_obj::parse(jid);
}
-HXDLIN(1662) this->mavUntil = _hx_tmp15;
-HXLINE(1663) ::Dynamic _hx_tmp16 = this->persistence;
-HXDLIN(1663) ::borogove::Persistence_obj::storeChats(_hx_tmp16,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXDLIN(1863) _hx_tmp17 = ::hx::IsNotNull( _hx_tmp20 );
+ }
+ else {
+HXLINE(1863) _hx_tmp17 = false;
+ }
+HXDLIN(1863) if (_hx_tmp17) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Channel,_gthis) HXARGC(1)
+ ::borogove::EventResult _hx_run(bool _){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1865_setPresence)
+HXLINE(1865) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1865) ::Dynamic _hx_tmp21 = this->persistence;
+HXDLIN(1865) ::String _hx_tmp22 = this->client->accountId();
+HXDLIN(1865) ::borogove::Stanza tmp14 = mucUser1->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(1865) ::haxe::ds::StringMap tmp15;
+HXDLIN(1865) if (::hx::IsNotNull( tmp14 )) {
+HXLINE(1865) tmp15 = tmp14->attr;
+ }
+ else {
+HXLINE(1865) tmp15 = null();
+ }
+HXDLIN(1865) ::String jid1;
+HXDLIN(1865) if (::hx::IsNotNull( tmp15 )) {
+HXLINE(1865) jid1 = tmp15->get_string(HX_("jid",c5,ca,50,00));
+ }
+ else {
+HXLINE(1865) jid1 = null();
+ }
+HXDLIN(1865) ::borogove::JID _hx_tmp23;
+HXDLIN(1865) if (::hx::IsNull( jid1 )) {
+HXLINE(1865) _hx_tmp23 = null();
+ }
+ else {
+HXLINE(1865) _hx_tmp23 = ::borogove::JID_obj::parse(jid1);
+ }
+HXDLIN(1865) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeVoiceRequest(_hx_tmp21,_hx_tmp22,::hx::ObjectPtr<OBJ_>(this),_hx_tmp23->asBare()->asString(),false), ::Dynamic(new _hx_Closure_3(_gthis)),null());
}
}
-HXLINE(1666) if (member->isSelf) {
-HXLINE(1667) if ((( (::String)(::Reflect_obj::field(presence->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
-HXLINE(1668) this->self = null();
-HXLINE(1669) this->outbox->pause();
+HXLINE(1870) if (member->isSelf) {
+HXLINE(1871) if (::hx::IsEq( presence->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
+HXLINE(1872) this->self = null();
+HXLINE(1873) this->outbox->pause();
}
else {
-HXLINE(1671) this->self = member;
-HXLINE(1672) this->outbox->start();
+HXLINE(1875) this->self = member;
+HXLINE(1876) this->outbox->start();
+HXLINE(1877) this->client->channelPinger->schedule(::hx::ObjectPtr<OBJ_>(this),null());
+ }
+HXLINE(1879) if (!(noStore)) {
+HXLINE(1879) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
-HXLINE(1674) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
-HXLINE(1676) bool _hx_tmp17;
-HXDLIN(1676) bool _hx_tmp18;
-HXDLIN(1676) if (!(member->isSelf)) {
-HXLINE(1676) _hx_tmp18 = (member->id != this->chatId);
+HXLINE(1881) bool _hx_tmp24;
+HXDLIN(1881) bool _hx_tmp25;
+HXDLIN(1881) if (!(member->isSelf)) {
+HXLINE(1881) _hx_tmp25 = (member->id != this->chatId);
}
else {
-HXLINE(1676) _hx_tmp18 = false;
+HXLINE(1881) _hx_tmp25 = false;
}
-HXDLIN(1676) if (_hx_tmp18) {
-HXLINE(1676) _hx_tmp17 = ::hx::IsNotNull( this->membersForName );
+HXDLIN(1881) if (_hx_tmp25) {
+HXLINE(1881) _hx_tmp24 = ::hx::IsNotNull( this->membersForName );
}
else {
-HXLINE(1676) _hx_tmp17 = false;
+HXLINE(1881) _hx_tmp24 = false;
}
-HXDLIN(1676) if (_hx_tmp17) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(2)
+HXDLIN(1881) if (_hx_tmp24) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(2)
int _hx_run( ::Dynamic a, ::Dynamic b){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1679_setPresence)
-HXLINE(1679) return ::Reflect_obj::compare( ::Dynamic(a->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)), ::Dynamic(b->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1884_setPresence)
+HXLINE(1884) return ::Reflect_obj::compare( ::Dynamic(a->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)), ::Dynamic(b->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(1677) ::Array< ::Dynamic> _this1 = this->membersForName;
-HXDLIN(1677) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1677) {
-HXLINE(1677) int _g3 = 0;
-HXDLIN(1677) while((_g3 < _this1->length)){
-HXLINE(1677) ::Dynamic v = _this1->__get(_g3);
-HXDLIN(1677) _g3 = (_g3 + 1);
-HXDLIN(1677) if (::hx::IsNotEq( v->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),member->id )) {
-HXLINE(1677) _g2->push(v);
+HXLINE(1882) ::Array< ::Dynamic> _this1 = this->membersForName;
+HXDLIN(1882) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1882) {
+HXLINE(1882) int _g3 = 0;
+HXDLIN(1882) while((_g3 < _this1->length)){
+HXLINE(1882) ::Dynamic v = _this1->__get(_g3);
+HXDLIN(1882) _g3 = (_g3 + 1);
+HXDLIN(1882) if (::hx::IsNotEq( v->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),member->id )) {
+HXLINE(1882) _g2->push(v);
}
}
}
-HXDLIN(1677) this->membersForName = _g2;
-HXLINE(1678) this->membersForName->push( ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(1882) this->membersForName = _g2;
+HXLINE(1883) this->membersForName->push( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),member->id)
->setFixed(1,HX_("displayName",ad,11,f2,30),member->displayName)));
-HXLINE(1679) this->membersForName->sort( ::Dynamic(new _hx_Closure_3()));
-HXLINE(1680) if ((this->membersForName->length > 20)) {
-HXLINE(1680) this->membersForName = null();
- }
-HXLINE(1681) if ((this->displayName == this->chatId)) {
-HXLINE(1681) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
- }
- }
-HXLINE(1683) ::borogove::Stanza tmp9;
-HXDLIN(1683) if (::hx::IsNotNull( presence )) {
-HXLINE(1683) tmp9 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
- }
- else {
-HXLINE(1683) tmp9 = null();
- }
-HXDLIN(1683) ::Array< ::String > tmp10;
-HXDLIN(1683) if (::hx::IsNotNull( tmp9 )) {
-HXLINE(1683) ::Array< ::Dynamic> _this2 = tmp9->allTags(HX_("status",32,e7,fb,05),null());
-HXDLIN(1683) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this2->length);
-HXDLIN(1683) {
-HXLINE(1683) int _g4 = 0;
-HXDLIN(1683) int _g5 = _this2->length;
-HXDLIN(1683) while((_g4 < _g5)){
-HXLINE(1683) _g4 = (_g4 + 1);
-HXDLIN(1683) int i1 = (_g4 - 1);
-HXDLIN(1683) {
-HXLINE(1683) ::String inValue1 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i1)) )->attr,HX_("code",2d,b1,c4,41))) );
-HXDLIN(1683) result1->__unsafe_set(i1,inValue1);
+HXLINE(1884) this->membersForName->sort( ::Dynamic(new _hx_Closure_4()));
+HXLINE(1885) if ((this->membersForName->length > 20)) {
+HXLINE(1885) this->membersForName = null();
+ }
+HXLINE(1886) bool _hx_tmp26;
+HXDLIN(1886) if ((this->displayName == this->chatId)) {
+HXLINE(1886) _hx_tmp26 = !(noStore);
+ }
+ else {
+HXLINE(1886) _hx_tmp26 = false;
+ }
+HXDLIN(1886) if (_hx_tmp26) {
+HXLINE(1886) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+ }
+HXLINE(1888) ::borogove::Stanza tmp16;
+HXDLIN(1888) if (::hx::IsNotNull( presence )) {
+HXLINE(1888) tmp16 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+ }
+ else {
+HXLINE(1888) tmp16 = null();
+ }
+HXDLIN(1888) ::Array< ::String > tmp17;
+HXDLIN(1888) if (::hx::IsNotNull( tmp16 )) {
+HXLINE(1888) ::Array< ::Dynamic> _this2 = tmp16->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(1888) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this2->length);
+HXDLIN(1888) {
+HXLINE(1888) int _g4 = 0;
+HXDLIN(1888) int _g5 = _this2->length;
+HXDLIN(1888) while((_g4 < _g5)){
+HXLINE(1888) _g4 = (_g4 + 1);
+HXDLIN(1888) int i1 = (_g4 - 1);
+HXDLIN(1888) {
+HXLINE(1888) ::String inValue1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i1)) )->attr->get_string(HX_("code",2d,b1,c4,41));
+HXDLIN(1888) result1->__unsafe_set(i1,inValue1);
}
}
}
-HXDLIN(1683) tmp10 = result1;
+HXDLIN(1888) tmp17 = result1;
}
else {
-HXLINE(1683) tmp10 = null();
+HXLINE(1888) tmp17 = null();
}
-HXDLIN(1683) ::String tripleThree;
-HXDLIN(1683) if (::hx::IsNotNull( tmp10 )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
+HXDLIN(1888) ::String tripleThree;
+HXDLIN(1888) if (::hx::IsNotNull( tmp17 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
bool _hx_run(::String status){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1683_setPresence)
-HXLINE(1683) return (status == HX_("333",93,df,26,00));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1888_setPresence)
+HXLINE(1888) return (status == HX_("333",93,df,26,00));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1683) tripleThree = ( (::String)(::Lambda_obj::find(tmp10, ::Dynamic(new _hx_Closure_4()))) );
+HXLINE(1888) tripleThree = ( (::String)(::Lambda_obj::find(tmp17, ::Dynamic(new _hx_Closure_5()))) );
}
else {
-HXLINE(1683) tripleThree = null();
+HXLINE(1888) tripleThree = null();
}
-HXLINE(1684) bool _hx_tmp19;
-HXDLIN(1684) if (member->isSelf) {
-HXLINE(1684) _hx_tmp19 = ::hx::IsNotNull( tripleThree );
+HXLINE(1889) bool _hx_tmp27;
+HXDLIN(1889) if (member->isSelf) {
+HXLINE(1889) _hx_tmp27 = ::hx::IsNotNull( tripleThree );
}
else {
-HXLINE(1684) _hx_tmp19 = false;
+HXLINE(1889) _hx_tmp27 = false;
}
-HXDLIN(1684) if (_hx_tmp19) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::borogove::Channel,_gthis) HXARGC(0)
+HXDLIN(1889) if (_hx_tmp27) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::borogove::Channel,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1685_setPresence)
-HXLINE(1685) _gthis->selfPing(true);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1890_setPresence)
+HXLINE(1890) _gthis->selfPing(true);
}
HX_END_LOCAL_FUNC0((void))
-HXLINE(1685) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_5(_gthis)),5000);
+HXLINE(1890) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_6(_gthis)),5000);
}
}
@@ -1223,10 +1666,10 @@ HXLINE(1685) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_5(_gthis)),50
void Channel_obj::doSync( ::borogove::ChatMessage syncPoint,::String sortA){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1714_doSync)
-HXLINE(1715) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(1716) builder->syncPoint = true;
-HXLINE(1717) return builder;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1944_doSync)
+HXLINE(1945) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(1946) builder->syncPoint = true;
+HXLINE(1947) return builder;
}
HX_END_LOCAL_FUNC2(return)
@@ -1234,170 +1677,179 @@ HXLINE(1717) return builder;
void _hx_run( ::Dynamic messageList){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::borogove::Channel,_gthis,::Array< ::Dynamic>,chatMessages) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1750_doSync)
-HXLINE(1751) {
-HXLINE(1751) int _g = 0;
-HXDLIN(1751) while((_g < stored->length)){
-HXLINE(1751) ::Array< ::Dynamic> messages = stored->__get(_g).StaticCast< ::Array< ::Dynamic> >();
-HXDLIN(1751) _g = (_g + 1);
-HXLINE(1752) if (::hx::IsNotNull( messages )) {
-HXLINE(1753) int _g1 = 0;
-HXDLIN(1753) while((_g1 < messages->length)){
-HXLINE(1753) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1753) _g1 = (_g1 + 1);
-HXLINE(1754) _gthis->client->notifySyncMessageHandlers(message);
-HXLINE(1755) bool _hx_tmp;
-HXDLIN(1755) if (::hx::IsNotNull( message )) {
-HXLINE(1755) ::String _hx_tmp1 = message->chatId();
-HXDLIN(1755) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1980_doSync)
+HXLINE(1981) {
+HXLINE(1981) int _g = 0;
+HXDLIN(1981) while((_g < stored->length)){
+HXLINE(1981) ::Array< ::Dynamic> messages = stored->__get(_g).StaticCast< ::Array< ::Dynamic> >();
+HXDLIN(1981) _g = (_g + 1);
+HXLINE(1982) if (::hx::IsNotNull( messages )) {
+HXLINE(1983) int _g1 = 0;
+HXDLIN(1983) while((_g1 < messages->length)){
+HXLINE(1983) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1983) _g1 = (_g1 + 1);
+HXLINE(1984) _gthis->client->notifySyncMessageHandlers(message);
+HXLINE(1985) bool _hx_tmp;
+HXDLIN(1985) if (::hx::IsNotNull( message )) {
+HXLINE(1985) ::String _hx_tmp1 = message->chatId();
+HXDLIN(1985) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
}
else {
-HXLINE(1755) _hx_tmp = false;
+HXLINE(1985) _hx_tmp = false;
}
-HXDLIN(1755) if (_hx_tmp) {
-HXLINE(1755) chatMessages->push(message);
+HXDLIN(1985) if (_hx_tmp) {
+HXLINE(1985) chatMessages->push(message);
}
-HXLINE(1756) if ((chatMessages->length > 1000)) {
-HXLINE(1756) chatMessages->shift().StaticCast< ::borogove::ChatMessage >();
+HXLINE(1986) if ((chatMessages->length > 1000)) {
+HXLINE(1986) chatMessages->shift().StaticCast< ::borogove::ChatMessage >();
}
}
}
}
}
-HXLINE(1760) if (_gthis->sync->hasMore()) {
-HXLINE(1761) _gthis->sync->fetchNext();
+HXLINE(1990) if (_gthis->sync->hasMore()) {
+HXLINE(1991) _gthis->sync->fetchNext();
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_6) HXARGC(2)
int _hx_run( ::borogove::ChatMessage x, ::borogove::ChatMessage y){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1777_doSync)
-HXLINE(1777) return ::Reflect_obj::compare(x->timestamp,y->timestamp);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2011_doSync)
+HXLINE(2011) return ::Reflect_obj::compare(x->timeReceived,y->timeReceived);
}
HX_END_LOCAL_FUNC2(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Channel,_gthis) HXARGC(1)
bool _hx_run( ::borogove::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1779_doSync)
-HXLINE(1779) if ((m->serverId != _gthis->readUpToId)) {
-HXLINE(1779) return !(m->isIncoming());
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2013_doSync)
+HXLINE(2013) if ((m->serverId != _gthis->readUpToId)) {
+HXLINE(2013) return !(m->isIncoming());
}
else {
-HXLINE(1779) return true;
+HXLINE(2013) return true;
}
-HXDLIN(1779) return false;
+HXDLIN(2013) return false;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1763) _gthis->inSync = true;
-HXLINE(1764) _gthis->sync = null();
-HXLINE(1766) ::haxe::ds::StringMap serverIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1767) ::Array< ::Dynamic> dedupedMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1768) chatMessages->reverse();
-HXLINE(1769) {
-HXLINE(1769) int _g2 = 0;
-HXDLIN(1769) while((_g2 < chatMessages->length)){
-HXLINE(1769) ::borogove::ChatMessage m = chatMessages->__get(_g2).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1769) _g2 = (_g2 + 1);
-HXLINE(1770) ::Dynamic tmp = serverIds->get(m->serverId);
-HXDLIN(1770) bool _hx_tmp2;
-HXDLIN(1770) if (::hx::IsNotNull( tmp )) {
-HXLINE(1770) _hx_tmp2 = ( (bool)(tmp) );
+HXLINE(1993) _gthis->inSync = true;
+HXLINE(1994) ::haxe::Log_obj::trace(HX_("SYNC: channel inSync",1e,d0,1c,33), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("inSync",e0,98,c5,88),_gthis->inSync)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("MAM sync complete",37,d7,30,1f)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1994)));
+HXLINE(1998) _gthis->sync = null();
+HXLINE(2000) ::haxe::ds::StringMap serverIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(2001) ::Array< ::Dynamic> dedupedMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2002) chatMessages->reverse();
+HXLINE(2003) {
+HXLINE(2003) int _g2 = 0;
+HXDLIN(2003) while((_g2 < chatMessages->length)){
+HXLINE(2003) ::borogove::ChatMessage m = chatMessages->__get(_g2).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(2003) _g2 = (_g2 + 1);
+HXLINE(2004) ::Dynamic tmp = serverIds->get(m->serverId);
+HXDLIN(2004) bool _hx_tmp2;
+HXDLIN(2004) if (::hx::IsNotNull( tmp )) {
+HXLINE(2004) _hx_tmp2 = ( (bool)(tmp) );
}
else {
-HXLINE(1770) _hx_tmp2 = false;
+HXLINE(2004) _hx_tmp2 = false;
}
-HXDLIN(1770) if (!(_hx_tmp2)) {
-HXLINE(1771) dedupedMessages->unshift(m);
-HXLINE(1772) serverIds->set(m->serverId,true);
+HXDLIN(2004) if (!(_hx_tmp2)) {
+HXLINE(2005) dedupedMessages->unshift(m);
+HXLINE(2006) serverIds->set(m->serverId,true);
}
}
}
-HXLINE(1777) dedupedMessages->sort( ::Dynamic(new _hx_Closure_6()));
-HXLINE(1779) int readIndex = ::borogove::Util_obj::findLastIndex(dedupedMessages, ::Dynamic(new _hx_Closure_7(_gthis)));
-HXLINE(1780) if ((readIndex < 0)) {
-HXLINE(1781) ::borogove::Channel _gthis1 = _gthis;
-HXDLIN(1781) int _hx_tmp3 = _gthis->unreadCount();
-HXDLIN(1781) _gthis1->setUnreadCount((_hx_tmp3 + dedupedMessages->length));
+HXLINE(2011) dedupedMessages->sort( ::Dynamic(new _hx_Closure_6()));
+HXLINE(2013) int readIndex = ::borogove::Util_obj::findLastIndex(dedupedMessages, ::Dynamic(new _hx_Closure_7(_gthis)));
+HXLINE(2014) if ((readIndex < 0)) {
+HXLINE(2015) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(2015) int _hx_tmp3 = _gthis->unreadCount();
+HXDLIN(2015) _gthis1->setUnreadCount((_hx_tmp3 + dedupedMessages->length));
}
else {
-HXLINE(1783) _gthis->setUnreadCount(((dedupedMessages->length - readIndex) - 1));
+HXLINE(2017) _gthis->setUnreadCount(((dedupedMessages->length - readIndex) - 1));
}
-HXLINE(1786) ::borogove::ChatMessage lastFromSync = dedupedMessages->__get((dedupedMessages->length - 1)).StaticCast< ::borogove::ChatMessage >();
-HXLINE(1787) bool _hx_tmp4;
-HXDLIN(1787) if (::hx::IsNotNull( lastFromSync )) {
-HXLINE(1787) if (::hx::IsNotNull( _gthis->lastMessage )) {
-HXLINE(1787) _hx_tmp4 = (lastFromSync->sortId > _gthis->lastMessage->sortId);
+HXLINE(2020) ::borogove::ChatMessage lastFromSync = dedupedMessages->__get((dedupedMessages->length - 1)).StaticCast< ::borogove::ChatMessage >();
+HXLINE(2021) bool _hx_tmp4;
+HXDLIN(2021) if (::hx::IsNotNull( lastFromSync )) {
+HXLINE(2021) if (::hx::IsNotNull( _gthis->lastMessage )) {
+HXLINE(2021) _hx_tmp4 = (lastFromSync->sortId > _gthis->lastMessage->sortId);
}
else {
-HXLINE(1787) _hx_tmp4 = true;
+HXLINE(2021) _hx_tmp4 = true;
}
}
else {
-HXLINE(1787) _hx_tmp4 = false;
+HXLINE(2021) _hx_tmp4 = false;
}
-HXDLIN(1787) if (_hx_tmp4) {
+HXDLIN(2021) if (_hx_tmp4) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_8, ::borogove::Channel,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1788_doSync)
-HXLINE(1789) _gthis->client->sortChats();
-HXLINE(1790) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2022_doSync)
+HXLINE(2023) _gthis->client->sortChats();
+HXLINE(2024) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1788) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(lastFromSync), ::Dynamic(new _hx_Closure_8(_gthis)),null());
+HXLINE(2022) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(lastFromSync), ::Dynamic(new _hx_Closure_8(_gthis)),null());
}
else {
-HXLINE(1793) ::thenshim::_Promise::Promise_Impl__obj::resolve(_gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis)));
+HXLINE(2027) ::thenshim::_Promise::Promise_Impl__obj::resolve(_gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis)));
}
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1720_doSync)
-HXLINE(1721) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1722) ::Array< ::Dynamic> pageChatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1723) {
-HXLINE(1723) int _g = 0;
-HXDLIN(1723) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN(1723) while((_g < _g1->length)){
-HXLINE(1723) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
-HXDLIN(1723) _g = (_g + 1);
-HXLINE(1724) {
-HXLINE(1724) ::borogove::MessageStanza _g2 = m->parsed;
-HXDLIN(1724) switch((int)(_g2->_hx_getIndex())){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1950_doSync)
+HXLINE(1951) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1952) ::Array< ::Dynamic> pageChatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1953) {
+HXLINE(1953) int _g = 0;
+HXDLIN(1953) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN(1953) while((_g < _g1->length)){
+HXLINE(1953) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN(1953) _g = (_g + 1);
+HXLINE(1954) {
+HXLINE(1954) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN(1954) switch((int)(_g2->_hx_getIndex())){
case (int)0: {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::borogove::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1744_doSync)
-HXLINE(1744) return ::Array_obj< ::Dynamic>::__new(1)->init(0,m);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1974_doSync)
+HXLINE(1974) return ::Array_obj< ::Dynamic>::__new(1)->init(0,m);
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1744_doSync)
-HXLINE(1744) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1974_doSync)
+HXLINE(1974) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1739) ::Dynamic _gthis1 = _gthis->persistence;
-HXLINE(1740) ::String _hx_tmp = _gthis->client->accountId();
-HXLINE(1739) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2())));
+HXLINE(1969) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE(1970) ::String _hx_tmp = _gthis->client->accountId();
+HXLINE(1969) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2())));
}
break;
case (int)1: {
-HXLINE(1725) ::borogove::ChatMessage _g3 = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1725) {
-HXLINE(1726) {
-HXLINE(1726) int _g4 = 0;
-HXDLIN(1726) ::Array< ::Dynamic> _g5 = _g3->inlineHashReferences();
-HXDLIN(1726) while((_g4 < _g5->length)){
-HXLINE(1726) ::borogove::Hash hash = _g5->__get(_g4).StaticCast< ::borogove::Hash >();
-HXDLIN(1726) _g4 = (_g4 + 1);
-HXLINE(1727) _gthis->client->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,_g3->from));
+HXLINE(1955) ::borogove::ChatMessage _g3 = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1955) {
+HXLINE(1956) {
+HXLINE(1956) int _g4 = 0;
+HXDLIN(1956) ::Array< ::Dynamic> _g5 = _g3->inlineHashReferences();
+HXDLIN(1956) while((_g4 < _g5->length)){
+HXLINE(1956) ::borogove::Hash hash = _g5->__get(_g4).StaticCast< ::borogove::Hash >();
+HXDLIN(1956) _g4 = (_g4 + 1);
+HXLINE(1957) _gthis->client->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,_g3->from));
}
}
-HXLINE(1729) pageChatMessages->push(_g3);
+HXLINE(1959) pageChatMessages->push(_g3);
}
}
break;
@@ -1406,30 +1858,30 @@ HXLINE(1729) pageChatMessages->push(_g3);
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,resolve) HXARGC(1)
void _hx_run( ::borogove::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1736_doSync)
-HXLINE(1736) resolve(null());
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1966_doSync)
+HXLINE(1966) resolve(null());
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1736_doSync)
-HXLINE(1736) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->moderateMessage(action), ::Dynamic(new _hx_Closure_3(resolve)),null());
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1966_doSync)
+HXLINE(1966) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->moderateMessage(action), ::Dynamic(new _hx_Closure_3(resolve)),null());
}
HX_END_LOCAL_FUNC2((void))
-HXLINE(1734) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
-HXLINE(1735) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,action))));
+HXLINE(1964) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
+HXLINE(1965) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,action))));
}
break;
case (int)4: {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1732_doSync)
-HXLINE(1732) return null();
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1962_doSync)
+HXLINE(1962) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1732) ::Dynamic _gthis2 = _gthis->persistence;
-HXLINE(1731) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->client->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_5()),null()));
+HXLINE(1962) ::Dynamic _gthis2 = _gthis->persistence;
+HXLINE(1961) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->client->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_5()),null()));
}
break;
default:{
@@ -1438,137 +1890,215 @@ HXLINE(1731) promises->push(::thenshim::_Promise::Promise_Impl__obj::then
}
}
}
-HXLINE(1749) promises->push(_gthis->client->storeMessages(pageChatMessages));
-HXLINE(1750) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_9(_gthis,chatMessages)),null());
+HXLINE(1979) promises->push(_gthis->client->storeMessages(pageChatMessages));
+HXLINE(1980) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_9(_gthis,chatMessages)),null());
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_11, ::borogove::Channel,_gthis, ::borogove::ChatMessage,syncPoint) HXARGC(1)
void _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1798_doSync)
-HXLINE(1799) _gthis->sync = null();
-HXLINE(1800) if (::hx::IsNotNull( syncPoint )) {
-HXLINE(1802) _gthis->doSync(null(),syncPoint->sortId);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2032_doSync)
+HXLINE(2033) _gthis->sync = null();
+HXLINE(2034) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(2036) _gthis->doSync(null(),syncPoint->sortId);
}
else {
-HXLINE(1804) ::haxe::Log_obj::trace(HX_("SYNC failed",e2,ec,6f,fa), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE(2038) ::haxe::Log_obj::trace(HX_("SYNC failed",e2,ec,6f,fa), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,_gthis->chatId)->init(1,stanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1804)));
-HXLINE(1805) _gthis->joinFailed = stanza;
-HXLINE(1806) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2038)));
+HXLINE(2039) _gthis->joinFailed = stanza;
+HXLINE(2040) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1689_doSync)
-HXDLIN(1689) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1690) if (!(this->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da)))) {
-HXLINE(1691) this->inSync = true;
-HXLINE(1692) return;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1894_doSync)
+HXDLIN(1894) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1895) bool _hx_tmp;
+HXDLIN(1895) ::String _hx_tmp1;
+HXDLIN(1895) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(1895) _hx_tmp1 = syncPoint->sortId;
}
-HXLINE(1694) if (::hx::IsNotNull( this->sync )) {
-HXLINE(1694) return;
+ else {
+HXLINE(1895) _hx_tmp1 = null();
+ }
+HXDLIN(1895) if (::hx::IsNotNull( _hx_tmp1 )) {
+HXLINE(1895) if (::hx::IsNotNull( this->sortId )) {
+HXLINE(1895) _hx_tmp = (syncPoint->sortId > this->sortId);
+ }
+ else {
+HXLINE(1895) _hx_tmp = true;
+ }
}
-HXLINE(1697) ::String sortFrom;
-HXDLIN(1697) if (::hx::IsNotNull( sortA )) {
-HXLINE(1697) sortFrom = sortA;
+ else {
+HXLINE(1895) _hx_tmp = false;
+ }
+HXDLIN(1895) if (_hx_tmp) {
+HXLINE(1896) this->sortId = syncPoint->sortId;
+ }
+HXLINE(1898) if (!(this->disco->features->contains(HX_("urn:xmpp:mam:2",f5,ef,8c,da)))) {
+HXLINE(1899) this->inSync = true;
+HXLINE(1900) ::haxe::Log_obj::trace(HX_("SYNC: channel inSync",1e,d0,1c,33), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("inSync",e0,98,c5,88),this->inSync)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("MAM unsupported",8e,f8,34,0b)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1900)));
+HXLINE(1904) return;
+ }
+HXLINE(1906) if (::hx::IsNotNull( this->sync )) {
+HXLINE(1907) ::Dynamic _hx_tmp2 = ::haxe::Log_obj::trace;
+HXLINE(1910) ::String _hx_tmp3 = this->chatId;
+HXLINE(1911) bool _hx_tmp4 = this->inSync;
+HXLINE(1912) ::String _hx_tmp5 = ::borogove::Date_obj::format(::Date_obj::fromTime(this->sync->startedAt));
+HXLINE(1913) Float _hx_tmp6 = ::Date_obj::now()->getTime();
+HXDLIN(1913) Float _hx_tmp7 = (_hx_tmp6 - this->sync->startedAt);
+HXLINE(1914) int _hx_tmp8 = this->sync->progress;
+HXLINE(1915) ::Dynamic _hx_tmp9 = this->sync->lastPage;
+HXLINE(1907) _hx_tmp2(HX_("SYNC: channel doSync skipped, sync already exists",c1,a0,ef,cf), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(7)
+ ->setFixed(0,HX_("progress",ad,f7,2a,86),_hx_tmp8)
+ ->setFixed(1,HX_("inSync",e0,98,c5,88),_hx_tmp4)
+ ->setFixed(2,HX_("chatId",d3,04,77,b7),_hx_tmp3)
+ ->setFixed(3,HX_("lastPage",c5,f3,9a,dd),_hx_tmp9)
+ ->setFixed(4,HX_("startedAt",94,f4,28,11),_hx_tmp5)
+ ->setFixed(5,HX_("hasMore",0f,00,a5,17),this->sync->hasMore())
+ ->setFixed(6,HX_("elapsedMs",c2,62,44,5e),_hx_tmp7))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1907)));
+HXLINE(1919) return;
+ }
+HXLINE(1923) ::String sortFrom;
+HXDLIN(1923) if (::hx::IsNotNull( sortA )) {
+HXLINE(1923) sortFrom = sortA;
}
else {
-HXLINE(1697) if (::hx::IsNotNull( syncPoint )) {
-HXLINE(1697) sortFrom = syncPoint->sortId;
+HXLINE(1923) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(1923) sortFrom = syncPoint->sortId;
}
else {
-HXLINE(1697) sortFrom = null();
+HXLINE(1923) sortFrom = null();
}
}
-HXLINE(1698) ::String sortNext = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortFrom,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE(1699) ::String tmp = this->sortId;
-HXDLIN(1699) ::String sortIdNext;
-HXDLIN(1699) if (::hx::IsNotNull( tmp )) {
-HXLINE(1699) sortIdNext = tmp;
+HXLINE(1924) ::String sortNext = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortFrom,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE(1925) ::String tmp = this->sortId;
+HXDLIN(1925) ::String sortIdNext;
+HXDLIN(1925) if (::hx::IsNotNull( tmp )) {
+HXLINE(1925) sortIdNext = tmp;
}
else {
-HXLINE(1699) sortIdNext = sortNext;
+HXLINE(1925) sortIdNext = sortNext;
}
-HXDLIN(1699) ::String sortIdNext1 = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortIdNext,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE(1700) ::String sortTo;
-HXDLIN(1700) if ((sortNext < sortIdNext1)) {
-HXLINE(1700) sortTo = sortNext;
+HXDLIN(1925) ::String sortIdNext1 = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortIdNext,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE(1926) ::String sortTo;
+HXDLIN(1926) if ((sortNext < sortIdNext1)) {
+HXLINE(1926) sortTo = sortNext;
}
else {
-HXLINE(1700) sortTo = sortIdNext1;
+HXLINE(1926) sortTo = sortIdNext1;
+ }
+HXLINE(1927) bool _hx_tmp10;
+HXDLIN(1927) if (::hx::IsNotNull( this->sortId )) {
+HXLINE(1927) _hx_tmp10 = (this->sortId <= sortTo);
+ }
+ else {
+HXLINE(1927) _hx_tmp10 = true;
+ }
+HXDLIN(1927) if (_hx_tmp10) {
+HXLINE(1927) this->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortTo,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
}
-HXLINE(1701) bool _hx_tmp;
-HXDLIN(1701) if (::hx::IsNotNull( this->sortId )) {
-HXLINE(1701) _hx_tmp = (this->sortId <= sortTo);
+HXLINE(1929) ::String threeDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-259200000.))));
+HXLINE(1934) ::String _hx_tmp11;
+HXDLIN(1934) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(1934) _hx_tmp11 = syncPoint->serverId;
}
else {
-HXLINE(1701) _hx_tmp = true;
+HXLINE(1934) _hx_tmp11 = null();
}
-HXDLIN(1701) if (_hx_tmp) {
-HXLINE(1701) this->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortTo,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXDLIN(1934) ::String _hx_tmp12;
+HXDLIN(1934) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(1934) _hx_tmp12 = syncPoint->sortId;
}
-HXLINE(1703) ::String threeDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-259200000.))));
-HXLINE(1709) ::Dynamic _hx_tmp1;
-HXDLIN(1709) if (::hx::IsNull( syncPoint )) {
-HXLINE(1709) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(1)
+ else {
+HXLINE(1934) _hx_tmp12 = null();
+ }
+HXLINE(1932) ::haxe::Log_obj::trace(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(6)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(1,HX_("reason",c4,0f,9d,fc),HX_("channel doSync",43,25,ed,31))
+ ->setFixed(2,HX_("sortTo",79,84,37,30),sortTo)
+ ->setFixed(3,HX_("sortFrom",e8,ff,3d,47),sortFrom)
+ ->setFixed(4,HX_("syncPointSortId",ae,d4,b4,51),_hx_tmp12)
+ ->setFixed(5,HX_("syncPointServerId",93,3a,99,61),_hx_tmp11))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1932)));
+HXLINE(1939) ::Dynamic _hx_tmp13;
+HXDLIN(1939) if (::hx::IsNull( syncPoint )) {
+HXLINE(1939) _hx_tmp13 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("startTime",8f,45,f0,05),threeDaysAgo));
}
else {
-HXLINE(1709) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1939) _hx_tmp13 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("after",1c,66,a2,1d),syncPoint->serverId))));
}
-HXLINE(1706) this->sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,this->client,this->stream,_hx_tmp1,sortFrom,sortTo,this->chatId);
-HXLINE(1714) this->sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(1719) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1720) this->sync->onMessages( ::Dynamic(new _hx_Closure_10(_gthis,chatMessages)));
-HXLINE(1798) this->sync->onError( ::Dynamic(new _hx_Closure_11(_gthis,syncPoint)));
-HXLINE(1809) this->sync->fetchNext();
+HXLINE(1936) this->sync = ::borogove::MessageSync_obj::__alloc( HX_CTX ,this->client,this->stream,_hx_tmp13,sortFrom,sortTo,this->chatId);
+HXLINE(1944) this->sync->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1949) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1950) this->sync->onMessages( ::Dynamic(new _hx_Closure_10(_gthis,chatMessages)));
+HXLINE(2032) this->sync->onError( ::Dynamic(new _hx_Closure_11(_gthis,syncPoint)));
+HXLINE(2043) this->sync->fetchNext();
}
HX_DEFINE_DYNAMIC_FUNC2(Channel_obj,doSync,(void))
void Channel_obj::setTrusted(bool trusted){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1812_setTrusted)
-HXLINE(1813) this->super::setTrusted(trusted);
-HXLINE(1814) if (trusted) {
-HXLINE(1814) this->selfPing(true);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2046_setTrusted)
+HXLINE(2047) this->super::setTrusted(trusted);
+HXLINE(2048) if (trusted) {
+HXLINE(2048) this->selfPing(true);
}
}
bool Channel_obj::isTrusted(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1818_isTrusted)
-HXDLIN(1818) if ((this->uiState != 2)) {
-HXDLIN(1818) return (this->uiState != 3);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2052_isTrusted)
+HXDLIN(2052) if ((this->uiState != 2)) {
+HXDLIN(2052) return (this->uiState != 3);
}
else {
-HXDLIN(1818) return false;
+HXDLIN(2052) return false;
}
-HXDLIN(1818) return false;
+HXDLIN(2052) return false;
}
bool Channel_obj::isPrivate(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1825_isPrivate)
-HXDLIN(1825) return this->disco->features->contains(HX_("muc_membersonly",41,e9,70,b7));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2059_isPrivate)
+HXDLIN(2059) return this->disco->features->contains(HX_("muc_membersonly",41,e9,70,b7));
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,isPrivate,return )
void Channel_obj::setupNotifications(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1829_setupNotifications)
-HXLINE(1830) if (::hx::IsNull( this->disco )) {
-HXLINE(1830) return;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2063_setupNotifications)
+HXLINE(2064) if (::hx::IsNull( this->disco )) {
+HXLINE(2064) return;
}
-HXLINE(1831) if (!(this->isPrivate())) {
-HXLINE(1831) this->notificationSettings = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2065) if (!(this->isPrivate())) {
+HXLINE(2065) this->notificationSettings = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("mention",ea,9e,bf,b9),true)
->setFixed(1,HX_("reply",2a,09,c6,e6),false));
}
@@ -1580,127 +2110,133 @@ HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,setupNotifications,(void))
void Channel_obj::refreshDisco( ::Dynamic callback){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::Channel,_gthis, ::borogove::queries::DiscoInfoGet,discoGet, ::Dynamic,callback) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1837_refreshDisco)
-HXLINE(1838) if (::hx::IsNotNull( discoGet->getResult() )) {
-HXLINE(1839) ::borogove::CapsRepo _gthis1 = _gthis->client->capsRepo;
-HXDLIN(1839) ::borogove::Caps _hx_tmp = discoGet->getResult();
-HXDLIN(1839) _gthis->disco = _gthis1->add(_hx_tmp,null());
-HXLINE(1840) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN(1840) ::String _hx_tmp1 = _gthis->client->accountId();
-HXDLIN(1840) ::borogove::Persistence_obj::storeChats(_gthis2,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,_gthis));
- }
-HXLINE(1842) if (::hx::IsNotNull( callback )) {
-HXLINE(1842) callback();
- }
-HXLINE(1843) ::borogove::Stanza tmp = _gthis->info();
-HXDLIN(1843) ::borogove::Stanza tmp1;
-HXDLIN(1843) if (::hx::IsNotNull( tmp )) {
-HXLINE(1843) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_avatarhash",55,a5,67,00));
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2071_refreshDisco)
+HXLINE(2072) if (::hx::IsNotNull( discoGet->getResult() )) {
+HXLINE(2073) ::borogove::CapsRepo _gthis1 = _gthis->client->capsRepo;
+HXDLIN(2073) ::borogove::Caps _hx_tmp = discoGet->getResult();
+HXDLIN(2073) _gthis->disco = _gthis1->add(_hx_tmp,null());
+HXLINE(2074) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(2074) ::String _hx_tmp1 = _gthis->client->accountId();
+HXDLIN(2074) ::borogove::Persistence_obj::storeChats(_gthis2,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,_gthis));
+ }
+HXLINE(2076) if (::hx::IsNotNull( callback )) {
+HXLINE(2076) callback();
+ }
+HXLINE(2077) ::borogove::Stanza tmp = _gthis->info();
+HXDLIN(2077) ::borogove::Stanza tmp1;
+HXDLIN(2077) if (::hx::IsNotNull( tmp )) {
+HXLINE(2077) tmp1 = ::borogove::_DataForm::DataForm_Impl__obj::field(tmp,HX_("muc#roominfo_avatarhash",55,a5,67,00));
}
else {
-HXLINE(1843) tmp1 = null();
+HXLINE(2077) tmp1 = null();
}
-HXDLIN(1843) ::Array< ::String > tmp2;
-HXDLIN(1843) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1843) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
+HXDLIN(2077) ::Array< ::String > tmp2;
+HXDLIN(2077) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2077) tmp2 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp1);
}
else {
-HXLINE(1843) tmp2 = null();
+HXLINE(2077) tmp2 = null();
}
-HXDLIN(1843) ::String avatarSha1Hex;
-HXDLIN(1843) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1843) avatarSha1Hex = tmp2->join(HX_("",00,00,00,00));
+HXDLIN(2077) ::String avatarSha1Hex;
+HXDLIN(2077) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(2077) avatarSha1Hex = tmp2->join(HX_("",00,00,00,00));
}
else {
-HXLINE(1843) avatarSha1Hex = null();
+HXLINE(2077) avatarSha1Hex = null();
}
-HXLINE(1844) bool _hx_tmp2;
-HXDLIN(1844) if (::hx::IsNotNull( avatarSha1Hex )) {
-HXLINE(1844) _hx_tmp2 = (avatarSha1Hex != HX_("",00,00,00,00));
+HXLINE(2078) bool _hx_tmp2;
+HXDLIN(2078) if (::hx::IsNotNull( avatarSha1Hex )) {
+HXLINE(2078) _hx_tmp2 = (avatarSha1Hex != HX_("",00,00,00,00));
}
else {
-HXLINE(1844) _hx_tmp2 = false;
+HXLINE(2078) _hx_tmp2 = false;
}
-HXDLIN(1844) if (_hx_tmp2) {
+HXDLIN(2078) if (_hx_tmp2) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis) HXARGC(1)
- void _hx_run(bool has){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1848_refreshDisco)
-HXLINE(1848) if (!(has)) {
+ void _hx_run(::String has){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2082_refreshDisco)
+HXLINE(2082) if (::hx::IsNull( has )) {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis, ::borogove::queries::VcardTempGet,vcardGet) HXARGC(0)
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
- ::borogove::EventResult _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1853_refreshDisco)
-HXLINE(1853) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ ::borogove::EventResult _hx_run(::String _){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2087_refreshDisco)
+HXLINE(2087) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1850_refreshDisco)
-HXLINE(1851) ::Dynamic vcard = vcardGet->getResult();
-HXLINE(1852) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
-HXLINE(1852) return;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2084_refreshDisco)
+HXLINE(2085) ::Dynamic vcard = vcardGet->getResult();
+HXLINE(2086) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
+HXLINE(2086) return;
}
-HXLINE(1853) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis->persistence, ::Dynamic( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)),( ( ::haxe::io::Bytes)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) )->b), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE(2087) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(2087) ::String vcard1 = ( (::String)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)) );
+HXDLIN(2087) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis1,vcard1,::borogove::_Source::Source_Impl__obj::ofTinkSource( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(( ( ::haxe::io::Bytes)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) )))))), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
HX_END_LOCAL_FUNC0((void))
-HXLINE(1849) ::borogove::queries::VcardTempGet vcardGet = ::borogove::queries::VcardTempGet_obj::__alloc( HX_CTX ,::borogove::JID_obj::parse(_gthis->chatId));
-HXLINE(1850) vcardGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,vcardGet)));
-HXLINE(1857) _gthis->client->sendQueryLazy(vcardGet);
+HXLINE(2083) ::borogove::queries::VcardTempGet vcardGet = ::borogove::queries::VcardTempGet_obj::__alloc( HX_CTX ,::borogove::JID_obj::parse(_gthis->chatId));
+HXLINE(2084) vcardGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,vcardGet)));
+HXLINE(2091) _gthis->client->sendQueryLazy(vcardGet);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1845) ::borogove::Hash hash = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
-HXLINE(1846) _gthis->avatarSha1 = hash->hash;
-HXLINE(1847) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(_gthis->persistence,HX_("sha-1",90,a8,1c,7c),_gthis->avatarSha1), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+HXLINE(2079) ::borogove::Hash hash = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+HXLINE(2080) _gthis->avatarSha1 = hash->hash;
+HXLINE(2081) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(_gthis->persistence,hash), ::Dynamic(new _hx_Closure_2(_gthis)),null());
}
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1835_refreshDisco)
-HXDLIN(1835) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1836) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,this->chatId,null());
-HXLINE(1837) discoGet->onFinished( ::Dynamic(new _hx_Closure_3(_gthis,discoGet,callback)));
-HXLINE(1862) this->client->sendQuery(discoGet);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2069_refreshDisco)
+HXDLIN(2069) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2070) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,this->chatId,null());
+HXLINE(2071) discoGet->onFinished( ::Dynamic(new _hx_Closure_3(_gthis,discoGet,callback)));
+HXLINE(2096) this->client->sendQuery(discoGet);
}
HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,refreshDisco,(void))
::String Channel_obj::preview(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1865_preview)
-HXLINE(1866) if (::hx::IsNull( this->lastMessage )) {
-HXLINE(1866) return this->super::preview();
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2099_preview)
+HXLINE(2100) if (::hx::IsNull( this->lastMessage )) {
+HXLINE(2100) return this->super::preview();
}
-HXLINE(1868) ::String _hx_tmp = (this->lastMessageSenderName + HX_(": ",a6,32,00,00));
-HXDLIN(1868) return (_hx_tmp + this->super::preview());
+HXLINE(2102) ::String _hx_tmp = (this->lastMessageSenderName + HX_(": ",a6,32,00,00));
+HXDLIN(2102) return (_hx_tmp + this->super::preview());
}
bool Channel_obj::livePresence(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1872_livePresence)
-HXLINE(1873) if (this->forceLive) {
-HXLINE(1873) return true;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2106_livePresence)
+HXLINE(2107) if (this->forceLive) {
+HXLINE(2107) return true;
}
-HXLINE(1875) return ::hx::IsNotNull( this->self );
+HXLINE(2109) return ::hx::IsNotNull( this->self );
}
bool Channel_obj::syncing(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1879_syncing)
-HXDLIN(1879) if (::hx::IsNull( this->sync )) {
-HXDLIN(1879) if (!(this->livePresence())) {
-HXDLIN(1879) return ::hx::IsNull( this->joinFailed );
- }
- else {
-HXDLIN(1879) return false;
- }
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2112_syncing)
+HXLINE(2113) if (::hx::IsNotNull( this->joinFailed )) {
+HXLINE(2113) return false;
+ }
+HXLINE(2115) if (::hx::IsNull( this->sync )) {
+HXLINE(2115) return !(this->livePresence());
}
else {
-HXDLIN(1879) return true;
+HXLINE(2115) return true;
}
-HXDLIN(1879) return false;
+HXDLIN(2115) return false;
+ }
+
+
+bool Channel_obj::inMessageSync(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2119_inMessageSync)
+HXDLIN(2119) return ::hx::IsNotNull( this->sync );
}
@@ -1709,135 +2245,142 @@ HXDLIN(1879) return false;
::Dynamic _hx_run( ::Dynamic _){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis, ::borogove::ChatMessage,message) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> sender){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1887_setLastMessage)
-HXLINE(1888) ::String _hx_tmp;
-HXDLIN(1888) if (::hx::IsNotNull( sender->__get(0).StaticCast< ::borogove::Member >() )) {
-HXLINE(1888) _hx_tmp = sender->__get(0).StaticCast< ::borogove::Member >()->displayName;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2127_setLastMessage)
+HXLINE(2128) ::String _hx_tmp;
+HXDLIN(2128) if (::hx::IsNotNull( sender->__get(0).StaticCast< ::borogove::Member >() )) {
+HXLINE(2128) _hx_tmp = sender->__get(0).StaticCast< ::borogove::Member >()->displayName;
}
else {
-HXLINE(1888) _hx_tmp = message->senderMemberStub()->displayName;
+HXLINE(2128) _hx_tmp = message->senderMemberStub()->displayName;
}
-HXDLIN(1888) _gthis->lastMessageSenderName = _hx_tmp;
-HXLINE(1889) return null();
+HXDLIN(2128) _gthis->lastMessageSenderName = _hx_tmp;
+HXLINE(2129) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1883_setLastMessage)
-HXLINE(1884) bool _hx_tmp;
-HXDLIN(1884) bool _hx_tmp1;
-HXDLIN(1884) if (::hx::IsNotNull( message )) {
-HXLINE(1884) _hx_tmp1 = (message->type == 2);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2123_setLastMessage)
+HXLINE(2124) bool _hx_tmp;
+HXDLIN(2124) bool _hx_tmp1;
+HXDLIN(2124) ::String _hx_tmp2;
+HXDLIN(2124) if (::hx::IsNotNull( message )) {
+HXLINE(2124) _hx_tmp2 = message->sortId;
}
else {
-HXLINE(1884) _hx_tmp1 = false;
+HXLINE(2124) _hx_tmp2 = null();
+ }
+HXDLIN(2124) if (::hx::IsNotNull( _hx_tmp2 )) {
+HXLINE(2124) _hx_tmp1 = (message->type == 2);
}
-HXDLIN(1884) if (_hx_tmp1) {
-HXLINE(1884) if (::hx::IsNotNull( _gthis->sortId )) {
-HXLINE(1884) _hx_tmp = (_gthis->sortId < message->sortId);
+ else {
+HXLINE(2124) _hx_tmp1 = false;
+ }
+HXDLIN(2124) if (_hx_tmp1) {
+HXLINE(2124) if (::hx::IsNotNull( _gthis->sortId )) {
+HXLINE(2124) _hx_tmp = (_gthis->sortId < message->sortId);
}
else {
-HXLINE(1884) _hx_tmp = true;
+HXLINE(2124) _hx_tmp = true;
}
}
else {
-HXLINE(1884) _hx_tmp = false;
+HXLINE(2124) _hx_tmp = false;
}
-HXDLIN(1884) if (_hx_tmp) {
-HXLINE(1884) _gthis->sortId = message->sortId;
+HXDLIN(2124) if (_hx_tmp) {
+HXLINE(2124) _gthis->sortId = message->sortId;
}
-HXLINE(1885) if (::hx::IsNull( message )) {
-HXLINE(1885) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE(2125) if (::hx::IsNull( message )) {
+HXLINE(2125) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE(1887) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,message->senderId)), ::Dynamic(new _hx_Closure_0(_gthis,message)),null());
+HXLINE(2127) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,message->senderId)), ::Dynamic(new _hx_Closure_0(_gthis,message)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1882_setLastMessage)
-HXDLIN(1882) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1883) return ::thenshim::_Promise::Promise_Impl__obj::then(this->super::setLastMessage(message), ::Dynamic(new _hx_Closure_1(_gthis,message)),null());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2122_setLastMessage)
+HXDLIN(2122) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2123) return ::thenshim::_Promise::Promise_Impl__obj::then(this->super::setLastMessage(message), ::Dynamic(new _hx_Closure_1(_gthis,message)),null());
}
bool Channel_obj::canAudioCall(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1895_canAudioCall)
-HXDLIN(1895) ::borogove::Caps tmp = this->disco;
-HXDLIN(1895) ::Array< ::String > tmp1;
-HXDLIN(1895) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1895) tmp1 = tmp->features;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2135_canAudioCall)
+HXDLIN(2135) ::borogove::Caps tmp = this->disco;
+HXDLIN(2135) ::Array< ::String > tmp1;
+HXDLIN(2135) if (::hx::IsNotNull( tmp )) {
+HXDLIN(2135) tmp1 = tmp->features;
}
else {
-HXDLIN(1895) tmp1 = null();
+HXDLIN(2135) tmp1 = null();
}
-HXDLIN(1895) ::Dynamic tmp2;
-HXDLIN(1895) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1895) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
+HXDLIN(2135) ::Dynamic tmp2;
+HXDLIN(2135) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(2135) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
}
else {
-HXDLIN(1895) tmp2 = null();
+HXDLIN(2135) tmp2 = null();
}
-HXDLIN(1895) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN(1895) return ( (bool)(tmp2) );
+HXDLIN(2135) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(2135) return ( (bool)(tmp2) );
}
else {
-HXDLIN(1895) return false;
+HXDLIN(2135) return false;
}
-HXDLIN(1895) return false;
+HXDLIN(2135) return false;
}
bool Channel_obj::canVideoCall(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1899_canVideoCall)
-HXDLIN(1899) ::borogove::Caps tmp = this->disco;
-HXDLIN(1899) ::Array< ::String > tmp1;
-HXDLIN(1899) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1899) tmp1 = tmp->features;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2139_canVideoCall)
+HXDLIN(2139) ::borogove::Caps tmp = this->disco;
+HXDLIN(2139) ::Array< ::String > tmp1;
+HXDLIN(2139) if (::hx::IsNotNull( tmp )) {
+HXDLIN(2139) tmp1 = tmp->features;
}
else {
-HXDLIN(1899) tmp1 = null();
+HXDLIN(2139) tmp1 = null();
}
-HXDLIN(1899) ::Dynamic tmp2;
-HXDLIN(1899) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1899) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
+HXDLIN(2139) ::Dynamic tmp2;
+HXDLIN(2139) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(2139) tmp2 = tmp1->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
}
else {
-HXDLIN(1899) tmp2 = null();
+HXDLIN(2139) tmp2 = null();
}
-HXDLIN(1899) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN(1899) return ( (bool)(tmp2) );
+HXDLIN(2139) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN(2139) return ( (bool)(tmp2) );
}
else {
-HXDLIN(1899) return false;
+HXDLIN(2139) return false;
}
-HXDLIN(1899) return false;
+HXDLIN(2139) return false;
}
::String Channel_obj::nickInUse(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1903_nickInUse)
-HXDLIN(1903) ::borogove::Member tmp = this->self;
-HXDLIN(1903) ::String tmp1;
-HXDLIN(1903) if (::hx::IsNotNull( tmp )) {
-HXDLIN(1903) tmp1 = tmp->displayName;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2143_nickInUse)
+HXDLIN(2143) ::borogove::Member tmp = this->self;
+HXDLIN(2143) ::String tmp1;
+HXDLIN(2143) if (::hx::IsNotNull( tmp )) {
+HXDLIN(2143) tmp1 = tmp->displayName;
}
else {
-HXDLIN(1903) tmp1 = null();
+HXDLIN(2143) tmp1 = null();
}
-HXDLIN(1903) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN(1903) return tmp1;
+HXDLIN(2143) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(2143) return tmp1;
}
else {
-HXDLIN(1903) return this->client->displayName();
+HXDLIN(2143) return this->client->displayName();
}
-HXDLIN(1903) return null();
+HXDLIN(2143) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,nickInUse,return )
::borogove::JID Channel_obj::getFullJid(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1908_getFullJid)
-HXDLIN(1908) ::borogove::JID _hx_tmp = ::borogove::JID_obj::parse(this->chatId);
-HXDLIN(1908) return _hx_tmp->withResource(this->nickInUse());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2148_getFullJid)
+HXDLIN(2148) ::borogove::JID _hx_tmp = ::borogove::JID_obj::parse(this->chatId);
+HXDLIN(2148) return _hx_tmp->withResource(this->nickInUse());
}
@@ -1846,356 +2389,451 @@ HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,getFullJid,return )
::Dynamic Channel_obj::members(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis) HXARGC(1)
::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> members){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1915_members)
-HXLINE(1915) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1915) {
-HXLINE(1915) int _g1 = 0;
-HXDLIN(1915) while((_g1 < members->length)){
-HXLINE(1915) ::borogove::Member v = members->__get(_g1).StaticCast< ::borogove::Member >();
-HXDLIN(1915) _g1 = (_g1 + 1);
-HXDLIN(1915) if ((v->id != _gthis->chatId)) {
-HXLINE(1915) _g->push(v);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2155_members)
+HXLINE(2155) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(2155) {
+HXLINE(2155) int _g1 = 0;
+HXDLIN(2155) while((_g1 < members->length)){
+HXLINE(2155) ::borogove::Member v = members->__get(_g1).StaticCast< ::borogove::Member >();
+HXDLIN(2155) _g1 = (_g1 + 1);
+HXDLIN(2155) if ((v->id != _gthis->chatId)) {
+HXLINE(2155) _g->push(v);
}
}
}
-HXDLIN(1915) return _g;
+HXDLIN(2155) return _g;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1912_members)
-HXDLIN(1912) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1913) ::Dynamic _hx_tmp = this->persistence;
-HXLINE(1914) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN(1914) bool _hx_tmp2;
-HXDLIN(1914) if (::hx::IsNull( this->self )) {
-HXLINE(1914) _hx_tmp2 = false;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2152_members)
+HXDLIN(2152) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2153) ::Dynamic _hx_tmp = this->persistence;
+HXLINE(2154) ::String _hx_tmp1 = this->client->accountId();
+HXDLIN(2154) bool _hx_tmp2;
+HXDLIN(2154) if (::hx::IsNull( this->self )) {
+HXLINE(2154) _hx_tmp2 = false;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1914_members)
-HXLINE(1914) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_78,2)->contains(r->id);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2154_members)
+HXLINE(2154) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_92,2)->contains(r->id);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1914) _hx_tmp2 = ::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()));
+HXLINE(2154) _hx_tmp2 = ::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()));
}
-HXLINE(1913) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMembers(_hx_tmp,_hx_tmp1,::hx::ObjectPtr<OBJ_>(this),_hx_tmp2), ::Dynamic(new _hx_Closure_1(_gthis)),null());
+HXLINE(2153) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMembers(_hx_tmp,_hx_tmp1,::hx::ObjectPtr<OBJ_>(this),_hx_tmp2), ::Dynamic(new _hx_Closure_1(_gthis)),null());
}
::Dynamic Channel_obj::getMemberDetails(::Array< ::String > memberIds){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1919_getMemberDetails)
-HXLINE(1920) bool _hx_tmp;
-HXDLIN(1920) bool _hx_tmp1;
-HXDLIN(1920) if ((memberIds->length == 1)) {
-HXLINE(1920) _hx_tmp1 = ::hx::IsNotNull( this->self );
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2159_getMemberDetails)
+HXLINE(2160) bool _hx_tmp;
+HXDLIN(2160) bool _hx_tmp1;
+HXDLIN(2160) if ((memberIds->length == 1)) {
+HXLINE(2160) _hx_tmp1 = ::hx::IsNotNull( this->self );
+ }
+ else {
+HXLINE(2160) _hx_tmp1 = false;
+ }
+HXDLIN(2160) if (_hx_tmp1) {
+HXLINE(2160) _hx_tmp = (memberIds->__get(0) == this->self->id);
}
else {
-HXLINE(1920) _hx_tmp1 = false;
+HXLINE(2160) _hx_tmp = false;
+ }
+HXDLIN(2160) if (_hx_tmp) {
+HXLINE(2160) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,this->self));
}
-HXDLIN(1920) if (_hx_tmp1) {
-HXLINE(1920) _hx_tmp = (memberIds->__get(0) == this->self->id);
+HXLINE(2162) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(2162) return ::borogove::Persistence_obj::getMemberDetails(_hx_tmp2,this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),memberIds);
+ }
+
+
+::Dynamic Channel_obj::voiceRequests(){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2169_voiceRequests)
+HXDLIN(2169) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(2169) return ::borogove::Persistence_obj::listVoiceRequests(_hx_tmp,this->client->accountId(),::hx::ObjectPtr<OBJ_>(this));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,voiceRequests,return )
+
+void Channel_obj::voiceRequests__fromC(::cpp::Function< void (void**,size_t,void*) > handler,void* handler__context){
+ HX_STACKFRAME(&_hx_pos_76be2635117be6b6_365_voiceRequests__fromC)
+HXDLIN( 365) if (::hx::IsNull( handler )) {
+HXDLIN( 365) this->voiceRequests();
}
else {
-HXLINE(1920) _hx_tmp = false;
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> v){
+ HX_STACKFRAME(&_hx_pos_76be2635117be6b6_365_voiceRequests__fromC)
+HXDLIN( 365) ::cpp::Function< void (void**,size_t,void*) > handler1 = handler;
+HXDLIN( 365) handler1(::_HaxeCBridge::HaxeArray_Impl__obj::fromNullableArrayT(v),( (size_t)(v->length) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (void** HX_COMMA size_t HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_76be2635117be6b6_365_voiceRequests__fromC)
+HXDLIN( 365) handler(null(),( (size_t)(0) ),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->voiceRequests(), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
+void Channel_obj::voiceRequestRespond( ::borogove::Member member,bool canSend){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis,bool,canSend, ::borogove::Member,member) HXARGC(0)
+ void _hx_run(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis) HXARGC(1)
+ ::borogove::EventResult _hx_run(bool _){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2198_voiceRequestRespond)
+HXLINE(2198) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2179_voiceRequestRespond)
+HXLINE(2180) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE(2187) ::String _hx_tmp;
+HXDLIN(2187) if (canSend) {
+HXLINE(2187) _hx_tmp = HX_("1",31,00,00,00);
+ }
+ else {
+HXLINE(2187) _hx_tmp = HX_("0",30,00,00,00);
+ }
+HXLINE(2180) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("to",7b,65,00,00),_gthis->chatId)),null())->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/muc#request",93,0a,86,93),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("muc#role",3e,cf,d3,63))),null())->textTag(HX_("value",71,7f,b8,31),HX_("participant",b3,07,ea,7a),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("muc#jid",fd,77,83,94))),null())->textTag(HX_("value",71,7f,b8,31),member->chat->chatId,null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("muc#roomnick",06,7b,8b,05))),null())->textTag(HX_("value",71,7f,b8,31),member->displayName,null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("muc#request_allow",91,13,65,aa))),null())->textTag(HX_("value",71,7f,b8,31),_hx_tmp,null(),null())->up());
+HXLINE(2189) if (canSend) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ void _hx_run( ::borogove::Stanza response){
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2195_voiceRequestRespond)
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(2190) ::borogove::GenericStream _gthis2 = _gthis->stream;
+HXDLIN(2190) _gthis2->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),_gthis->chatId)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#admin",d3,be,2f,5a))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("nick",a3,7b,05,49),member->displayName)
+ ->setFixed(1,HX_("role",76,eb,ae,4b),HX_("participant",b3,07,ea,7a))),null())->textTag(HX_("reason",c4,0f,9d,fc),HX_("Approve voice request",ae,08,74,08),null(),null()), ::Dynamic(new _hx_Closure_0()));
+ }
+HXLINE(2198) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(2198) ::String _hx_tmp1 = _gthis->client->accountId();
+HXDLIN(2198) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeVoiceRequest(_gthis3,_hx_tmp1,_gthis,member->chat->chatId,false), ::Dynamic(new _hx_Closure_1(_gthis)),null());
}
-HXDLIN(1920) if (_hx_tmp) {
-HXLINE(1920) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,this->self));
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2175_voiceRequestRespond)
+HXDLIN(2175) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2176) if (::hx::IsNull( member->chat )) {
+HXLINE(2176) return;
}
-HXLINE(1922) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1922) return ::borogove::Persistence_obj::getMemberDetails(_hx_tmp2,this->client->accountId(),::hx::ObjectPtr<OBJ_>(this),memberIds);
+HXLINE(2179) this->outbox->newItem()->handle( ::Dynamic(new _hx_Closure_2(_gthis,canSend,member)));
}
+HX_DEFINE_DYNAMIC_FUNC2(Channel_obj,voiceRequestRespond,(void))
+
::borogove::Member Channel_obj::buildMember(::String resource, ::borogove::Stanza presence){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1925_buildMember)
-HXLINE(1926) ::borogove::Stanza tmp;
-HXDLIN(1926) if (::hx::IsNotNull( presence )) {
-HXLINE(1926) tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
- }
- else {
-HXLINE(1926) tmp = null();
- }
-HXDLIN(1926) ::Array< ::String > tmp1;
-HXDLIN(1926) if (::hx::IsNotNull( tmp )) {
-HXLINE(1926) ::Array< ::Dynamic> _this = tmp->allTags(HX_("status",32,e7,fb,05),null());
-HXDLIN(1926) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1926) {
-HXLINE(1926) int _g = 0;
-HXDLIN(1926) int _g1 = _this->length;
-HXDLIN(1926) while((_g < _g1)){
-HXLINE(1926) _g = (_g + 1);
-HXDLIN(1926) int i = (_g - 1);
-HXDLIN(1926) {
-HXLINE(1926) ::String inValue = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("code",2d,b1,c4,41))) );
-HXDLIN(1926) result->__unsafe_set(i,inValue);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2204_buildMember)
+HXLINE(2205) ::borogove::Stanza tmp;
+HXDLIN(2205) if (::hx::IsNotNull( presence )) {
+HXLINE(2205) tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+ }
+ else {
+HXLINE(2205) tmp = null();
+ }
+HXDLIN(2205) ::Array< ::String > tmp1;
+HXDLIN(2205) if (::hx::IsNotNull( tmp )) {
+HXLINE(2205) ::Array< ::Dynamic> _this = tmp->allTags(HX_("status",32,e7,fb,05),null());
+HXDLIN(2205) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(2205) {
+HXLINE(2205) int _g = 0;
+HXDLIN(2205) int _g1 = _this->length;
+HXDLIN(2205) while((_g < _g1)){
+HXLINE(2205) _g = (_g + 1);
+HXDLIN(2205) int i = (_g - 1);
+HXDLIN(2205) {
+HXLINE(2205) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr->get_string(HX_("code",2d,b1,c4,41));
+HXDLIN(2205) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1926) tmp1 = result;
+HXDLIN(2205) tmp1 = result;
}
else {
-HXLINE(1926) tmp1 = null();
+HXLINE(2205) tmp1 = null();
}
-HXDLIN(1926) ::String oneTen;
-HXDLIN(1926) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN(2205) ::String oneTen;
+HXDLIN(2205) if (::hx::IsNotNull( tmp1 )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run(::String status){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1926_buildMember)
-HXLINE(1926) return (status == HX_("110",50,59,25,00));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2205_buildMember)
+HXLINE(2205) return (status == HX_("110",50,59,25,00));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1926) oneTen = ( (::String)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE(2205) oneTen = ( (::String)(::Lambda_obj::find(tmp1, ::Dynamic(new _hx_Closure_0()))) );
}
else {
-HXLINE(1926) oneTen = null();
+HXLINE(2205) oneTen = null();
}
-HXLINE(1927) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId)->withResource(resource);
-HXLINE(1928) ::String nick;
-HXDLIN(1928) if (::hx::IsNotNull( resource )) {
-HXLINE(1928) nick = resource;
+HXLINE(2206) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId)->withResource(resource);
+HXLINE(2207) ::String nick;
+HXDLIN(2207) if (::hx::IsNotNull( resource )) {
+HXLINE(2207) nick = resource;
}
else {
-HXLINE(1928) nick = this->getDisplayName();
+HXLINE(2207) nick = this->getDisplayName();
}
-HXLINE(1929) ::Array< ::Dynamic> roles;
-HXDLIN(1929) ::Array< ::Dynamic> tmp2;
-HXDLIN(1929) if (::hx::IsNotNull( presence )) {
-HXLINE(1929) ::Array< ::Dynamic> _this1;
-HXDLIN(1929) ::borogove::Stanza tmp3 = presence->getChild(HX_("hats",b8,30,08,45),HX_("urn:xmpp:hats:0",8a,fe,c7,65));
-HXDLIN(1929) ::Array< ::Dynamic> tmp4;
-HXDLIN(1929) if (::hx::IsNotNull( tmp3 )) {
-HXLINE(1929) tmp4 = tmp3->allTags(HX_("hat",5b,3f,4f,00),null());
+HXLINE(2208) ::Array< ::Dynamic> roles;
+HXDLIN(2208) ::Array< ::Dynamic> tmp2;
+HXDLIN(2208) if (::hx::IsNotNull( presence )) {
+HXLINE(2208) ::Array< ::Dynamic> _this1;
+HXDLIN(2208) ::borogove::Stanza tmp3 = presence->getChild(HX_("hats",b8,30,08,45),HX_("urn:xmpp:hats:0",8a,fe,c7,65));
+HXDLIN(2208) ::Array< ::Dynamic> tmp4;
+HXDLIN(2208) if (::hx::IsNotNull( tmp3 )) {
+HXLINE(2208) tmp4 = tmp3->allTags(HX_("hat",5b,3f,4f,00),null());
}
else {
-HXLINE(1929) tmp4 = null();
+HXLINE(2208) tmp4 = null();
}
-HXDLIN(1929) if (::hx::IsNotNull( tmp4 )) {
-HXLINE(1929) _this1 = tmp4;
+HXDLIN(2208) if (::hx::IsNotNull( tmp4 )) {
+HXLINE(2208) _this1 = tmp4;
}
else {
-HXLINE(1929) _this1 = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN(1929) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
-HXDLIN(1929) {
-HXLINE(1929) int _g2 = 0;
-HXDLIN(1929) int _g3 = _this1->length;
-HXDLIN(1929) while((_g2 < _g3)){
-HXLINE(1929) _g2 = (_g2 + 1);
-HXDLIN(1929) int i1 = (_g2 - 1);
-HXDLIN(1929) {
-HXLINE(1929) ::borogove::Stanza hat = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) );
-HXDLIN(1929) ::String inValue1;
-HXDLIN(1929) ::String tmp5 = ( (::String)(::Reflect_obj::field(hat->attr,HX_("uri",6c,2b,59,00))) );
-HXDLIN(1929) if (::hx::IsNotNull( tmp5 )) {
-HXLINE(1929) inValue1 = tmp5;
+HXLINE(2208) _this1 = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN(2208) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
+HXDLIN(2208) {
+HXLINE(2208) int _g2 = 0;
+HXDLIN(2208) int _g3 = _this1->length;
+HXDLIN(2208) while((_g2 < _g3)){
+HXLINE(2208) _g2 = (_g2 + 1);
+HXDLIN(2208) int i1 = (_g2 - 1);
+HXDLIN(2208) {
+HXLINE(2208) ::borogove::Stanza hat = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) );
+HXDLIN(2208) ::String inValue1;
+HXDLIN(2208) ::String tmp5 = hat->attr->get_string(HX_("uri",6c,2b,59,00));
+HXDLIN(2208) if (::hx::IsNotNull( tmp5 )) {
+HXLINE(2208) inValue1 = tmp5;
}
else {
-HXLINE(1929) inValue1 = HX_("",00,00,00,00);
+HXLINE(2208) inValue1 = HX_("",00,00,00,00);
}
-HXDLIN(1929) ::String tmp6 = ( (::String)(::Reflect_obj::field(hat->attr,HX_("title",98,15,3b,10))) );
-HXDLIN(1929) ::String inValue2;
-HXDLIN(1929) if (::hx::IsNotNull( tmp6 )) {
-HXLINE(1929) inValue2 = tmp6;
+HXDLIN(2208) ::String tmp6 = hat->attr->get_string(HX_("title",98,15,3b,10));
+HXDLIN(2208) ::String inValue2;
+HXDLIN(2208) if (::hx::IsNotNull( tmp6 )) {
+HXLINE(2208) inValue2 = tmp6;
}
else {
-HXLINE(1929) inValue2 = HX_("",00,00,00,00);
+HXLINE(2208) inValue2 = HX_("",00,00,00,00);
}
-HXDLIN(1929) result1->__unsafe_set(i1, ::borogove::Role_obj::__alloc( HX_CTX ,inValue1,inValue2));
+HXDLIN(2208) result1->__unsafe_set(i1, ::borogove::Role_obj::__alloc( HX_CTX ,inValue1,inValue2));
}
}
}
-HXDLIN(1929) tmp2 = result1;
+HXDLIN(2208) tmp2 = result1;
}
else {
-HXLINE(1929) tmp2 = null();
+HXLINE(2208) tmp2 = null();
}
-HXDLIN(1929) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1929) roles = tmp2;
+HXDLIN(2208) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(2208) roles = tmp2;
}
else {
-HXLINE(1929) roles = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2208) roles = ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE(1930) ::borogove::Stanza tmp7 = presence->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN(1930) ::Dynamic tmp8;
-HXDLIN(1930) if (::hx::IsNotNull( tmp7 )) {
-HXLINE(1930) tmp8 = tmp7->attr;
+HXLINE(2209) ::borogove::Stanza tmp7 = presence->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
+HXDLIN(2209) ::haxe::ds::StringMap tmp8;
+HXDLIN(2209) if (::hx::IsNotNull( tmp7 )) {
+HXLINE(2209) tmp8 = tmp7->attr;
}
else {
-HXLINE(1930) tmp8 = null();
+HXLINE(2209) tmp8 = null();
}
-HXDLIN(1930) ::String occupantId;
-HXDLIN(1930) if (::hx::IsNotNull( tmp8 )) {
-HXLINE(1930) occupantId = ( (::String)(::Reflect_obj::field(tmp8,HX_("id",db,5b,00,00))) );
+HXDLIN(2209) ::String occupantId;
+HXDLIN(2209) if (::hx::IsNotNull( tmp8 )) {
+HXLINE(2209) occupantId = tmp8->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE(1930) occupantId = null();
+HXLINE(2209) occupantId = null();
}
-HXLINE(1931) ::String id;
-HXDLIN(1931) if (::hx::IsNull( occupantId )) {
-HXLINE(1931) id = jid->asString();
+HXLINE(2210) ::String id;
+HXDLIN(2210) if (::hx::IsNull( occupantId )) {
+HXLINE(2210) id = jid->asString();
}
else {
-HXLINE(1931) id = ((this->chatId + HX_("/",2f,00,00,00)) + occupantId);
+HXLINE(2210) id = ((this->chatId + HX_("/",2f,00,00,00)) + occupantId);
}
-HXLINE(1932) ::borogove::Stanza _hx_tmp;
-HXDLIN(1932) if (::hx::IsNotNull( presence )) {
-HXLINE(1932) _hx_tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(2211) ::borogove::Stanza _hx_tmp;
+HXDLIN(2211) if (::hx::IsNotNull( presence )) {
+HXLINE(2211) _hx_tmp = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
}
else {
-HXLINE(1932) _hx_tmp = null();
+HXLINE(2211) _hx_tmp = null();
}
-HXDLIN(1932) if (::hx::IsNotNull( _hx_tmp )) {
-HXLINE(1933) ::String affRole;
-HXDLIN(1933) ::borogove::Stanza tmp9 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
-HXDLIN(1933) ::Dynamic tmp10;
-HXDLIN(1933) if (::hx::IsNotNull( tmp9 )) {
-HXLINE(1933) tmp10 = tmp9->attr;
+HXDLIN(2211) if (::hx::IsNotNull( _hx_tmp )) {
+HXLINE(2212) ::String affRole;
+HXDLIN(2212) ::borogove::Stanza tmp9 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(2212) ::haxe::ds::StringMap tmp10;
+HXDLIN(2212) if (::hx::IsNotNull( tmp9 )) {
+HXLINE(2212) tmp10 = tmp9->attr;
}
else {
-HXLINE(1933) tmp10 = null();
+HXLINE(2212) tmp10 = null();
}
-HXDLIN(1933) ::String tmp11;
-HXDLIN(1933) if (::hx::IsNotNull( tmp10 )) {
-HXLINE(1933) tmp11 = ( (::String)(::Reflect_obj::field(tmp10,HX_("affiliation",b0,1a,35,a1))) );
+HXDLIN(2212) ::String tmp11;
+HXDLIN(2212) if (::hx::IsNotNull( tmp10 )) {
+HXLINE(2212) tmp11 = tmp10->get_string(HX_("affiliation",b0,1a,35,a1));
}
else {
-HXLINE(1933) tmp11 = null();
+HXLINE(2212) tmp11 = null();
}
-HXDLIN(1933) if (::hx::IsNotNull( tmp11 )) {
-HXLINE(1933) affRole = tmp11;
+HXDLIN(2212) if (::hx::IsNotNull( tmp11 )) {
+HXLINE(2212) affRole = tmp11;
}
else {
-HXLINE(1933) affRole = HX_("none",b8,12,0a,49);
+HXLINE(2212) affRole = HX_("none",b8,12,0a,49);
}
-HXDLIN(1933) ::borogove::Role affRole1 = ::borogove::Role_obj::forAffiliation(affRole);
-HXLINE(1934) if (::hx::IsNotNull( affRole1 )) {
-HXLINE(1934) roles->unshift(affRole1);
+HXDLIN(2212) ::borogove::Role affRole1 = ::borogove::Role_obj::forAffiliation(affRole);
+HXLINE(2213) if (::hx::IsNotNull( affRole1 )) {
+HXLINE(2213) roles->unshift(affRole1);
}
}
-HXLINE(1936) bool _hx_tmp1;
-HXDLIN(1936) if (::hx::IsNull( oneTen )) {
-HXLINE(1936) ::borogove::Member tmp12 = this->self;
-HXDLIN(1936) ::String _hx_tmp2;
-HXDLIN(1936) if (::hx::IsNotNull( tmp12 )) {
-HXLINE(1936) _hx_tmp2 = tmp12->id;
+HXLINE(2215) bool _hx_tmp1;
+HXDLIN(2215) if (::hx::IsNull( oneTen )) {
+HXLINE(2215) ::borogove::Member tmp12 = this->self;
+HXDLIN(2215) ::String _hx_tmp2;
+HXDLIN(2215) if (::hx::IsNotNull( tmp12 )) {
+HXLINE(2215) _hx_tmp2 = tmp12->id;
}
else {
-HXLINE(1936) _hx_tmp2 = null();
+HXLINE(2215) _hx_tmp2 = null();
}
-HXDLIN(1936) _hx_tmp1 = (id == _hx_tmp2);
+HXDLIN(2215) _hx_tmp1 = (id == _hx_tmp2);
}
else {
-HXLINE(1936) _hx_tmp1 = true;
- }
-HXDLIN(1936) if (_hx_tmp1) {
-HXLINE(1937) ::borogove::Client chat = this->client;
-HXDLIN(1937) ::borogove::DirectChat chat1 = chat->getDirectChat(this->client->accountId(),false);
-HXLINE(1941) ::String _hx_tmp3 = chat1->getPhoto();
-HXLINE(1944) ::borogove::JID _hx_tmp4 = ::borogove::JID_obj::parse(chat1->chatId);
-HXLINE(1945) ::haxe::ds::StringMap _g4 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXDLIN(1945) _g4->set(nick,presence);
-HXLINE(1946) ::String chat2 = chat1->chatId;
-HXDLIN(1946) ::String _hx_tmp5 = chat1->getDisplayName();
-HXLINE(1938) return ::borogove::Member_obj::__alloc( HX_CTX ,id,nick,_hx_tmp3,true,roles,_hx_tmp4,_g4, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chat2,_hx_tmp5,chat1->chatId,::borogove::CapsRepo_obj::empty));
+HXLINE(2215) _hx_tmp1 = true;
+ }
+HXDLIN(2215) if (_hx_tmp1) {
+HXLINE(2216) ::borogove::Client chat = this->client;
+HXDLIN(2216) ::borogove::DirectChat chat1 = chat->getDirectChat(this->client->accountId(),false);
+HXLINE(2220) ::String _hx_tmp3 = chat1->getPhoto();
+HXLINE(2223) ::borogove::JID _hx_tmp4 = ::borogove::JID_obj::parse(chat1->chatId);
+HXLINE(2224) ::haxe::ds::StringMap _g4 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(2224) _g4->set(nick,presence);
+HXLINE(2225) ::String chat2 = chat1->chatId;
+HXDLIN(2225) ::String _hx_tmp5 = chat1->getDisplayName();
+HXLINE(2217) return ::borogove::Member_obj::__alloc( HX_CTX ,id,nick,_hx_tmp3,true,roles,_hx_tmp4,_g4, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chat2,_hx_tmp5,chat1->chatId,::borogove::CapsRepo_obj::empty,null()));
}
else {
-HXLINE(1949) ::borogove::Stanza tmp13;
-HXDLIN(1949) if (::hx::IsNotNull( presence )) {
-HXLINE(1949) tmp13 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(2228) ::borogove::Stanza tmp13;
+HXDLIN(2228) if (::hx::IsNotNull( presence )) {
+HXLINE(2228) tmp13 = presence->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
}
else {
-HXLINE(1949) tmp13 = null();
- }
-HXDLIN(1949) ::borogove::JID tmp14;
-HXDLIN(1949) if (::hx::IsNotNull( tmp13 )) {
-HXLINE(1949) ::borogove::Stanza tmp15 = tmp13->getChild(HX_("item",13,c5,bf,45),null());
-HXDLIN(1949) ::Dynamic tmp16;
-HXDLIN(1949) if (::hx::IsNotNull( tmp15 )) {
-HXLINE(1949) tmp16 = tmp15->attr;
+HXLINE(2228) tmp13 = null();
+ }
+HXDLIN(2228) ::borogove::JID tmp14;
+HXDLIN(2228) if (::hx::IsNotNull( tmp13 )) {
+HXLINE(2228) ::borogove::Stanza tmp15 = tmp13->getChild(HX_("item",13,c5,bf,45),null());
+HXDLIN(2228) ::haxe::ds::StringMap tmp16;
+HXDLIN(2228) if (::hx::IsNotNull( tmp15 )) {
+HXLINE(2228) tmp16 = tmp15->attr;
}
else {
-HXLINE(1949) tmp16 = null();
+HXLINE(2228) tmp16 = null();
}
-HXDLIN(1949) ::String jid1;
-HXDLIN(1949) if (::hx::IsNotNull( tmp16 )) {
-HXLINE(1949) jid1 = ( (::String)(::Reflect_obj::field(tmp16,HX_("jid",c5,ca,50,00))) );
+HXDLIN(2228) ::String jid1;
+HXDLIN(2228) if (::hx::IsNotNull( tmp16 )) {
+HXLINE(2228) jid1 = tmp16->get_string(HX_("jid",c5,ca,50,00));
}
else {
-HXLINE(1949) jid1 = null();
+HXLINE(2228) jid1 = null();
}
-HXDLIN(1949) if (::hx::IsNull( jid1 )) {
-HXLINE(1949) tmp14 = null();
+HXDLIN(2228) if (::hx::IsNull( jid1 )) {
+HXLINE(2228) tmp14 = null();
}
else {
-HXLINE(1949) tmp14 = ::borogove::JID_obj::parse(jid1);
+HXLINE(2228) tmp14 = ::borogove::JID_obj::parse(jid1);
}
}
else {
-HXLINE(1949) tmp14 = null();
+HXLINE(2228) tmp14 = null();
}
-HXDLIN(1949) ::borogove::JID tmp17;
-HXDLIN(1949) if (::hx::IsNotNull( tmp14 )) {
-HXLINE(1949) tmp17 = tmp14->asBare();
+HXDLIN(2228) ::borogove::JID tmp17;
+HXDLIN(2228) if (::hx::IsNotNull( tmp14 )) {
+HXLINE(2228) tmp17 = tmp14->asBare();
}
else {
-HXLINE(1949) tmp17 = null();
+HXLINE(2228) tmp17 = null();
}
-HXDLIN(1949) ::String trueJid;
-HXDLIN(1949) if (::hx::IsNotNull( tmp17 )) {
-HXLINE(1949) trueJid = tmp17->asString();
+HXDLIN(2228) ::String trueJid;
+HXDLIN(2228) if (::hx::IsNotNull( tmp17 )) {
+HXLINE(2228) trueJid = tmp17->asString();
}
else {
-HXLINE(1949) trueJid = null();
- }
-HXLINE(1953) ::borogove::Hash tmp18;
-HXDLIN(1953) if (::hx::IsNotNull( presence )) {
-HXLINE(1953) ::String avatarSha1Hex = presence->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
-HXDLIN(1953) bool tmp19;
-HXDLIN(1953) if (::hx::IsNotNull( avatarSha1Hex )) {
-HXLINE(1953) tmp19 = (avatarSha1Hex == HX_("",00,00,00,00));
+HXLINE(2228) trueJid = null();
+ }
+HXLINE(2232) ::borogove::Hash tmp18;
+HXDLIN(2232) if (::hx::IsNotNull( presence )) {
+HXLINE(2232) ::String avatarSha1Hex = presence->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
+HXDLIN(2232) bool tmp19;
+HXDLIN(2232) if (::hx::IsNotNull( avatarSha1Hex )) {
+HXLINE(2232) tmp19 = (avatarSha1Hex == HX_("",00,00,00,00));
}
else {
-HXLINE(1953) tmp19 = true;
+HXLINE(2232) tmp19 = true;
}
-HXDLIN(1953) if (tmp19) {
-HXLINE(1953) tmp18 = null();
+HXDLIN(2232) if (tmp19) {
+HXLINE(2232) tmp18 = null();
}
else {
-HXLINE(1953) tmp18 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+HXLINE(2232) tmp18 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
}
}
else {
-HXLINE(1953) tmp18 = null();
+HXLINE(2232) tmp18 = null();
}
-HXDLIN(1953) ::String _hx_tmp6;
-HXDLIN(1953) if (::hx::IsNotNull( tmp18 )) {
-HXLINE(1953) _hx_tmp6 = tmp18->toUri();
+HXDLIN(2232) ::String _hx_tmp6;
+HXDLIN(2232) if (::hx::IsNotNull( tmp18 )) {
+HXLINE(2232) _hx_tmp6 = tmp18->toUri();
}
else {
-HXLINE(1953) _hx_tmp6 = null();
+HXLINE(2232) _hx_tmp6 = null();
}
-HXLINE(1956) ::borogove::JID _hx_tmp7;
-HXDLIN(1956) if (::hx::IsNull( trueJid )) {
-HXLINE(1956) _hx_tmp7 = jid;
+HXLINE(2235) ::borogove::JID _hx_tmp7;
+HXDLIN(2235) if (::hx::IsNull( trueJid )) {
+HXLINE(2235) _hx_tmp7 = jid;
}
else {
-HXLINE(1956) _hx_tmp7 = ::borogove::JID_obj::parse(trueJid);
+HXLINE(2235) _hx_tmp7 = ::borogove::JID_obj::parse(trueJid);
}
-HXLINE(1957) ::haxe::ds::StringMap _g5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXDLIN(1957) _g5->set(nick,presence);
-HXLINE(1958) ::borogove::AvailableChat _hx_tmp8;
-HXDLIN(1958) if (::hx::IsNull( trueJid )) {
-HXLINE(1958) _hx_tmp8 = null();
+HXLINE(2236) ::haxe::ds::StringMap _g5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(2236) _g5->set(nick,presence);
+HXLINE(2237) ::borogove::AvailableChat _hx_tmp8;
+HXDLIN(2237) if (::hx::IsNull( trueJid )) {
+HXLINE(2237) _hx_tmp8 = null();
}
else {
-HXLINE(1958) _hx_tmp8 = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,trueJid,nick,((((HX_("",00,00,00,00) + trueJid) + HX_(" (via ",9a,ee,c1,21)) + this->displayName) + HX_(")",29,00,00,00)),::borogove::CapsRepo_obj::empty);
+HXLINE(2237) _hx_tmp8 = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,trueJid,nick,((((HX_("",00,00,00,00) + trueJid) + HX_(" (via ",9a,ee,c1,21)) + this->displayName) + HX_(")",29,00,00,00)),::borogove::CapsRepo_obj::empty,null());
}
-HXLINE(1950) return ::borogove::Member_obj::__alloc( HX_CTX ,id,nick,_hx_tmp6,false,roles,_hx_tmp7,_g5,_hx_tmp8);
+HXLINE(2229) return ::borogove::Member_obj::__alloc( HX_CTX ,id,nick,_hx_tmp6,false,roles,_hx_tmp7,_g5,_hx_tmp8);
}
-HXLINE(1936) return null();
+HXLINE(2215) return null();
}
@@ -2204,472 +2842,578 @@ HX_DEFINE_DYNAMIC_FUNC2(Channel_obj,buildMember,return )
::Array< ::Dynamic> Channel_obj::availableRoles( ::borogove::Member member){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1966_availableRoles)
-HXLINE(1966) return (r->id == HX_("owner",33,98,76,38));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2245_availableRoles)
+HXLINE(2245) return (r->id == HX_("owner",33,98,76,38));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1970_availableRoles)
-HXLINE(1970) return (r->id == HX_("admin",8f,ac,4a,1c));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2249_availableRoles)
+HXLINE(2249) return (r->id == HX_("admin",8f,ac,4a,1c));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1963_availableRoles)
-HXLINE(1964) if (::hx::IsNull( this->self )) {
-HXLINE(1964) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2242_availableRoles)
+HXLINE(2243) if (::hx::IsNull( this->self )) {
+HXLINE(2243) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE(1966) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()))) {
-HXLINE(1967) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
-HXDLIN(1967) {
-HXLINE(1967) int _g1 = 0;
-HXDLIN(1967) ::Array< ::String > _g2 = ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_91,4);
-HXDLIN(1967) while((_g1 < _g2->length)){
+HXLINE(2245) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()))) {
+HXLINE(2246) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN(2246) {
+HXLINE(2246) int _g1 = 0;
+HXDLIN(2246) ::Array< ::String > _g2 = ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_113,4);
+HXDLIN(2246) while((_g1 < _g2->length)){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::String,aff) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1967_availableRoles)
-HXLINE(1967) return (r->id == aff);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2246_availableRoles)
+HXLINE(2246) return (r->id == aff);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1967) ::String v = _g2->__get(_g1);
-HXDLIN(1967) _g1 = (_g1 + 1);
-HXDLIN(1967) ::String aff = v;
-HXDLIN(1967) if (!(::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_1(aff))))) {
-HXLINE(1967) _g->push(v);
+HXLINE(2246) ::String v = _g2->__get(_g1);
+HXDLIN(2246) _g1 = (_g1 + 1);
+HXDLIN(2246) ::String aff = v;
+HXDLIN(2246) if (!(::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_1(aff))))) {
+HXLINE(2246) _g->push(v);
}
}
}
-HXDLIN(1967) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN(1967) {
-HXLINE(1967) int _g3 = 0;
-HXDLIN(1967) int _g4 = _g->length;
-HXDLIN(1967) while((_g3 < _g4)){
-HXLINE(1967) _g3 = (_g3 + 1);
-HXDLIN(1967) int i = (_g3 - 1);
-HXDLIN(1967) {
-HXLINE(1967) ::borogove::Role inValue = ::borogove::Role_obj::forAffiliation(( (::String)(_hx_array_unsafe_get(_g,i)) ));
-HXDLIN(1967) result->__unsafe_set(i,inValue);
+HXDLIN(2246) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN(2246) {
+HXLINE(2246) int _g3 = 0;
+HXDLIN(2246) int _g4 = _g->length;
+HXDLIN(2246) while((_g3 < _g4)){
+HXLINE(2246) _g3 = (_g3 + 1);
+HXDLIN(2246) int i = (_g3 - 1);
+HXDLIN(2246) {
+HXLINE(2246) ::borogove::Role inValue = ::borogove::Role_obj::forAffiliation(( (::String)(_hx_array_unsafe_get(_g,i)) ));
+HXDLIN(2246) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1967) return result;
+HXDLIN(2246) return result;
}
-HXLINE(1970) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_2()))) {
+HXLINE(2249) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_2()))) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1971_availableRoles)
-HXLINE(1971) return (r->id == HX_("owner",33,98,76,38));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2250_availableRoles)
+HXLINE(2250) return (r->id == HX_("owner",33,98,76,38));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1971) if (::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_3()))) {
-HXLINE(1971) return ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2250) if (::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_3()))) {
+HXLINE(2250) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE(1973) ::Array< ::String > _g5 = ::Array_obj< ::String >::__new(0);
-HXDLIN(1973) {
-HXLINE(1973) int _g6 = 0;
-HXDLIN(1973) ::Array< ::String > _g7 = ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_94,2);
-HXDLIN(1973) while((_g6 < _g7->length)){
+HXLINE(2252) ::Array< ::String > _g5 = ::Array_obj< ::String >::__new(0);
+HXDLIN(2252) {
+HXLINE(2252) int _g6 = 0;
+HXDLIN(2252) ::Array< ::String > _g7 = ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_116,2);
+HXDLIN(2252) while((_g6 < _g7->length)){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4,::String,aff1) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1973_availableRoles)
-HXLINE(1973) return (r->id == aff1);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2252_availableRoles)
+HXLINE(2252) return (r->id == aff1);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1973) ::String v1 = _g7->__get(_g6);
-HXDLIN(1973) _g6 = (_g6 + 1);
-HXDLIN(1973) ::String aff1 = v1;
-HXDLIN(1973) if (!(::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_4(aff1))))) {
-HXLINE(1973) _g5->push(v1);
+HXLINE(2252) ::String v1 = _g7->__get(_g6);
+HXDLIN(2252) _g6 = (_g6 + 1);
+HXDLIN(2252) ::String aff1 = v1;
+HXDLIN(2252) if (!(::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_4(aff1))))) {
+HXLINE(2252) _g5->push(v1);
}
}
}
-HXDLIN(1973) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_g5->length);
-HXDLIN(1973) {
-HXLINE(1973) int _g8 = 0;
-HXDLIN(1973) int _g9 = _g5->length;
-HXDLIN(1973) while((_g8 < _g9)){
-HXLINE(1973) _g8 = (_g8 + 1);
-HXDLIN(1973) int i1 = (_g8 - 1);
-HXDLIN(1973) {
-HXLINE(1973) ::borogove::Role inValue1 = ::borogove::Role_obj::forAffiliation(( (::String)(_hx_array_unsafe_get(_g5,i1)) ));
-HXDLIN(1973) result1->__unsafe_set(i1,inValue1);
+HXDLIN(2252) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_g5->length);
+HXDLIN(2252) {
+HXLINE(2252) int _g8 = 0;
+HXDLIN(2252) int _g9 = _g5->length;
+HXDLIN(2252) while((_g8 < _g9)){
+HXLINE(2252) _g8 = (_g8 + 1);
+HXDLIN(2252) int i1 = (_g8 - 1);
+HXDLIN(2252) {
+HXLINE(2252) ::borogove::Role inValue1 = ::borogove::Role_obj::forAffiliation(( (::String)(_hx_array_unsafe_get(_g5,i1)) ));
+HXDLIN(2252) result1->__unsafe_set(i1,inValue1);
}
}
}
-HXDLIN(1973) return result1;
+HXDLIN(2252) return result1;
}
-HXLINE(1976) return ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2255) return ::Array_obj< ::Dynamic>::__new(0);
}
bool Channel_obj::canRemoveRole( ::borogove::Member member, ::borogove::Role role){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1982_canRemoveRole)
-HXLINE(1982) return (r->id == HX_("owner",33,98,76,38));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2261_canRemoveRole)
+HXLINE(2261) return (r->id == HX_("owner",33,98,76,38));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1986_canRemoveRole)
-HXLINE(1986) return (r->id == HX_("admin",8f,ac,4a,1c));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2265_canRemoveRole)
+HXLINE(2265) return (r->id == HX_("admin",8f,ac,4a,1c));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1979_canRemoveRole)
-HXLINE(1980) if (::hx::IsNull( this->self )) {
-HXLINE(1980) return false;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2258_canRemoveRole)
+HXLINE(2259) if (::hx::IsNull( this->self )) {
+HXLINE(2259) return false;
}
-HXLINE(1982) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()))) {
-HXLINE(1983) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_99,4)->contains(role->id);
+HXLINE(2261) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_0()))) {
+HXLINE(2262) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_121,4)->contains(role->id);
}
-HXLINE(1986) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_1()))) {
+HXLINE(2265) if (::Lambda_obj::exists(this->self->roles, ::Dynamic(new _hx_Closure_1()))) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
bool _hx_run( ::borogove::Role r){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1987_canRemoveRole)
-HXLINE(1987) return (r->id == HX_("owner",33,98,76,38));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2266_canRemoveRole)
+HXLINE(2266) return (r->id == HX_("owner",33,98,76,38));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1987) if (::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_2()))) {
-HXLINE(1987) return false;
+HXLINE(2266) if (::Lambda_obj::exists(member->roles, ::Dynamic(new _hx_Closure_2()))) {
+HXLINE(2266) return false;
}
-HXLINE(1989) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_101,3)->contains(role->id);
+HXLINE(2268) return ::Array_obj< ::String >::fromData( _hx_array_data_da6a8256_123,3)->contains(role->id);
}
-HXLINE(1992) return false;
+HXLINE(2271) return false;
}
void Channel_obj::addRole( ::borogove::Member member, ::borogove::Role role){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2001_addRole)
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2280_addRole)
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1995_addRole)
-HXLINE(1996) if (::hx::IsNull( member->chat )) {
-HXLINE(1996) return;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2274_addRole)
+HXLINE(2275) if (::hx::IsNull( member->chat )) {
+HXLINE(2275) return;
}
-HXLINE(1998) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2277) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("to",7b,65,00,00),this->chatId)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#admin",d3,be,2f,5a))))->textTag(HX_("item",13,c5,bf,45),HX_("",00,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#admin",d3,be,2f,5a))),null())->textTag(HX_("item",13,c5,bf,45),HX_("",00,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("affiliation",b0,1a,35,a1),role->id)
- ->setFixed(1,HX_("jid",c5,ca,50,00),member->chat->chatId)));
-HXLINE(2001) this->stream->sendIq(iq, ::Dynamic(new _hx_Closure_0()));
+ ->setFixed(1,HX_("jid",c5,ca,50,00),member->chat->chatId)),null());
+HXLINE(2280) this->stream->sendIq(iq, ::Dynamic(new _hx_Closure_0()));
}
void Channel_obj::removeRole( ::borogove::Member member, ::borogove::Role role){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2006_removeRole)
-HXDLIN(2006) this->addRole(member, ::borogove::Role_obj::__alloc( HX_CTX ,HX_("member",5a,e2,b5,04),HX_("",00,00,00,00)));
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2285_removeRole)
+HXDLIN(2285) this->addRole(member, ::borogove::Role_obj::__alloc( HX_CTX ,HX_("member",5a,e2,b5,04),HX_("",00,00,00,00)));
}
::Dynamic Channel_obj::getMessagesBefore( ::borogove::ChatMessage before){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis, ::borogove::ChatMessage,before) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2014_getMessagesBefore)
-HXLINE(2014) bool _hx_tmp;
-HXDLIN(2014) if ((messages->length <= 0)) {
-HXLINE(2014) if (::hx::IsNotNull( before )) {
-HXLINE(2014) _hx_tmp = ::hx::IsNull( before->serverId );
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2293_getMessagesBefore)
+HXLINE(2293) bool _hx_tmp;
+HXDLIN(2293) if ((messages->length <= 0)) {
+HXLINE(2293) if (::hx::IsNotNull( before )) {
+HXLINE(2293) _hx_tmp = ::hx::IsNull( before->serverId );
}
else {
-HXLINE(2014) _hx_tmp = false;
+HXLINE(2293) _hx_tmp = false;
}
}
else {
-HXLINE(2014) _hx_tmp = true;
+HXLINE(2293) _hx_tmp = true;
}
-HXDLIN(2014) if (_hx_tmp) {
-HXLINE(2015) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+HXDLIN(2293) if (_hx_tmp) {
+HXLINE(2294) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
else {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2020_getMessagesBefore)
-HXLINE(2021) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(2022) builder->syncPoint = false;
-HXLINE(2023) return builder;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2303_getMessagesBefore)
+HXLINE(2304) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(2305) builder->syncPoint = false;
+HXLINE(2306) return builder;
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(2017) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE(2018) ::String tmp;
-HXDLIN(2018) if (::hx::IsNotNull( before )) {
-HXLINE(2018) tmp = before->serverId;
+HXLINE(2296) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE(2297) ::String tmp;
+HXDLIN(2297) if (::hx::IsNotNull( before )) {
+HXLINE(2297) tmp = before->serverId;
}
else {
-HXLINE(2018) tmp = null();
+HXLINE(2297) tmp = null();
}
-HXDLIN(2018) ::String _hx_tmp1;
-HXDLIN(2018) if (::hx::IsNotNull( tmp )) {
-HXLINE(2018) _hx_tmp1 = tmp;
+HXDLIN(2297) ::String _hx_tmp1;
+HXDLIN(2297) if (::hx::IsNotNull( tmp )) {
+HXLINE(2297) _hx_tmp1 = tmp;
}
else {
-HXLINE(2018) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE(2297) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN(2018) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN(2297) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("before",7f,54,32,9a),_hx_tmp1)),::hx::paccDynamic);
-HXLINE(2019) ::String sync;
-HXDLIN(2019) if (::hx::IsNotNull( before )) {
-HXLINE(2019) sync = before->sortId;
+HXLINE(2300) ::String _hx_tmp2;
+HXDLIN(2300) if (::hx::IsNotNull( before )) {
+HXLINE(2300) _hx_tmp2 = before->serverId;
+ }
+ else {
+HXLINE(2300) _hx_tmp2 = null();
+ }
+HXDLIN(2300) ::String _hx_tmp3;
+HXDLIN(2300) if (::hx::IsNotNull( before )) {
+HXLINE(2300) _hx_tmp3 = before->sortId;
+ }
+ else {
+HXLINE(2300) _hx_tmp3 = null();
+ }
+HXLINE(2298) ::haxe::Log_obj::trace(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("beforeServerId",1d,29,cd,b4),_hx_tmp2)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("channel getMessagesBefore local result empty",7b,92,11,db))
+ ->setFixed(3,HX_("beforeSortId",b8,2c,9b,5c),_hx_tmp3))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesBefore",a1,f1,44,11))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2298)));
+HXLINE(2302) ::String sync;
+HXDLIN(2302) if (::hx::IsNotNull( before )) {
+HXLINE(2302) sync = before->sortId;
}
else {
-HXLINE(2019) sync = null();
+HXLINE(2302) sync = null();
}
-HXDLIN(2019) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null(),sync,_gthis->chatId);
-HXLINE(2020) sync1->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(2025) return _gthis->fetchFromSync(sync1);
+HXDLIN(2302) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null(),sync,_gthis->chatId);
+HXLINE(2303) sync1->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(2308) return _gthis->fetchFromSync(sync1);
}
-HXLINE(2014) return null();
+HXLINE(2293) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2010_getMessagesBefore)
-HXDLIN(2010) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2011) bool _hx_tmp;
-HXDLIN(2011) if (::hx::IsNotNull( before )) {
-HXLINE(2011) ::String _hx_tmp1 = before->chatId();
-HXDLIN(2011) _hx_tmp = (_hx_tmp1 != this->chatId);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2289_getMessagesBefore)
+HXDLIN(2289) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2290) bool _hx_tmp;
+HXDLIN(2290) if (::hx::IsNotNull( before )) {
+HXLINE(2290) ::String _hx_tmp1 = before->chatId();
+HXDLIN(2290) _hx_tmp = (_hx_tmp1 != this->chatId);
}
else {
-HXLINE(2011) _hx_tmp = false;
+HXLINE(2290) _hx_tmp = false;
}
-HXDLIN(2011) if (_hx_tmp) {
-HXLINE(2011) HX_STACK_DO_THROW(HX_("Cannot look before from a different chat",f7,e6,d9,fa));
+HXDLIN(2290) if (_hx_tmp) {
+HXLINE(2290) HX_STACK_DO_THROW(HX_("Cannot look before from a different chat",f7,e6,d9,fa));
}
-HXLINE(2013) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(2013) ::String _hx_tmp3 = this->client->accountId();
-HXDLIN(2013) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp2,_hx_tmp3,this->chatId,before), ::Dynamic(new _hx_Closure_1(_gthis,before)),null());
+HXLINE(2292) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(2292) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN(2292) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp2,_hx_tmp3,this->chatId,before), ::Dynamic(new _hx_Closure_1(_gthis,before)),null());
}
::Dynamic Channel_obj::getMessagesAfter( ::borogove::ChatMessage after){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::ChatMessage,after, ::borogove::Channel,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2038_getMessagesAfter)
-HXLINE(2038) bool _hx_tmp;
-HXDLIN(2038) if ((messages->length <= 0)) {
-HXLINE(2038) if (::hx::IsNotNull( after )) {
-HXLINE(2038) _hx_tmp = ::hx::IsNull( after->serverId );
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2322_getMessagesAfter)
+HXLINE(2322) bool _hx_tmp;
+HXDLIN(2322) if ((messages->length <= 0)) {
+HXLINE(2322) if (::hx::IsNotNull( after )) {
+HXLINE(2322) _hx_tmp = ::hx::IsNull( after->serverId );
}
else {
-HXLINE(2038) _hx_tmp = false;
+HXLINE(2322) _hx_tmp = false;
}
}
else {
-HXLINE(2038) _hx_tmp = true;
+HXLINE(2322) _hx_tmp = true;
}
-HXDLIN(2038) if (_hx_tmp) {
-HXLINE(2039) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+HXDLIN(2322) if (_hx_tmp) {
+HXLINE(2323) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
else {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2044_getMessagesAfter)
-HXLINE(2045) builder = _gthis->prepareIncomingMessage(builder,stanza);
-HXLINE(2046) builder->syncPoint = false;
-HXLINE(2047) return builder;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2332_getMessagesAfter)
+HXLINE(2333) builder = _gthis->prepareIncomingMessage(builder,stanza);
+HXLINE(2334) builder->syncPoint = false;
+HXLINE(2335) return builder;
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(2041) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE(2042) ::String _hx_tmp1;
-HXDLIN(2042) if (::hx::IsNotNull( after )) {
-HXLINE(2042) _hx_tmp1 = after->serverId;
+HXLINE(2325) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE(2326) ::String _hx_tmp1;
+HXDLIN(2326) if (::hx::IsNotNull( after )) {
+HXLINE(2326) _hx_tmp1 = after->serverId;
}
else {
-HXLINE(2042) _hx_tmp1 = null();
+HXLINE(2326) _hx_tmp1 = null();
}
-HXDLIN(2042) if (::hx::IsNotNull( _hx_tmp1 )) {
-HXLINE(2042) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN(2326) if (::hx::IsNotNull( _hx_tmp1 )) {
+HXLINE(2326) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("after",1c,66,a2,1d),after->serverId)),::hx::paccDynamic);
}
-HXLINE(2043) ::String sync;
-HXDLIN(2043) if (::hx::IsNotNull( after )) {
-HXLINE(2043) sync = after->sortId;
+HXLINE(2329) ::String _hx_tmp2;
+HXDLIN(2329) if (::hx::IsNotNull( after )) {
+HXLINE(2329) _hx_tmp2 = after->serverId;
}
else {
-HXLINE(2043) sync = null();
+HXLINE(2329) _hx_tmp2 = null();
}
-HXDLIN(2043) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,sync,null(),_gthis->chatId);
-HXLINE(2044) sync1->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE(2049) return _gthis->fetchFromSync(sync1);
+HXDLIN(2329) ::String _hx_tmp3;
+HXDLIN(2329) if (::hx::IsNotNull( after )) {
+HXLINE(2329) _hx_tmp3 = after->sortId;
+ }
+ else {
+HXLINE(2329) _hx_tmp3 = null();
+ }
+HXLINE(2327) ::haxe::Log_obj::trace(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("afterSortId",15,d2,97,81),_hx_tmp3)
+ ->setFixed(1,HX_("afterServerId",ba,9f,43,8e),_hx_tmp2)
+ ->setFixed(2,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(3,HX_("reason",c4,0f,9d,fc),HX_("channel getMessagesAfter local result empty",28,a2,c6,d4)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesAfter",3a,43,91,57))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2327)));
+HXLINE(2331) ::String sync;
+HXDLIN(2331) if (::hx::IsNotNull( after )) {
+HXLINE(2331) sync = after->sortId;
+ }
+ else {
+HXLINE(2331) sync = null();
+ }
+HXDLIN(2331) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,sync,null(),_gthis->chatId);
+HXLINE(2332) sync1->addContext( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(2337) return _gthis->fetchFromSync(sync1);
}
-HXLINE(2038) return null();
+HXLINE(2322) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2031_getMessagesAfter)
-HXDLIN(2031) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2032) bool _hx_tmp;
-HXDLIN(2032) if (::hx::IsNotNull( after )) {
-HXLINE(2032) ::String _hx_tmp1 = after->chatId();
-HXDLIN(2032) _hx_tmp = (_hx_tmp1 != this->chatId);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2314_getMessagesAfter)
+HXDLIN(2314) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2315) bool _hx_tmp;
+HXDLIN(2315) if (::hx::IsNotNull( after )) {
+HXLINE(2315) ::String _hx_tmp1 = after->chatId();
+HXDLIN(2315) _hx_tmp = (_hx_tmp1 != this->chatId);
}
else {
-HXLINE(2032) _hx_tmp = false;
+HXLINE(2315) _hx_tmp = false;
}
-HXDLIN(2032) if (_hx_tmp) {
-HXLINE(2032) HX_STACK_DO_THROW(HX_("Cannot look after from a different chat",8c,1a,5f,f4));
+HXDLIN(2315) if (_hx_tmp) {
+HXLINE(2315) HX_STACK_DO_THROW(HX_("Cannot look after from a different chat",8c,1a,5f,f4));
}
-HXLINE(2033) bool _hx_tmp2;
-HXDLIN(2033) bool _hx_tmp3;
-HXDLIN(2033) bool _hx_tmp4;
-HXDLIN(2033) if (::hx::IsNotNull( after )) {
-HXLINE(2033) _hx_tmp4 = ::hx::IsNotNull( this->lastMessage );
+HXLINE(2316) bool _hx_tmp2;
+HXDLIN(2316) bool _hx_tmp3;
+HXDLIN(2316) bool _hx_tmp4;
+HXDLIN(2316) if (::hx::IsNotNull( after )) {
+HXLINE(2316) _hx_tmp4 = ::hx::IsNotNull( this->lastMessage );
}
else {
-HXLINE(2033) _hx_tmp4 = false;
+HXLINE(2316) _hx_tmp4 = false;
}
-HXDLIN(2033) if (_hx_tmp4) {
-HXLINE(2033) _hx_tmp3 = this->lastMessage->canReplace(after);
+HXDLIN(2316) if (_hx_tmp4) {
+HXLINE(2316) _hx_tmp3 = this->lastMessage->canReplace(after);
}
else {
-HXLINE(2033) _hx_tmp3 = false;
+HXLINE(2316) _hx_tmp3 = false;
}
-HXDLIN(2033) if (_hx_tmp3) {
-HXLINE(2033) _hx_tmp2 = this->inSync;
+HXDLIN(2316) if (_hx_tmp3) {
+HXLINE(2316) _hx_tmp2 = this->inSync;
}
else {
-HXLINE(2033) _hx_tmp2 = false;
- }
-HXDLIN(2033) if (_hx_tmp2) {
-HXLINE(2034) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
- }
-HXLINE(2037) ::Dynamic _hx_tmp5 = this->persistence;
-HXDLIN(2037) ::String _hx_tmp6 = this->client->accountId();
-HXDLIN(2037) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp5,_hx_tmp6,this->chatId,after), ::Dynamic(new _hx_Closure_1(after,_gthis)),null());
+HXLINE(2316) _hx_tmp2 = false;
+ }
+HXDLIN(2316) if (_hx_tmp2) {
+HXLINE(2317) ::haxe::Log_obj::trace(HX_("SYNC: getMessagesAfter returning empty",fa,ce,a8,a8), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(6)
+ ->setFixed(0,HX_("afterSortId",15,d2,97,81),after->sortId)
+ ->setFixed(1,HX_("afterServerId",ba,9f,43,8e),after->serverId)
+ ->setFixed(2,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(3,HX_("lastMessageSortId",ca,3b,01,ca),this->lastMessage->sortId)
+ ->setFixed(4,HX_("lastMessageServerId",af,a0,22,d3),this->lastMessage->serverId)
+ ->setFixed(5,HX_("reason",c4,0f,9d,fc),HX_("channel is synced and cursor matches last message",3e,4d,1d,d9)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesAfter",3a,43,91,57))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2317)));
+HXLINE(2318) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE(2321) ::Dynamic _hx_tmp5 = this->persistence;
+HXDLIN(2321) ::String _hx_tmp6 = this->client->accountId();
+HXDLIN(2321) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp5,_hx_tmp6,this->chatId,after), ::Dynamic(new _hx_Closure_1(after,_gthis)),null());
}
::Dynamic Channel_obj::getMessagesAround( ::borogove::ChatMessage around){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2055_getMessagesAround)
-HXLINE(2056) ::String _hx_tmp = around->chatId();
-HXDLIN(2056) if ((_hx_tmp != this->chatId)) {
-HXLINE(2056) HX_STACK_DO_THROW(HX_("Cannot look around from a different chat",45,55,1b,ba));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2343_getMessagesAround)
+HXLINE(2344) ::String _hx_tmp = around->chatId();
+HXDLIN(2344) if ((_hx_tmp != this->chatId)) {
+HXLINE(2344) HX_STACK_DO_THROW(HX_("Cannot look around from a different chat",45,55,1b,ba));
}
-HXLINE(2059) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(2059) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp1,this->client->accountId(),around);
+HXLINE(2347) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(2347) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp1,this->client->accountId(),around);
}
::borogove::ChatMessageBuilder Channel_obj::prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2063_prepareIncomingMessage)
-HXLINE(2064) message->syncPoint = this->inSync;
-HXLINE(2065) if ((message->type == 0)) {
-HXLINE(2065) message->type = 3;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2351_prepareIncomingMessage)
+HXLINE(2352) message->syncPoint = this->inSync;
+HXLINE(2353) if ((message->type == 0)) {
+HXLINE(2353) message->type = 3;
}
-HXLINE(2066) if (::hx::IsNull( message->sortId )) {
-HXLINE(2067) bool _hx_tmp;
-HXDLIN(2067) if (::hx::IsNotNull( this->sortId )) {
-HXLINE(2067) _hx_tmp = (message->type == 2);
+HXLINE(2354) bool _hx_tmp;
+HXDLIN(2354) if (::hx::IsNull( message->sortId )) {
+HXLINE(2354) if (::hx::IsNull( message->text )) {
+HXLINE(2354) _hx_tmp = (message->attachments->length > 0);
}
else {
-HXLINE(2067) _hx_tmp = false;
+HXLINE(2354) _hx_tmp = true;
}
-HXDLIN(2067) if (_hx_tmp) {
-HXLINE(2068) this->sortId = (message->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(this->sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a)));
+ }
+ else {
+HXLINE(2354) _hx_tmp = false;
+ }
+HXDLIN(2354) if (_hx_tmp) {
+HXLINE(2355) bool _hx_tmp1;
+HXDLIN(2355) if (::hx::IsNotNull( this->sortId )) {
+HXLINE(2355) _hx_tmp1 = (message->type == 2);
}
else {
-HXLINE(2070) message->sortId = this->client->nextSortId();
+HXLINE(2355) _hx_tmp1 = false;
+ }
+HXDLIN(2355) if (_hx_tmp1) {
+HXLINE(2356) ::String lower = this->sortId;
+HXLINE(2357) this->sortId = (message->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(lower,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a)));
+HXLINE(2361) ::String _hx_tmp2 = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2358) message->debug = ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("now",16,d9,53,00),_hx_tmp2)
+ ->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(2,HX_("source",db,b0,31,32),HX_("live",ec,1e,b3,47))
+ ->setFixed(3,HX_("path",a5,e5,51,4a),HX_("Channel#prepareIncomingMessage sortId != null && message.type == MessageChannel",27,8c,53,ba)));
}
- }
-HXLINE(2073) ::borogove::Stanza tmp = stanza->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN(2073) ::Dynamic tmp1;
-HXDLIN(2073) if (::hx::IsNotNull( tmp )) {
-HXLINE(2073) tmp1 = tmp->attr;
+ else {
+HXLINE(2365) if ((message->type == 2)) {
+HXLINE(2366) HX_STACK_DO_THROW(HX_("Cannot store message before we know sortId",28,59,94,fe));
+ }
+HXLINE(2368) ::String lower1 = this->client->sortId;
+HXLINE(2369) message->sortId = this->client->nextSortId();
+HXLINE(2373) ::String _hx_tmp3 = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2370) message->debug = ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("now",16,d9,53,00),_hx_tmp3)
+ ->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower1)))
+ ->setFixed(2,HX_("source",db,b0,31,32),HX_("live",ec,1e,b3,47))
+ ->setFixed(3,HX_("path",a5,e5,51,4a),HX_("Channel#prepareIncomingMessage else (probably PM?)",dd,38,4f,1f)));
+ }
+ }
+HXLINE(2378) ::borogove::Stanza tmp = stanza->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
+HXDLIN(2378) ::haxe::ds::StringMap tmp1;
+HXDLIN(2378) if (::hx::IsNotNull( tmp )) {
+HXLINE(2378) tmp1 = tmp->attr;
}
else {
-HXLINE(2073) tmp1 = null();
+HXLINE(2378) tmp1 = null();
}
-HXDLIN(2073) ::String occupantId;
-HXDLIN(2073) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(2073) occupantId = ( (::String)(::Reflect_obj::field(tmp1,HX_("id",db,5b,00,00))) );
+HXDLIN(2378) ::String occupantId;
+HXDLIN(2378) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2378) occupantId = tmp1->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE(2073) occupantId = null();
+HXLINE(2378) occupantId = null();
}
-HXLINE(2074) ::String _hx_tmp1;
-HXDLIN(2074) if (::hx::IsNull( occupantId )) {
-HXLINE(2074) _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE(2379) ::String _hx_tmp4;
+HXDLIN(2379) if (::hx::IsNull( occupantId )) {
+HXLINE(2379) _hx_tmp4 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
}
else {
-HXLINE(2074) _hx_tmp1 = ((this->chatId + HX_("/",2f,00,00,00)) + occupantId);
+HXLINE(2379) _hx_tmp4 = ((this->chatId + HX_("/",2f,00,00,00)) + occupantId);
}
-HXDLIN(2074) message->senderId = _hx_tmp1;
-HXLINE(2075) ::String _hx_tmp2 = message->get_senderId();
-HXDLIN(2075) ::borogove::Member tmp2 = this->self;
-HXDLIN(2075) ::String _hx_tmp3;
-HXDLIN(2075) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(2075) _hx_tmp3 = tmp2->id;
+HXDLIN(2379) message->senderId = _hx_tmp4;
+HXLINE(2380) ::String _hx_tmp5 = message->get_senderId();
+HXDLIN(2380) ::borogove::Member tmp2 = this->self;
+HXDLIN(2380) ::String _hx_tmp6;
+HXDLIN(2380) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(2380) _hx_tmp6 = tmp2->id;
}
else {
-HXLINE(2075) _hx_tmp3 = null();
+HXLINE(2380) _hx_tmp6 = null();
}
-HXDLIN(2075) if ((_hx_tmp2 == _hx_tmp3)) {
-HXLINE(2076) message->recipients = message->replyTo;
-HXLINE(2077) message->direction = 1;
+HXDLIN(2380) if ((_hx_tmp5 == _hx_tmp6)) {
+HXLINE(2381) message->recipients = message->replyTo;
+HXLINE(2382) message->direction = 1;
}
-HXLINE(2079) return message;
+HXLINE(2384) return message;
}
::borogove::ChatMessageBuilder Channel_obj::prepareOutgoingMessage( ::borogove::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2082_prepareOutgoingMessage)
-HXLINE(2083) message->type = 2;
-HXLINE(2084) ::String tmp = message->timestamp;
-HXDLIN(2084) ::String _hx_tmp;
-HXDLIN(2084) if (::hx::IsNotNull( tmp )) {
-HXLINE(2084) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2387_prepareOutgoingMessage)
+HXLINE(2388) message->type = 2;
+HXLINE(2389) ::String tmp = message->timeSent;
+HXDLIN(2389) ::String _hx_tmp;
+HXDLIN(2389) if (::hx::IsNotNull( tmp )) {
+HXLINE(2389) _hx_tmp = tmp;
}
else {
-HXLINE(2084) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2389) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
}
-HXDLIN(2084) message->timestamp = _hx_tmp;
-HXLINE(2085) message->direction = 1;
-HXLINE(2086) message->from = this->client->jid;
-HXLINE(2087) ::borogove::Member tmp1 = this->self;
-HXDLIN(2087) ::String tmp2;
-HXDLIN(2087) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(2087) tmp2 = tmp1->id;
+HXDLIN(2389) message->timeSent = _hx_tmp;
+HXLINE(2390) message->timeReceived = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2391) message->direction = 1;
+HXLINE(2392) message->from = this->client->jid;
+HXLINE(2393) ::borogove::Member tmp1 = this->self;
+HXDLIN(2393) ::String tmp2;
+HXDLIN(2393) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2393) tmp2 = tmp1->id;
}
else {
-HXLINE(2087) tmp2 = null();
+HXLINE(2393) tmp2 = null();
}
-HXDLIN(2087) ::String _hx_tmp1;
-HXDLIN(2087) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(2087) _hx_tmp1 = tmp2;
+HXDLIN(2393) ::String _hx_tmp1;
+HXDLIN(2393) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(2393) _hx_tmp1 = tmp2;
}
else {
-HXLINE(2087) _hx_tmp1 = this->getFullJid()->asString();
+HXLINE(2393) _hx_tmp1 = this->getFullJid()->asString();
}
-HXDLIN(2087) message->senderId = _hx_tmp1;
-HXLINE(2088) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,this->getFullJid());
-HXLINE(2089) message->to = ::borogove::JID_obj::parse(this->chatId);
-HXLINE(2090) message->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->to);
-HXLINE(2091) if (::hx::IsNull( message->localId )) {
-HXLINE(2091) message->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(2393) message->senderId = _hx_tmp1;
+HXLINE(2394) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,this->getFullJid());
+HXLINE(2395) message->to = ::borogove::JID_obj::parse(this->chatId);
+HXLINE(2396) message->recipients = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->to);
+HXLINE(2397) if (::hx::IsNull( message->localId )) {
+HXLINE(2397) message->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXLINE(2092) bool _hx_tmp2;
-HXDLIN(2092) if (::hx::IsNotNull( this->sortId )) {
-HXLINE(2092) _hx_tmp2 = ::hx::IsNull( message->sortId );
+HXLINE(2398) bool _hx_tmp2;
+HXDLIN(2398) if (::hx::IsNotNull( this->sortId )) {
+HXLINE(2398) _hx_tmp2 = ::hx::IsNull( message->sortId );
}
else {
-HXLINE(2092) _hx_tmp2 = false;
- }
-HXDLIN(2092) if (_hx_tmp2) {
-HXLINE(2092) this->sortId = (message->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(this->sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a)));
- }
-HXLINE(2093) return message;
+HXLINE(2398) _hx_tmp2 = false;
+ }
+HXDLIN(2398) if (_hx_tmp2) {
+HXLINE(2399) ::String lower = this->sortId;
+HXLINE(2400) this->sortId = (message->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(lower,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a)));
+HXLINE(2404) ::String _hx_tmp3 = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2401) message->debug = ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("now",16,d9,53,00),_hx_tmp3)
+ ->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(2,HX_("source",db,b0,31,32),HX_("outgoing",6c,18,89,c7))
+ ->setFixed(3,HX_("path",a5,e5,51,4a),HX_("Channel#prepareOutgoingMessage",14,af,e9,48)));
+ }
+HXLINE(2408) return message;
}
@@ -2678,151 +3422,148 @@ HX_DEFINE_DYNAMIC_FUNC1(Channel_obj,prepareOutgoingMessage,return )
void Channel_obj::correctMessage( ::borogove::ChatMessage correct, ::borogove::ChatMessageBuilder message){
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis,::Array< ::Dynamic>,message1,::String,toSendId, ::borogove::OutboxItem,outboxItem, ::borogove::ChatMessage,correct) HXARGC(1)
void _hx_run( ::borogove::ChatMessage corrected){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2103_correctMessage)
-HXLINE(2104) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN(2104) ::borogove::ChatMessage tmp = corrected->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(2104) ::String _hx_tmp1;
-HXDLIN(2104) if (::hx::IsNotNull( tmp )) {
-HXLINE(2104) _hx_tmp1 = tmp->localId;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2418_correctMessage)
+HXLINE(2419) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN(2419) ::borogove::ChatMessage tmp = corrected->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(2419) ::String _hx_tmp1;
+HXDLIN(2419) if (::hx::IsNotNull( tmp )) {
+HXLINE(2419) _hx_tmp1 = tmp->localId;
}
else {
-HXLINE(2104) _hx_tmp1 = null();
+HXLINE(2419) _hx_tmp1 = null();
}
-HXDLIN(2104) if ((_hx_tmp1 == correct->localId)) {
-HXLINE(2104) _hx_tmp = corrected->versions;
+HXDLIN(2419) if ((_hx_tmp1 == correct->localId)) {
+HXLINE(2419) _hx_tmp = corrected->versions;
}
else {
-HXLINE(2104) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
- }
-HXDLIN(2104) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
-HXLINE(2105) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
-HXLINE(2106) ::borogove::Channel _gthis1 = _gthis;
-HXDLIN(2106) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
-HXDLIN(2106) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem);
-HXLINE(2107) _gthis->client->notifyMessageHandlers(corrected,1);
-HXLINE(2108) bool _hx_tmp3;
-HXDLIN(2108) if (::hx::IsNotNull( _gthis->lastMessage )) {
-HXLINE(2108) _hx_tmp3 = corrected->canReplace(_gthis->lastMessage);
+HXLINE(2419) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
+ }
+HXDLIN(2419) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
+HXLINE(2420) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
+HXLINE(2421) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(2421) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(2421) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem,null());
+HXLINE(2422) _gthis->client->notifyMessageHandlers(corrected,1);
+HXLINE(2423) bool _hx_tmp3;
+HXDLIN(2423) if (::hx::IsNotNull( _gthis->lastMessage )) {
+HXLINE(2423) _hx_tmp3 = corrected->canReplace(_gthis->lastMessage);
}
else {
-HXLINE(2108) _hx_tmp3 = true;
+HXLINE(2423) _hx_tmp3 = true;
}
-HXDLIN(2108) if (_hx_tmp3) {
+HXDLIN(2423) if (_hx_tmp3) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2110_correctMessage)
-HXLINE(2110) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2425_correctMessage)
+HXLINE(2425) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(2109) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(corrected), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE(2424) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(corrected), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2097_correctMessage)
-HXDLIN(2097) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN(2097) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2098) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
-HXLINE(2099) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
-HXLINE(2100) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
-HXDLIN(2100) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
-HXLINE(2101) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = correct->localId;
-HXLINE(2102) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(2103) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,toSendId,outboxItem,correct)),null());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2412_correctMessage)
+HXDLIN(2412) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(2412) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2413) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(2414) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
+HXLINE(2415) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
+HXDLIN(2415) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
+HXLINE(2416) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = correct->localId;
+HXLINE(2417) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(2418) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,toSendId,outboxItem,correct)),null());
}
-void Channel_obj::sendMessage( ::borogove::ChatMessageBuilder message){
+void Channel_obj::sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > __o_e2eePreference){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,message1) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2125_sendMessage)
-HXLINE(2126) if (::hx::IsNotNull( message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->get_senderId() )) {
-HXLINE(2126) builder->senderId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->get_senderId();
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2439_sendMessage)
+HXLINE(2440) if (::hx::IsNotNull( message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->get_senderId() )) {
+HXLINE(2440) builder->senderId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->get_senderId();
}
-HXLINE(2127) return builder;
+HXLINE(2441) return builder;
}
HX_END_LOCAL_FUNC2(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2117_sendMessage)
-HXDLIN(2117) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN(2117) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2118) if ((this->uiState == 3)) {
-HXLINE(2118) this->uiState = 1;
- }
-HXLINE(2119) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(2119) this->typingTimer->stop();
- }
-HXLINE(2120) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
-HXLINE(2121) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
-HXLINE(2122) ::borogove::Stanza stanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
-HXLINE(2124) {
-HXLINE(2124) ::Dynamic this1 = stanza->attr;
-HXDLIN(2124) ::Reflect_obj::setField(this1,HX_("from",6a,a5,c2,43),this->getFullJid()->asString());
- }
-HXLINE(2125) ::borogove::MessageStanza fromStanza = ::borogove::Message_obj::fromStanza(stanza,this->client->jid, ::Dynamic(new _hx_Closure_0(message1)),null(),null())->parsed;
-HXLINE(2129) {
-HXLINE(2129) ::Dynamic this2 = stanza->attr;
-HXDLIN(2129) ::Reflect_obj::setField(this2,HX_("from",6a,a5,c2,43),this->client->jid->asString());
- }
-HXLINE(2130) switch((int)(fromStanza->_hx_getIndex())){
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2431_sendMessage)
+HXDLIN(2431) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(2431) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2432) if ((this->uiState == 3)) {
+HXLINE(2432) this->uiState = 1;
+ }
+HXLINE(2433) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(2433) this->typingTimer->stop();
+ }
+HXLINE(2434) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
+HXLINE(2435) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(2436) ::borogove::Stanza stanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXLINE(2438) ::haxe::ds::StringMap stanza1 = stanza->attr;
+HXDLIN(2438) stanza1->set(HX_("from",6a,a5,c2,43),this->getFullJid()->asString());
+HXLINE(2439) ::borogove::MessageStanza fromStanza = ::borogove::Message_obj::fromStanza(stanza,this->client->jid, ::Dynamic(new _hx_Closure_0(message1)),null(),null())->parsed;
+HXLINE(2443) ::haxe::ds::StringMap stanza2 = stanza->attr;
+HXDLIN(2443) stanza2->set(HX_("from",6a,a5,c2,43),this->client->jid->asString());
+HXLINE(2444) switch((int)(fromStanza->_hx_getIndex())){
case (int)1: {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2, ::borogove::Channel,_gthis, ::borogove::OutboxItem,outboxItem, ::borogove::Stanza,stanza) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage stored){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis, ::borogove::ChatMessage,stored) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2140_sendMessage)
-HXLINE(2141) int _hx_tmp;
-HXDLIN(2141) if ((stored->versions->length > 1)) {
-HXLINE(2141) _hx_tmp = 1;
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2454_sendMessage)
+HXLINE(2455) int _hx_tmp;
+HXDLIN(2455) if ((stored->versions->length > 1)) {
+HXLINE(2455) _hx_tmp = 1;
}
else {
-HXLINE(2141) _hx_tmp = 0;
+HXLINE(2455) _hx_tmp = 0;
}
-HXDLIN(2141) _gthis->client->notifyMessageHandlers(stored,_hx_tmp);
-HXLINE(2142) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXDLIN(2455) _gthis->client->notifyMessageHandlers(stored,_hx_tmp);
+HXLINE(2456) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2138_sendMessage)
-HXLINE(2139) _gthis->sendMessageStanza(stanza,outboxItem);
-HXLINE(2140) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(stored), ::Dynamic(new _hx_Closure_1(_gthis,stored)),null());
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2452_sendMessage)
+HXLINE(2453) _gthis->sendMessageStanza(stanza,outboxItem,null());
+HXLINE(2454) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(stored), ::Dynamic(new _hx_Closure_1(_gthis,stored)),null());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(2132) if (::hx::IsNotNull( this->isActive )) {
-HXLINE(2133) this->isActive = true;
-HXLINE(2134) this->activeThread = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->threadId;
-HXLINE(2135) stanza->tag(HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))))->up();
+HXLINE(2446) if (::hx::IsNotNull( this->isActive )) {
+HXLINE(2447) this->isActive = true;
+HXLINE(2448) this->activeThread = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->threadId;
+HXLINE(2449) stanza->tag(HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))),null())->up();
}
-HXLINE(2137) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(2138) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_2(_gthis,outboxItem,stanza)),null());
+HXLINE(2451) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(2452) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_2(_gthis,outboxItem,stanza)),null());
}
break;
case (int)4: {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::Channel,_gthis, ::borogove::Stanza,stanza) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2146_sendMessage)
-HXLINE(2147) _gthis->client->sendStanza(stanza);
-HXLINE(2148) if (::hx::IsNotNull( stored )) {
-HXLINE(2148) _gthis->client->notifyMessageHandlers(stored,2);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2460_sendMessage)
+HXLINE(2461) _gthis->client->sendStanza(stanza);
+HXLINE(2462) if (::hx::IsNotNull( stored )) {
+HXLINE(2462) _gthis->client->notifyMessageHandlers(stored,2);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(2146) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(2146) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp,this->client->accountId(),fromStanza->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_3(_gthis,stanza)),null());
+HXLINE(2460) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(2460) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp,this->client->accountId(),fromStanza->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_3(_gthis,stanza)),null());
}
break;
default:{
-HXLINE(2151) ::haxe::Log_obj::trace(HX_("Invalid message",7e,ab,89,95), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE(2465) ::haxe::Log_obj::trace(HX_("Invalid message",7e,ab,89,95), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Channel",56,82,6a,da))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,fromStanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("sendMessage",5f,89,1d,24))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),2151)));
-HXLINE(2152) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2465)));
+HXLINE(2466) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
}
}
}
@@ -2831,292 +3572,278 @@ HXLINE(2152) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0
void Channel_obj::removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis, ::borogove::ReactionUpdate,update4, ::borogove::OutboxItem,outboxItem) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2181_removeReaction)
-HXLINE(2182) ::borogove::Channel _gthis1 = _gthis;
-HXDLIN(2182) ::borogove::Stanza _hx_tmp = update4->asStanza();
-HXDLIN(2182) _gthis1->sendMessageStanza(_hx_tmp,outboxItem);
-HXLINE(2183) if (::hx::IsNotNull( stored )) {
-HXLINE(2183) _gthis->client->notifyMessageHandlers(stored,2);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2495_removeReaction)
+HXLINE(2496) ::borogove::Channel _gthis1 = _gthis;
+HXDLIN(2496) ::borogove::Stanza _hx_tmp = update4->asStanza();
+HXDLIN(2496) _gthis1->sendMessageStanza(_hx_tmp,outboxItem,null());
+HXLINE(2497) if (::hx::IsNotNull( stored )) {
+HXLINE(2497) _gthis->client->notifyMessageHandlers(stored,2);
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2157_removeReaction)
-HXDLIN(2157) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2158) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
-HXLINE(2159) if (::hx::IsNull( reaction->envelopeId )) {
-HXLINE(2159) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
- }
-HXLINE(2160) ::borogove::ChatMessageBuilder correct = m->reply();
-HXLINE(2161) correct->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE(2162) correct->setBody(null());
-HXLINE(2164) ::borogove::ChatMessageBuilder fakeEnvelope = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE(2165) fakeEnvelope->localId = reaction->envelopeId;
-HXLINE(2166) fakeEnvelope->senderId = reaction->senderId;
-HXLINE(2167) this->correctMessage(fakeEnvelope->build(),correct);
-HXLINE(2168) return;
- }
-HXLINE(2172) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(2173) {
-HXLINE(2173) ::Dynamic this1 = m->reactions;
-HXDLIN(2173) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
-HXDLIN(2173) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(2173) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(2173) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
-HXLINE(2174) if ((key != reaction->key)) {
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2471_removeReaction)
+HXDLIN(2471) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2472) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
+HXLINE(2473) if (::hx::IsNull( reaction->envelopeId )) {
+HXLINE(2473) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
+ }
+HXLINE(2474) ::borogove::ChatMessageBuilder correct = m->reply();
+HXLINE(2475) correct->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(2476) correct->setBody(null());
+HXLINE(2478) ::borogove::ChatMessageBuilder fakeEnvelope = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE(2479) fakeEnvelope->localId = reaction->envelopeId;
+HXLINE(2480) fakeEnvelope->senderId = reaction->senderId;
+HXLINE(2481) this->correctMessage(fakeEnvelope->build(),correct);
+HXLINE(2482) return;
+ }
+HXLINE(2486) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2487) {
+HXLINE(2487) ::Dynamic this1 = m->reactions;
+HXDLIN(2487) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(2487) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(2487) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(2487) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(2488) if ((key != reaction->key)) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
bool _hx_run( ::borogove::Reaction r){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2175_removeReaction)
-HXLINE(2175) ::borogove::Member tmp = _gthis->self;
-HXDLIN(2175) ::String react;
-HXDLIN(2175) if (::hx::IsNotNull( tmp )) {
-HXLINE(2175) react = tmp->id;
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2489_removeReaction)
+HXLINE(2489) ::borogove::Member tmp = _gthis->self;
+HXDLIN(2489) ::String react;
+HXDLIN(2489) if (::hx::IsNotNull( tmp )) {
+HXLINE(2489) react = tmp->id;
}
else {
-HXLINE(2175) react = null();
+HXLINE(2489) react = null();
}
-HXDLIN(2175) return (r->senderId == react);
+HXDLIN(2489) return (r->senderId == react);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(2175) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
-HXLINE(2176) bool _hx_tmp;
-HXDLIN(2176) if (::hx::IsNotNull( react )) {
-HXLINE(2176) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
+HXLINE(2489) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
+HXLINE(2490) bool _hx_tmp;
+HXDLIN(2490) if (::hx::IsNotNull( react )) {
+HXLINE(2490) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
}
else {
-HXLINE(2176) _hx_tmp = false;
+HXLINE(2490) _hx_tmp = false;
}
-HXDLIN(2176) if (_hx_tmp) {
-HXLINE(2176) reactions->push(react);
+HXDLIN(2490) if (_hx_tmp) {
+HXLINE(2490) reactions->push(react);
}
}
}
}
-HXLINE(2179) ::String update = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN(2179) ::String m1 = m->serverId;
-HXDLIN(2179) ::String update1 = m->chatId();
-HXDLIN(2179) ::String update2 = m->chatId();
-HXDLIN(2179) ::borogove::Member tmp = this->self;
-HXDLIN(2179) ::String update3;
-HXDLIN(2179) if (::hx::IsNotNull( tmp )) {
-HXLINE(2179) update3 = tmp->id;
+HXLINE(2493) ::String update = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(2493) ::String m1 = m->serverId;
+HXDLIN(2493) ::String update1 = m->chatId();
+HXDLIN(2493) ::String update2 = m->chatId();
+HXDLIN(2493) ::borogove::Member tmp = this->self;
+HXDLIN(2493) ::String update3;
+HXDLIN(2493) if (::hx::IsNotNull( tmp )) {
+HXLINE(2493) update3 = tmp->id;
}
else {
-HXLINE(2179) update3 = null();
+HXLINE(2493) update3 = null();
+ }
+HXDLIN(2493) ::borogove::ReactionUpdate update4 = ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,update,m1,update1,null(),update2,update3,::borogove::Date_obj::format(::Date_obj::now()),reactions,0);
+HXLINE(2494) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(2495) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(2495) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(2495) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update4), ::Dynamic(new _hx_Closure_1(_gthis,update4,outboxItem)),null());
+ }
+
+
+int Channel_obj::defaultE2ee(){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run(int p){
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2503_defaultE2ee)
+HXLINE(2503) return (p == 1);
}
-HXDLIN(2179) ::borogove::ReactionUpdate update4 = ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,update,m1,update1,null(),update2,update3,::borogove::Date_obj::format(::Date_obj::now()),reactions,0);
-HXLINE(2180) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(2181) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(2181) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(2181) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update4), ::Dynamic(new _hx_Closure_1(_gthis,update4,outboxItem)),null());
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2502_defaultE2ee)
+HXLINE(2503) if (!(::Lambda_obj::exists(this->client->outgoingE2EEPreference, ::Dynamic(new _hx_Closure_0())))) {
+HXLINE(2505) return this->client->outgoingE2EEPreference->__get(0);
+ }
+HXLINE(2508) if (!(this->isPrivate())) {
+HXLINE(2508) return 1;
+ }
+HXLINE(2510) return this->client->outgoingE2EEPreference->__get(0);
}
-void Channel_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem){
+HX_DEFINE_DYNAMIC_FUNC0(Channel_obj,defaultE2ee,return )
+
+void Channel_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > __o_e2eePreference){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis, ::borogove::Stanza,stanza) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2193_sendMessageStanza)
-HXLINE(2193) _gthis->client->sendStanza(stanza);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2525_sendMessageStanza)
+HXLINE(2525) _gthis->client->sendStanza(stanza);
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2187_sendMessageStanza)
-HXDLIN(2187) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2188) if ((stanza->name != HX_("message",c7,35,11,9a))) {
-HXLINE(2188) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2513_sendMessageStanza)
+HXDLIN(2513) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2514) if ((stanza->name != HX_("message",c7,35,11,9a))) {
+HXLINE(2514) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
}
-HXLINE(2190) if (::hx::IsNull( outboxItem )) {
-HXLINE(2190) outboxItem = this->outbox->newItem();
+HXLINE(2516) if (::hx::IsNull( outboxItem )) {
+HXLINE(2516) outboxItem = this->outbox->newItem();
}
-HXLINE(2191) ::Reflect_obj::setField(stanza->attr,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5));
-HXLINE(2192) ::Reflect_obj::setField(stanza->attr,HX_("to",7b,65,00,00),this->chatId);
-HXLINE(2193) outboxItem->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanza)));
+HXLINE(2517) stanza->attr->set(HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5));
+HXLINE(2518) stanza->attr->set(HX_("to",7b,65,00,00),this->chatId);
+HXLINE(2522) if ((e2eePreference == 0)) {
+HXLINE(2522) e2eePreference = this->defaultE2ee();
+ }
+HXLINE(2524) if ((e2eePreference != 1)) {
+HXLINE(2524) HX_STACK_DO_THROW(HX_("Selected E2EE preference unsupported",1e,73,4f,f3));
+ }
+HXLINE(2525) outboxItem->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanza)));
}
void Channel_obj::markReadUpTo( ::borogove::ChatMessage message){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis, ::borogove::ChatMessage,message) HXARGC(1)
void _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2198_markReadUpTo)
-HXLINE(2201) bool _hx_tmp;
-HXDLIN(2201) if (message->isIncoming()) {
-HXLINE(2201) _hx_tmp = ::hx::IsNotNull( message->serverId );
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2547_markReadUpTo)
+HXLINE(2550) bool _hx_tmp;
+HXDLIN(2550) if (message->isIncoming()) {
+HXLINE(2550) _hx_tmp = ::hx::IsNotNull( message->serverId );
}
else {
-HXLINE(2201) _hx_tmp = false;
+HXLINE(2550) _hx_tmp = false;
}
-HXDLIN(2201) if (_hx_tmp) {
-HXLINE(2202) ::String _gthis1 = _gthis->chatId;
-HXDLIN(2202) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN(2202) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+HXDLIN(2550) if (_hx_tmp) {
+HXLINE(2551) ::String _gthis1 = _gthis->chatId;
+HXDLIN(2551) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(2551) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),stanza)
->setFixed(1,HX_("to",7b,65,00,00),_gthis1)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5))))->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5))),null())->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),message->serverId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:chat-markers:0",96,b8,66,e7))))->up();
-HXLINE(2204) if (::hx::IsNotNull( message->threadId )) {
-HXLINE(2205) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:chat-markers:0",96,b8,66,e7))),null())->up();
+HXLINE(2553) if (::hx::IsNotNull( message->threadId )) {
+HXLINE(2554) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null(),null());
}
-HXLINE(2207) _gthis->client->sendStanza(stanza1);
+HXLINE(2556) _gthis->client->sendStanza(stanza1);
}
-HXLINE(2210) _gthis->publishMds();
-HXLINE(2211) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXLINE(2559) _gthis->publishMds();
+HXLINE(2560) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Dynamic _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2213_markReadUpTo)
-HXLINE(2213) if (::hx::IsNotNull( e )) {
-HXLINE(2213) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2562_markReadUpTo)
+HXLINE(2562) if (::hx::IsNotNull( e )) {
+HXLINE(2562) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
}
else {
-HXLINE(2213) return null();
+HXLINE(2562) return null();
}
-HXDLIN(2213) return null();
+HXDLIN(2562) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2197_markReadUpTo)
-HXDLIN(2197) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2198) ::thenshim::_Promise::Promise_Impl__obj::then(this->markReadUpToMessage(message), ::Dynamic(new _hx_Closure_0(_gthis,message)), ::Dynamic(new _hx_Closure_1()));
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2546_markReadUpTo)
+HXDLIN(2546) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2547) ::thenshim::_Promise::Promise_Impl__obj::then(this->markReadUpToMessage(message), ::Dynamic(new _hx_Closure_0(_gthis,message)), ::Dynamic(new _hx_Closure_1()));
}
void Channel_obj::bookmark(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,_gthis) HXARGC(1)
- void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2239_bookmark)
-HXLINE(2239) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(2240) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN(2240) ::borogove::Stanza preconditionError;
-HXDLIN(2240) if (::hx::IsNotNull( tmp )) {
-HXLINE(2240) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
- }
- else {
-HXLINE(2240) preconditionError = null();
- }
-HXLINE(2241) if (::hx::IsNotNull( preconditionError )) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,_gthis) HXARGC(1)
- void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2257_bookmark)
-HXLINE(2257) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
-HXLINE(2258) _gthis->bookmark();
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE(2243) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXDLIN(2243) _gthis1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub#owner",c7,28,a3,08))))->tag(HX_("configure",e6,f9,5b,c0), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))))->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))))->textTag(HX_("value",71,7f,b8,31),HX_("max",a4,0a,53,00),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#send_last_published_item",b6,21,d2,0a))))->textTag(HX_("value",71,7f,b8,31),HX_("never",8c,3e,30,99),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))))->textTag(HX_("value",71,7f,b8,31),HX_("whitelist",87,6f,95,29),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_delete",41,3a,35,54))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_retract",2b,3b,48,44))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->up()->up()->up(), ::Dynamic(new _hx_Closure_0(_gthis)));
- }
- }
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2217_bookmark)
-HXDLIN(2217) ::borogove::Channel _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(2218) if ((this->uiState == 3)) {
-HXLINE(2218) this->uiState = 1;
- }
-HXLINE(2219) ::borogove::GenericStream _hx_tmp = this->stream;
-HXLINE(2220) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))))->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("id",db,5b,00,00),this->chatId)));
-HXLINE(2224) ::String _hx_tmp2 = this->getDisplayName();
-HXDLIN(2224) ::String _hx_tmp3;
-HXDLIN(2224) bool _hx_tmp4;
-HXDLIN(2224) if ((this->uiState != 2)) {
-HXLINE(2224) _hx_tmp4 = (this->uiState == 3);
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2566_bookmark)
+HXLINE(2567) if ((this->uiState == 3)) {
+HXLINE(2567) this->uiState = 1;
+ }
+HXLINE(2569) ::borogove::Client _hx_tmp = this->client;
+HXLINE(2570) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),this->chatId)),null());
+HXLINE(2574) ::String _hx_tmp2 = this->getDisplayName();
+HXDLIN(2574) ::String _hx_tmp3;
+HXDLIN(2574) bool _hx_tmp4;
+HXDLIN(2574) if ((this->uiState != 2)) {
+HXLINE(2574) _hx_tmp4 = (this->uiState == 3);
}
else {
-HXLINE(2224) _hx_tmp4 = true;
+HXLINE(2574) _hx_tmp4 = true;
}
-HXDLIN(2224) if (_hx_tmp4) {
-HXLINE(2224) _hx_tmp3 = HX_("false",a3,35,4f,fb);
+HXDLIN(2574) if (_hx_tmp4) {
+HXLINE(2574) _hx_tmp3 = HX_("false",a3,35,4f,fb);
}
else {
-HXLINE(2224) _hx_tmp3 = HX_("true",4e,a7,03,4d);
+HXLINE(2574) _hx_tmp3 = HX_("true",4e,a7,03,4d);
}
-HXLINE(2220) ::borogove::Stanza _hx_tmp5 = _hx_tmp1->tag(HX_("conference",1c,2b,83,41), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE(2570) ::borogove::Stanza _hx_tmp5 = _hx_tmp1->tag(HX_("conference",1c,2b,83,41), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("autojoin",d9,f6,b1,3e),_hx_tmp3)
->setFixed(1,HX_("name",4b,72,ff,48),_hx_tmp2)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))));
-HXLINE(2225) ::String _hx_tmp6 = this->client->displayName();
-HXLINE(2219) _hx_tmp->sendIq(_hx_tmp5->textTag(HX_("nick",a3,7b,05,49),_hx_tmp6,null())->addChild(this->extensions)->up()->up()->tag(HX_("publish-options",60,0b,5c,74),null())->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))),null());
+HXLINE(2575) ::String _hx_tmp6 = this->client->displayName();
+HXLINE(2570) ::borogove::Stanza _hx_tmp7 = _hx_tmp5->textTag(HX_("nick",a3,7b,05,49),_hx_tmp6,null(),null())->addChild(this->extensions);
+HXLINE(2569) _hx_tmp->publishWithOptions(_hx_tmp7, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))))->textTag(HX_("value",71,7f,b8,31),HX_("max",a4,0a,53,00),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#send_last_published_item",b6,21,d2,0a))))->textTag(HX_("value",71,7f,b8,31),HX_("never",8c,3e,30,99),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))))->textTag(HX_("value",71,7f,b8,31),HX_("whitelist",87,6f,95,29),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_delete",41,3a,35,54))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_retract",2b,3b,48,44))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->up()->up()->up()->up(), ::Dynamic(new _hx_Closure_1(_gthis)));
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("max",a4,0a,53,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#send_last_published_item",b6,21,d2,0a))),null())->textTag(HX_("value",71,7f,b8,31),HX_("never",8c,3e,30,99),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),HX_("whitelist",87,6f,95,29),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_delete",41,3a,35,54))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#notify_retract",2b,3b,48,44))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up());
}
void Channel_obj::sendChatState(::String state,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2268_sendChatState)
-HXLINE(2270) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE(2272) ::String stanza1 = this->client->jid->asString();
-HXLINE(2269) ::borogove::Stanza stanza2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(4)
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2588_sendChatState)
+HXLINE(2590) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(2592) ::String stanza1 = this->client->jid->asString();
+HXLINE(2589) ::borogove::Stanza stanza2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("id",db,5b,00,00),stanza)
->setFixed(1,HX_("to",7b,65,00,00),this->chatId)
->setFixed(2,HX_("from",6a,a5,c2,43),stanza1)
- ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5))))->tag(state, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))))->up();
-HXLINE(2277) if (::hx::IsNotNull( threadId )) {
-HXLINE(2278) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
+ ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("groupchat",97,1d,c8,e5))),null())->tag(state, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))),null())->up();
+HXLINE(2597) if (::hx::IsNotNull( threadId )) {
+HXLINE(2598) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null(),null());
}
-HXLINE(2280) this->stream->sendStanza(stanza2);
+HXLINE(2600) this->stream->sendStanza(stanza2);
}
void Channel_obj::close(){
- HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2284_close)
-HXLINE(2285) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(2285) this->typingTimer->stop();
- }
-HXLINE(2286) if ((this->uiState == 3)) {
-HXLINE(2287) int _g = 0;
-HXDLIN(2287) ::Array< ::Dynamic> _g1 = this->invites();
-HXDLIN(2287) while((_g < _g1->length)){
-HXLINE(2287) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(2287) _g = (_g + 1);
-HXLINE(2288) ::borogove::Client _hx_tmp = this->client;
-HXLINE(2289) ::String _hx_tmp1 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN(2289) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_2604_close)
+HXLINE(2605) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(2605) this->typingTimer->stop();
+ }
+HXLINE(2606) if ((this->uiState == 3)) {
+HXLINE(2607) int _g = 0;
+HXDLIN(2607) ::Array< ::Dynamic> _g1 = this->invites();
+HXDLIN(2607) while((_g < _g1->length)){
+HXLINE(2607) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2607) _g = (_g + 1);
+HXLINE(2608) ::borogove::Client _hx_tmp = this->client;
+HXLINE(2609) ::String _hx_tmp1 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(2609) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp1)
- ->setFixed(1,HX_("to",7b,65,00,00),this->chatId)))->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))));
-HXLINE(2288) _hx_tmp->sendStanza(_hx_tmp2->tag(HX_("decline",b6,5a,cc,e8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("to",7b,65,00,00),( (::String)(::Reflect_obj::field(invite->attr,HX_("from",6a,a5,c2,43))) ))))->up()->up());
- }
- }
-HXLINE(2296) this->uiState = 2;
-HXLINE(2297) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN(2297) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE(2298) this->selfPing(false);
-HXLINE(2299) this->bookmark();
-HXLINE(2300) this->sendChatState(HX_("gone",5f,94,69,44),null());
-HXLINE(2301) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ ->setFixed(1,HX_("to",7b,65,00,00),this->chatId)),null())->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))),null());
+HXLINE(2608) _hx_tmp->sendStanza(_hx_tmp2->tag(HX_("decline",b6,5a,cc,e8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("to",7b,65,00,00),invite->attr->get(HX_("from",6a,a5,c2,43)))),null())->up()->up());
+ }
+ }
+HXLINE(2616) this->uiState = 2;
+HXLINE(2617) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN(2617) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(2618) this->selfPing(false);
+HXLINE(2619) this->bookmark();
+HXLINE(2620) this->sendChatState(HX_("gone",5f,94,69,44),null());
+HXLINE(2621) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
@@ -3192,6 +3919,7 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
case 7:
if (HX_FIELD_EQ(inName,"subject") ) { return ::hx::Val( subject_dyn() ); }
if (HX_FIELD_EQ(inName,"canSend") ) { return ::hx::Val( canSend_dyn() ); }
+ if (HX_FIELD_EQ(inName,"isOwner") ) { return ::hx::Val( isOwner_dyn() ); }
if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
if (HX_FIELD_EQ(inName,"preview") ) { return ::hx::Val( preview_dyn() ); }
if (HX_FIELD_EQ(inName,"syncing") ) { return ::hx::Val( syncing_dyn() ); }
@@ -3201,6 +3929,8 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
case 8:
if (HX_FIELD_EQ(inName,"mavUntil") ) { return ::hx::Val( mavUntil ); }
if (HX_FIELD_EQ(inName,"selfPing") ) { return ::hx::Val( selfPing_dyn() ); }
+ if (HX_FIELD_EQ(inName,"commands") ) { return ::hx::Val( commands_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setPhoto") ) { return ::hx::Val( setPhoto_dyn() ); }
if (HX_FIELD_EQ(inName,"bookmark") ) { return ::hx::Val( bookmark_dyn() ); }
break;
case 9:
@@ -3212,6 +3942,7 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
break;
case 10:
if (HX_FIELD_EQ(inName,"joinFailed") ) { return ::hx::Val( joinFailed ); }
+ if (HX_FIELD_EQ(inName,"setSubject") ) { return ::hx::Val( setSubject_dyn() ); }
if (HX_FIELD_EQ(inName,"setTrusted") ) { return ::hx::Val( setTrusted_dyn() ); }
if (HX_FIELD_EQ(inName,"getFullJid") ) { return ::hx::Val( getFullJid_dyn() ); }
if (HX_FIELD_EQ(inName,"removeRole") ) { return ::hx::Val( removeRole_dyn() ); }
@@ -3219,9 +3950,12 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
case 11:
if (HX_FIELD_EQ(inName,"description") ) { return ::hx::Val( description_dyn() ); }
if (HX_FIELD_EQ(inName,"canModerate") ) { return ::hx::Val( canModerate_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hasCommands") ) { return ::hx::Val( hasCommands_dyn() ); }
+ if (HX_FIELD_EQ(inName,"canSetPhoto") ) { return ::hx::Val( canSetPhoto_dyn() ); }
if (HX_FIELD_EQ(inName,"setPresence") ) { return ::hx::Val( setPresence_dyn() ); }
if (HX_FIELD_EQ(inName,"buildMember") ) { return ::hx::Val( buildMember_dyn() ); }
if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
+ if (HX_FIELD_EQ(inName,"defaultE2ee") ) { return ::hx::Val( defaultE2ee_dyn() ); }
break;
case 12:
if (HX_FIELD_EQ(inName,"refreshDisco") ) { return ::hx::Val( refreshDisco_dyn() ); }
@@ -3231,6 +3965,10 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"markReadUpTo") ) { return ::hx::Val( markReadUpTo_dyn() ); }
break;
case 13:
+ if (HX_FIELD_EQ(inName,"canSetSubject") ) { return ::hx::Val( canSetSubject_dyn() ); }
+ if (HX_FIELD_EQ(inName,"requestToSend") ) { return ::hx::Val( requestToSend_dyn() ); }
+ if (HX_FIELD_EQ(inName,"inMessageSync") ) { return ::hx::Val( inMessageSync_dyn() ); }
+ if (HX_FIELD_EQ(inName,"voiceRequests") ) { return ::hx::Val( voiceRequests_dyn() ); }
if (HX_FIELD_EQ(inName,"canRemoveRole") ) { return ::hx::Val( canRemoveRole_dyn() ); }
if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
break;
@@ -3257,6 +3995,9 @@ void Channel_obj::__Visit(HX_VISIT_PARAMS)
case 18:
if (HX_FIELD_EQ(inName,"setupNotifications") ) { return ::hx::Val( setupNotifications_dyn() ); }
break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"voiceRequestRespond") ) { return ::hx::Val( voiceRequestRespond_dyn() ); }
+ break;
case 21:
if (HX_FIELD_EQ(inName,"lastMessageSenderName") ) { return ::hx::Val( lastMessageSenderName ); }
break;
@@ -3347,12 +4088,20 @@ static ::String Channel_obj_sMemberFields[] = {
HX_("selfPingSuccess",45,4d,98,ab),
HX_("getDisplayName",b7,64,90,b8),
HX_("subject",ac,01,88,29),
+ HX_("canSetSubject",5a,52,a3,b5),
+ HX_("setSubject",2a,26,67,7c),
HX_("description",fc,08,1d,5f),
HX_("info",6e,38,bb,45),
HX_("invite",c9,f1,db,9f),
HX_("canInvite",f9,45,22,f2),
HX_("canSend",78,75,a8,6a),
HX_("canModerate",f3,d3,bd,00),
+ HX_("requestToSend",12,31,b4,3d),
+ HX_("isOwner",e9,3b,fc,d4),
+ HX_("commands",c8,b0,55,be),
+ HX_("hasCommands",42,96,0c,91),
+ HX_("canSetPhoto",e0,f1,cf,ff),
+ HX_("setPhoto",b0,31,28,d0),
HX_("getCaps",d7,cb,3c,14),
HX_("setPresence",fd,1b,38,97),
HX_("doSync",86,5f,63,1c),
@@ -3364,6 +4113,7 @@ static ::String Channel_obj_sMemberFields[] = {
HX_("preview",08,e0,da,3b),
HX_("livePresence",47,f9,16,b4),
HX_("syncing",67,fd,26,a7),
+ HX_("inMessageSync",dd,37,ad,3f),
HX_("setLastMessage",8f,25,7b,f6),
HX_("canAudioCall",64,4a,90,e4),
HX_("canVideoCall",89,1c,93,ea),
@@ -3371,6 +4121,8 @@ static ::String Channel_obj_sMemberFields[] = {
HX_("getFullJid",80,42,92,1f),
HX_("members",d9,2c,70,1a),
HX_("getMemberDetails",12,2b,2f,b3),
+ HX_("voiceRequests",16,6a,6f,a3),
+ HX_("voiceRequestRespond",18,77,eb,5d),
HX_("buildMember",28,c8,26,55),
HX_("availableRoles",b4,19,02,0f),
HX_("canRemoveRole",0a,52,0a,02),
@@ -3384,6 +4136,7 @@ static ::String Channel_obj_sMemberFields[] = {
HX_("correctMessage",7d,36,c3,f4),
HX_("sendMessage",5f,89,1d,24),
HX_("removeReaction",0d,24,0b,c1),
+ HX_("defaultE2ee",2e,cf,a7,14),
HX_("sendMessageStanza",b4,2c,6d,3d),
HX_("markReadUpTo",59,68,2d,ee),
HX_("bookmark",b6,8c,f1,32),
@@ -3419,65 +4172,77 @@ void Channel_obj::__register()
void Channel_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1430_boot)
-HXDLIN(1430) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(28)
+ HX_STACKFRAME(&_hx_pos_bf6e937f28c6df5e_1528_boot)
+HXDLIN(1528) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(34)
->setFixed(0,HX_("addRole",37,2e,ec,87), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(1,HX_("invite",c9,f1,db,9f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(1,HX_("hasCommands",42,96,0c,91), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(2,HX_("invite",c9,f1,db,9f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(3,HX_("voiceRequests",16,6a,6f,a3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
+ ->setFixed(4,HX_("syncing",67,fd,26,a7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(5,HX_("getMemberDetails",12,2b,2f,b3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(6,HX_("livePresence",47,f9,16,b4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(7,HX_("getDisplayName",b7,64,90,b8), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(2,HX_("syncing",67,fd,26,a7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(8,HX_("commands",c8,b0,55,be), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(3,HX_("getMemberDetails",12,2b,2f,b3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(9,HX_("removeReaction",0d,24,0b,c1), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(4,HX_("livePresence",47,f9,16,b4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(10,HX_("removeRole",da,25,ce,c8), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(5,HX_("getDisplayName",b7,64,90,b8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(11,HX_("canAudioCall",64,4a,90,e4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(6,HX_("removeReaction",0d,24,0b,c1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(12,HX_("canVideoCall",89,1c,93,ea), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(7,HX_("removeRole",da,25,ce,c8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(13,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(8,HX_("canAudioCall",64,4a,90,e4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(14,HX_("canInvite",f9,45,22,f2), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(9,HX_("canVideoCall",89,1c,93,ea), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(15,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(10,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(16,HX_("setLastMessage",8f,25,7b,f6), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("canInvite",f9,45,22,f2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("canModerate",f3,d3,bd,00), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(12,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(18,HX_("canRemoveRole",0a,52,0a,02), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(13,HX_("setLastMessage",8f,25,7b,f6), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("availableRoles",b4,19,02,0f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(14,HX_("canModerate",f3,d3,bd,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(20,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(15,HX_("canRemoveRole",0a,52,0a,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("members",d9,2c,70,1a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(16,HX_("availableRoles",b4,19,02,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("isTrusted",2d,35,a5,1a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(18,HX_("members",d9,2c,70,1a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(24,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(19,HX_("isTrusted",2d,35,a5,1a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(25,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(20,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(26,HX_("preview",08,e0,da,3b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(21,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("sendMessageStanza",b4,2c,6d,3d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(22,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("inMessageSync",dd,37,ad,3f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(23,HX_("preview",08,e0,da,3b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(24,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(25,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("setTrusted",75,dc,85,69), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(26,HX_("setTrusted",75,dc,85,69), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("canSend",78,75,a8,6a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(27,HX_("canSend",78,75,a8,6a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
+ ->setFixed(33,HX_("voiceRequests__fromC",23,15,f4,76), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/ChannelPinger.cpp b/Sources/c_borogove/src/borogove/ChannelPinger.cpp
new file mode 100644
index 0000000..6805d05
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ChannelPinger.cpp
@@ -0,0 +1,325 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_borogove_Channel
+#include <borogove/Channel.h>
+#endif
+#ifndef INCLUDED_borogove_ChannelPinger
+#include <borogove/ChannelPinger.h>
+#endif
+#ifndef INCLUDED_borogove_Chat
+#include <borogove/Chat.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_Timer
+#include <haxe/Timer.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_57a57c165192b103_12_new,"borogove.ChannelPinger","new",0x0fa795c7,"borogove.ChannelPinger.new","borogove/ChannelPinger.hx",12,0x5640518a)
+HX_DEFINE_STACK_FRAME(_hx_pos_57a57c165192b103_23_new,"borogove.ChannelPinger","new",0x0fa795c7,"borogove.ChannelPinger.new","borogove/ChannelPinger.hx",23,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_26_startTimer,"borogove.ChannelPinger","startTimer",0xd2775d7c,"borogove.ChannelPinger.startTimer","borogove/ChannelPinger.hx",26,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_32_stopTimer,"borogove.ChannelPinger","stopTimer",0xaf90450a,"borogove.ChannelPinger.stopTimer","borogove/ChannelPinger.hx",32,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_37_schedule,"borogove.ChannelPinger","schedule",0xc6230f90,"borogove.ChannelPinger.schedule","borogove/ChannelPinger.hx",37,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_47_remove,"borogove.ChannelPinger","remove",0x8632f13d,"borogove.ChannelPinger.remove","borogove/ChannelPinger.hx",47,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_51_pingPastDue,"borogove.ChannelPinger","pingPastDue",0xf16bb617,"borogove.ChannelPinger.pingPastDue","borogove/ChannelPinger.hx",51,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_54_pingDueInWindow,"borogove.ChannelPinger","pingDueInWindow",0xefda301e,"borogove.ChannelPinger.pingDueInWindow","borogove/ChannelPinger.hx",54,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_61_pingDueBy,"borogove.ChannelPinger","pingDueBy",0xd0448380,"borogove.ChannelPinger.pingDueBy","borogove/ChannelPinger.hx",61,0x5640518a)
+HX_LOCAL_STACK_FRAME(_hx_pos_57a57c165192b103_68_getDueBy,"borogove.ChannelPinger","getDueBy",0x42302b6e,"borogove.ChannelPinger.getDueBy","borogove/ChannelPinger.hx",68,0x5640518a)
+namespace borogove{
+
+void ChannelPinger_obj::__construct( ::Dynamic now){
+ HX_GC_STACKFRAME(&_hx_pos_57a57c165192b103_12_new)
+HXLINE( 20) this->timer = null();
+HXLINE( 19) this->scheduledChannels = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 23) ::Dynamic _hx_tmp;
+HXDLIN( 23) if (::hx::IsNotNull( now )) {
+HXLINE( 23) _hx_tmp = now;
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
+ Float _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_57a57c165192b103_23_new)
+HXLINE( 23) return ( ::__time_stamp() * ( (Float)(1000) ));
+ }
+ HX_END_LOCAL_FUNC0(return)
+
+HXLINE( 23) _hx_tmp = ::Dynamic(new _hx_Closure_0());
+ }
+HXDLIN( 23) this->now = _hx_tmp;
+ }
+
+Dynamic ChannelPinger_obj::__CreateEmpty() { return new ChannelPinger_obj; }
+
+void *ChannelPinger_obj::_hx_vtable = 0;
+
+Dynamic ChannelPinger_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ChannelPinger_obj > _hx_result = new ChannelPinger_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool ChannelPinger_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x6ea167fd;
+}
+
+void ChannelPinger_obj::startTimer(){
+ HX_GC_STACKFRAME(&_hx_pos_57a57c165192b103_26_startTimer)
+HXLINE( 27) if (::hx::IsNotNull( this->timer )) {
+HXLINE( 27) HX_STACK_DO_THROW(HX_("ChannelPinger timer already exists",dd,03,08,09));
+ }
+HXLINE( 28) this->timer = ::haxe::Timer_obj::__alloc( HX_CTX ,60000);
+HXLINE( 29) this->timer->run = this->pingPastDue_dyn();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChannelPinger_obj,startTimer,(void))
+
+void ChannelPinger_obj::stopTimer(){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_32_stopTimer)
+HXLINE( 33) {
+HXLINE( 33) ::haxe::Timer tmp = this->timer;
+HXDLIN( 33) if (::hx::IsNotNull( tmp )) {
+HXLINE( 33) tmp->stop();
+ }
+ }
+HXLINE( 34) this->timer = null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChannelPinger_obj,stopTimer,(void))
+
+void ChannelPinger_obj::schedule( ::borogove::Channel channel, ::Dynamic deadline){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_37_schedule)
+HXLINE( 38) if ((channel->uiState != 1)) {
+HXLINE( 38) return;
+ }
+HXLINE( 40) {
+HXLINE( 40) ::Dynamic this1 = this->scheduledChannels;
+HXDLIN( 40) ::String key = channel->chatId;
+HXLINE( 42) Float value;
+HXDLIN( 42) if (::hx::IsNotNull( deadline )) {
+HXLINE( 42) value = ( (Float)(deadline) );
+ }
+ else {
+HXLINE( 42) value = (this->now() + 300000);
+ }
+HXLINE( 40) ( ( ::haxe::ds::StringMap)(this1) )->set(key, ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("channel",c3,00,d2,cc),channel)
+ ->setFixed(1,HX_("deadline",98,88,0f,64),value)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ChannelPinger_obj,schedule,(void))
+
+void ChannelPinger_obj::remove( ::borogove::Channel channel){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_47_remove)
+HXDLIN( 47) this->scheduledChannels->remove(channel->chatId);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChannelPinger_obj,remove,(void))
+
+void ChannelPinger_obj::pingPastDue(){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_51_pingPastDue)
+HXDLIN( 51) this->pingDueBy(( (Float)(this->now()) ));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChannelPinger_obj,pingPastDue,(void))
+
+void ChannelPinger_obj::pingDueInWindow(){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_54_pingDueInWindow)
+HXLINE( 55) Float currentTime = ( (Float)(this->now()) );
+HXLINE( 56) if ((this->getDueBy((currentTime + 30000))->length > 0)) {
+HXLINE( 57) this->pingDueBy((currentTime + 60000));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChannelPinger_obj,pingDueInWindow,(void))
+
+void ChannelPinger_obj::pingDueBy(Float cutoff){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_61_pingDueBy)
+HXLINE( 62) ::Array< ::Dynamic> due = this->getDueBy(cutoff);
+HXLINE( 64) {
+HXLINE( 64) int _g = 0;
+HXDLIN( 64) while((_g < due->length)){
+HXLINE( 64) ::Dynamic scheduled = due->__get(_g);
+HXDLIN( 64) _g = (_g + 1);
+HXDLIN( 64) ( ( ::borogove::Channel)(scheduled->__Field(HX_("channel",c3,00,d2,cc),::hx::paccDynamic)) )->selfPing(false);
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChannelPinger_obj,pingDueBy,(void))
+
+::Array< ::Dynamic> ChannelPinger_obj::getDueBy(Float cutoff){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,Float,cutoff) HXARGC(1)
+ bool _hx_run( ::Dynamic sc){
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_68_getDueBy)
+HXDLIN( 68) return ::hx::IsLessEq( sc->__Field(HX_("deadline",98,88,0f,64),::hx::paccDynamic),cutoff );
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_57a57c165192b103_68_getDueBy)
+HXDLIN( 68) return ::Lambda_obj::filter(this->scheduledChannels, ::Dynamic(new _hx_Closure_0(cutoff)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChannelPinger_obj,getDueBy,return )
+
+
+::hx::ObjectPtr< ChannelPinger_obj > ChannelPinger_obj::__new( ::Dynamic now) {
+ ::hx::ObjectPtr< ChannelPinger_obj > __this = new ChannelPinger_obj();
+ __this->__construct(now);
+ return __this;
+}
+
+::hx::ObjectPtr< ChannelPinger_obj > ChannelPinger_obj::__alloc(::hx::Ctx *_hx_ctx, ::Dynamic now) {
+ ChannelPinger_obj *__this = (ChannelPinger_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ChannelPinger_obj), true, "borogove.ChannelPinger"));
+ *(void **)__this = ChannelPinger_obj::_hx_vtable;
+ __this->__construct(now);
+ return __this;
+}
+
+ChannelPinger_obj::ChannelPinger_obj()
+{
+}
+
+void ChannelPinger_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ChannelPinger);
+ HX_MARK_MEMBER_NAME(now,"now");
+ HX_MARK_MEMBER_NAME(scheduledChannels,"scheduledChannels");
+ HX_MARK_MEMBER_NAME(timer,"timer");
+ HX_MARK_END_CLASS();
+}
+
+void ChannelPinger_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(now,"now");
+ HX_VISIT_MEMBER_NAME(scheduledChannels,"scheduledChannels");
+ HX_VISIT_MEMBER_NAME(timer,"timer");
+}
+
+::hx::Val ChannelPinger_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"now") ) { return ::hx::Val( now ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"timer") ) { return ::hx::Val( timer ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"remove") ) { return ::hx::Val( remove_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"schedule") ) { return ::hx::Val( schedule_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getDueBy") ) { return ::hx::Val( getDueBy_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"stopTimer") ) { return ::hx::Val( stopTimer_dyn() ); }
+ if (HX_FIELD_EQ(inName,"pingDueBy") ) { return ::hx::Val( pingDueBy_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"startTimer") ) { return ::hx::Val( startTimer_dyn() ); }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"pingPastDue") ) { return ::hx::Val( pingPastDue_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"pingDueInWindow") ) { return ::hx::Val( pingDueInWindow_dyn() ); }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"scheduledChannels") ) { return ::hx::Val( scheduledChannels ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val ChannelPinger_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"now") ) { now=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"timer") ) { timer=inValue.Cast< ::haxe::Timer >(); return inValue; }
+ break;
+ case 17:
+ if (HX_FIELD_EQ(inName,"scheduledChannels") ) { scheduledChannels=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ChannelPinger_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("scheduledChannels",9d,1d,94,61));
+ outFields->push(HX_("timer",c5,bf,35,10));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ChannelPinger_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(ChannelPinger_obj,now),HX_("now",16,d9,53,00)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(ChannelPinger_obj,scheduledChannels),HX_("scheduledChannels",9d,1d,94,61)},
+ {::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(ChannelPinger_obj,timer),HX_("timer",c5,bf,35,10)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ChannelPinger_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ChannelPinger_obj_sMemberFields[] = {
+ HX_("now",16,d9,53,00),
+ HX_("scheduledChannels",9d,1d,94,61),
+ HX_("timer",c5,bf,35,10),
+ HX_("startTimer",03,98,4c,2c),
+ HX_("stopTimer",63,f8,77,20),
+ HX_("schedule",57,ca,7e,c5),
+ HX_("remove",44,9c,88,04),
+ HX_("pingPastDue",b0,b1,29,32),
+ HX_("pingDueInWindow",37,6c,00,7f),
+ HX_("pingDueBy",d9,36,2c,41),
+ HX_("getDueBy",35,e6,8b,41),
+ ::String(null()) };
+
+::hx::Class ChannelPinger_obj::__mClass;
+
+void ChannelPinger_obj::__register()
+{
+ ChannelPinger_obj _hx_dummy;
+ ChannelPinger_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ChannelPinger",55,a6,11,1f);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(ChannelPinger_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ChannelPinger_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ChannelPinger_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ChannelPinger_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Chat.cpp b/Sources/c_borogove/src/borogove/Chat.cpp
index bcd7443..e1f3036 100644
--- a/Sources/c_borogove/src/borogove/Chat.cpp
+++ b/Sources/c_borogove/src/borogove/Chat.cpp
@@ -34,6 +34,9 @@
#ifndef INCLUDED_borogove_Chat
#include <borogove/Chat.h>
#endif
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
+#endif
#ifndef INCLUDED_borogove_ChatMessage
#include <borogove/ChatMessage.h>
#endif
@@ -148,6 +151,9 @@
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
+#endif
#ifndef INCLUDED_haxe_Timer
#include <haxe/Timer.h>
#endif
@@ -167,7 +173,7 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_9cc1265c56ba593e_111_new,"borogove.Chat","new",0x8ce82ad7,"borogove.Chat.new","borogove/Chat.hx",111,0x1763ae98)
+HX_DEFINE_STACK_FRAME(_hx_pos_9cc1265c56ba593e_112_new,"borogove.Chat","new",0x8ce82ad7,"borogove.Chat.new","borogove/Chat.hx",112,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_426_status__fromC,"borogove.Chat","status__fromC",0x47d268be,"borogove.Chat.status__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_426_chatId__fromC,"borogove.Chat","chatId__fromC",0x3b5eb13d,"borogove.Chat.chatId__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_426_uiState__fromC,"borogove.Chat","uiState__fromC",0xeee409e5,"borogove.Chat.uiState__fromC","HaxeCBridge.hx",426,0xa18550d8)
@@ -177,160 +183,164 @@ HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_426_isBookmarked__fromC,"borogove.
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_getMessagesBefore__fromC,"borogove.Chat","getMessagesBefore__fromC",0x7fc75d21,"borogove.Chat.getMessagesBefore__fromC","HaxeCBridge.hx",365,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_getMessagesAfter__fromC,"borogove.Chat","getMessagesAfter__fromC",0xee116876,"borogove.Chat.getMessagesAfter__fromC","HaxeCBridge.hx",365,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_getMessagesAround__fromC,"borogove.Chat","getMessagesAround__fromC",0x1557ef13,"borogove.Chat.getMessagesAround__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_218_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",218,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_242_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",242,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_217_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",217,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_216_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",216,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_sendMessage__fromC,"borogove.Chat","sendMessage__fromC",0x32fe6463,"borogove.Chat.sendMessage__fromC","HaxeCBridge.hx",354,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_227_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",227,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_251_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",251,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_226_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",226,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_219_fetchFromSync,"borogove.Chat","fetchFromSync",0x5969d876,"borogove.Chat.fetchFromSync","borogove/Chat.hx",219,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_268_sendMessage,"borogove.Chat","sendMessage",0x51d3b2d6,"borogove.Chat.sendMessage","borogove/Chat.hx",268,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_272_sendMessageStanza,"borogove.Chat","sendMessageStanza",0xdc22496b,"borogove.Chat.sendMessageStanza","borogove/Chat.hx",272,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_markReadUpTo__fromC,"borogove.Chat","markReadUpTo__fromC",0x3f04adb7,"borogove.Chat.markReadUpTo__fromC","HaxeCBridge.hx",354,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_bookmark__fromC,"borogove.Chat","bookmark__fromC",0x618f377a,"borogove.Chat.bookmark__fromC","HaxeCBridge.hx",354,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_members__fromC,"borogove.Chat","members__fromC",0xdc4e5ba9,"borogove.Chat.members__fromC","HaxeCBridge.hx",365,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_getMemberDetails__fromC,"borogove.Chat","getMemberDetails__fromC",0xb79eab9e,"borogove.Chat.getMemberDetails__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_297_addMembersUpdatedListener,"borogove.Chat","addMembersUpdatedListener",0x143e1bae,"borogove.Chat.addMembersUpdatedListener","borogove/Chat.hx",297,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_310_addMembersUpdatedListener,"borogove.Chat","addMembersUpdatedListener",0x143e1bae,"borogove.Chat.addMembersUpdatedListener","borogove/Chat.hx",310,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_282_addMembersUpdatedListener__fromC,"borogove.Chat","addMembersUpdatedListener__fromC",0xb2c1468b,"borogove.Chat.addMembersUpdatedListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_367_addMembersUpdatedListener__fromC,"borogove.Chat","addMembersUpdatedListener__fromC",0xb2c1468b,"borogove.Chat.addMembersUpdatedListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_307_availableRoles,"borogove.Chat","availableRoles",0x3f73f49d,"borogove.Chat.availableRoles","borogove/Chat.hx",307,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_320_availableRoles,"borogove.Chat","availableRoles",0x3f73f49d,"borogove.Chat.availableRoles","borogove/Chat.hx",320,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_363_availableRoles__fromC,"borogove.Chat","availableRoles__fromC",0x7e8ef97c,"borogove.Chat.availableRoles__fromC","HaxeCBridge.hx",363,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_314_canRemoveRole,"borogove.Chat","canRemoveRole",0xa8b70741,"borogove.Chat.canRemoveRole","borogove/Chat.hx",314,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_323_addRole,"borogove.Chat","addRole",0x8364902e,"borogove.Chat.addRole","borogove/Chat.hx",323,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_331_removeRole,"borogove.Chat","removeRole",0x094c1843,"borogove.Chat.removeRole","borogove/Chat.hx",331,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_327_canRemoveRole,"borogove.Chat","canRemoveRole",0xa8b70741,"borogove.Chat.canRemoveRole","borogove/Chat.hx",327,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_336_addRole,"borogove.Chat","addRole",0x8364902e,"borogove.Chat.addRole","borogove/Chat.hx",336,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_344_removeRole,"borogove.Chat","removeRole",0x094c1843,"borogove.Chat.removeRole","borogove/Chat.hx",344,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_correctMessage__fromC,"borogove.Chat","correctMessage__fromC",0xb004f7d3,"borogove.Chat.correctMessage__fromC","HaxeCBridge.hx",354,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_354_moderate,"borogove.Chat","moderate",0xdef369ec,"borogove.Chat.moderate","borogove/Chat.hx",354,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_347_moderate,"borogove.Chat","moderate",0xdef369ec,"borogove.Chat.moderate","borogove/Chat.hx",347,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_367_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",367,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_371_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",371,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_363_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",363,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_367_moderate,"borogove.Chat","moderate",0xdef369ec,"borogove.Chat.moderate","borogove/Chat.hx",367,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_360_moderate,"borogove.Chat","moderate",0xdef369ec,"borogove.Chat.moderate","borogove/Chat.hx",360,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_380_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",380,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_384_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",384,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_376_addReaction,"borogove.Chat","addReaction",0x55c74861,"borogove.Chat.addReaction","borogove/Chat.hx",376,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_removeReaction__fromC,"borogove.Chat","removeReaction__fromC",0xeaa4dc43,"borogove.Chat.removeReaction__fromC","HaxeCBridge.hx",354,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_419_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",419,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_398_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",398,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_413_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",413,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_437_setActive,"borogove.Chat","setActive",0x89bbc4bf,"borogove.Chat.setActive","borogove/Chat.hx",437,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_432_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",432,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_411_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",411,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_426_typing,"borogove.Chat","typing",0xab024860,"borogove.Chat.typing","borogove/Chat.hx",426,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_450_setActive,"borogove.Chat","setActive",0x89bbc4bf,"borogove.Chat.setActive","borogove/Chat.hx",450,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_close__fromC,"borogove.Chat","close__fromC",0xc11a5e6a,"borogove.Chat.close__fromC","HaxeCBridge.hx",354,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_462_togglePinned,"borogove.Chat","togglePinned",0xfddcd475,"borogove.Chat.togglePinned","borogove/Chat.hx",462,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_472_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",472,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_491_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",491,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_519_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",519,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_526_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",526,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_536_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",536,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_543_setNotificationsInternal,"borogove.Chat","setNotificationsInternal",0x95c15fac,"borogove.Chat.setNotificationsInternal","borogove/Chat.hx",543,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_553_setNotifications,"borogove.Chat","setNotifications",0x82bcd54f,"borogove.Chat.setNotifications","borogove/Chat.hx",553,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_564_notificationsFiltered,"borogove.Chat","notificationsFiltered",0xcab45596,"borogove.Chat.notificationsFiltered","borogove/Chat.hx",564,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_571_notifyMention,"borogove.Chat","notifyMention",0x00cf7c58,"borogove.Chat.notifyMention","borogove/Chat.hx",571,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_578_notifyReply,"borogove.Chat","notifyReply",0x65560f18,"borogove.Chat.notifyReply","borogove/Chat.hx",578,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_582_updateFromBookmark,"borogove.Chat","updateFromBookmark",0x8ad9a752,"borogove.Chat.updateFromBookmark","borogove/Chat.hx",582,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_592_updateFromRoster,"borogove.Chat","updateFromRoster",0xec826927,"borogove.Chat.updateFromRoster","borogove/Chat.hx",592,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_606_getPhoto,"borogove.Chat","getPhoto",0x2fa82e65,"borogove.Chat.getPhoto","borogove/Chat.hx",606,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_615_getPlaceholder,"borogove.Chat","getPlaceholder",0x7303a166,"borogove.Chat.getPlaceholder","borogove/Chat.hx",615,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_624_readUpTo,"borogove.Chat","readUpTo",0x83806d55,"borogove.Chat.readUpTo","borogove/Chat.hx",624,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_621_readUpTo,"borogove.Chat","readUpTo",0x83806d55,"borogove.Chat.readUpTo","borogove/Chat.hx",621,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_475_togglePinned,"borogove.Chat","togglePinned",0xfddcd475,"borogove.Chat.togglePinned","borogove/Chat.hx",475,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_485_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",485,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_504_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",504,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_532_block,"borogove.Chat","block",0xd3359b84,"borogove.Chat.block","borogove/Chat.hx",532,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_539_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",539,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_549_unblock,"borogove.Chat","unblock",0xad05ce4b,"borogove.Chat.unblock","borogove/Chat.hx",549,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_556_setNotificationsInternal,"borogove.Chat","setNotificationsInternal",0x95c15fac,"borogove.Chat.setNotificationsInternal","borogove/Chat.hx",556,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_566_setNotifications,"borogove.Chat","setNotifications",0x82bcd54f,"borogove.Chat.setNotifications","borogove/Chat.hx",566,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_577_notificationsFiltered,"borogove.Chat","notificationsFiltered",0xcab45596,"borogove.Chat.notificationsFiltered","borogove/Chat.hx",577,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_584_notifyMention,"borogove.Chat","notifyMention",0x00cf7c58,"borogove.Chat.notifyMention","borogove/Chat.hx",584,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_591_notifyReply,"borogove.Chat","notifyReply",0x65560f18,"borogove.Chat.notifyReply","borogove/Chat.hx",591,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_595_updateFromBookmark,"borogove.Chat","updateFromBookmark",0x8ad9a752,"borogove.Chat.updateFromBookmark","borogove/Chat.hx",595,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_605_updateFromRoster,"borogove.Chat","updateFromRoster",0xec826927,"borogove.Chat.updateFromRoster","borogove/Chat.hx",605,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_619_getPhoto,"borogove.Chat","getPhoto",0x2fa82e65,"borogove.Chat.getPhoto","borogove/Chat.hx",619,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_628_getPlaceholder,"borogove.Chat","getPlaceholder",0x7303a166,"borogove.Chat.getPlaceholder","borogove/Chat.hx",628,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_635_hasEverRead,"borogove.Chat","hasEverRead",0xf872dc85,"borogove.Chat.hasEverRead","borogove/Chat.hx",635,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_654_readUpTo,"borogove.Chat","readUpTo",0x83806d55,"borogove.Chat.readUpTo","borogove/Chat.hx",654,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_641_readUpTo,"borogove.Chat","readUpTo",0x83806d55,"borogove.Chat.readUpTo","borogove/Chat.hx",641,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_readUpTo__fromC,"borogove.Chat","readUpTo__fromC",0xd5c387c4,"borogove.Chat.readUpTo__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_637_unreadCount,"borogove.Chat","unreadCount",0xcea74197,"borogove.Chat.unreadCount","borogove/Chat.hx",637,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_642_setUnreadCount,"borogove.Chat","setUnreadCount",0x79212e87,"borogove.Chat.setUnreadCount","borogove/Chat.hx",642,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_648_preview,"borogove.Chat","preview",0x375341ff,"borogove.Chat.preview","borogove/Chat.hx",648,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_656_preview,"borogove.Chat","preview",0x375341ff,"borogove.Chat.preview","borogove/Chat.hx",656,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_661_setLastMessage,"borogove.Chat","setLastMessage",0x26ed0078,"borogove.Chat.setLastMessage","borogove/Chat.hx",661,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_671_setDisplayName,"borogove.Chat","setDisplayName",0x09222814,"borogove.Chat.setDisplayName","borogove/Chat.hx",671,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_679_getDisplayName,"borogove.Chat","getDisplayName",0xe9023fa0,"borogove.Chat.getDisplayName","borogove/Chat.hx",679,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_693_getTags,"borogove.Chat","getTags",0x1af1c686,"borogove.Chat.getTags","borogove/Chat.hx",693,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_677_unreadCount,"borogove.Chat","unreadCount",0xcea74197,"borogove.Chat.unreadCount","borogove/Chat.hx",677,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_682_setUnreadCount,"borogove.Chat","setUnreadCount",0x79212e87,"borogove.Chat.setUnreadCount","borogove/Chat.hx",682,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_688_preview,"borogove.Chat","preview",0x375341ff,"borogove.Chat.preview","borogove/Chat.hx",688,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_698_preview,"borogove.Chat","preview",0x375341ff,"borogove.Chat.preview","borogove/Chat.hx",698,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_703_setLastMessage,"borogove.Chat","setLastMessage",0x26ed0078,"borogove.Chat.setLastMessage","borogove/Chat.hx",703,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_713_setDisplayName,"borogove.Chat","setDisplayName",0x09222814,"borogove.Chat.setDisplayName","borogove/Chat.hx",713,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_721_getDisplayName,"borogove.Chat","getDisplayName",0xe9023fa0,"borogove.Chat.getDisplayName","borogove/Chat.hx",721,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_735_getTags,"borogove.Chat","getTags",0x1af1c686,"borogove.Chat.getTags","borogove/Chat.hx",735,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_363_getTags__fromC,"borogove.Chat","getTags__fromC",0xfac726b3,"borogove.Chat.getTags__fromC","HaxeCBridge.hx",363,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_698_setThreadSubject,"borogove.Chat","setThreadSubject",0x22a0ba29,"borogove.Chat.setThreadSubject","borogove/Chat.hx",698,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_709_setAvatarSha1,"borogove.Chat","setAvatarSha1",0x86f1e8b7,"borogove.Chat.setAvatarSha1","borogove/Chat.hx",709,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_717_setTrusted,"borogove.Chat","setTrusted",0xaa03cede,"borogove.Chat.setTrusted","borogove/Chat.hx",717,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_729_isTrusted,"borogove.Chat","isTrusted",0x2e7342e4,"borogove.Chat.isTrusted","borogove/Chat.hx",729,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_734_livePresence,"borogove.Chat","livePresence",0x85c517f0,"borogove.Chat.livePresence","borogove/Chat.hx",734,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_741_syncing,"borogove.Chat","syncing",0xa29f5f5e,"borogove.Chat.syncing","borogove/Chat.hx",741,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_747_canAudioCall,"borogove.Chat","canAudioCall",0xb63e690d,"borogove.Chat.canAudioCall","borogove/Chat.hx",747,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_759_canVideoCall,"borogove.Chat","canVideoCall",0xbc413b32,"borogove.Chat.canVideoCall","borogove/Chat.hx",759,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_775_startCall,"borogove.Chat","startCall",0x0e7b9fd7,"borogove.Chat.startCall","borogove/Chat.hx",775,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_789_addMedia,"borogove.Chat","addMedia",0x8cf6812c,"borogove.Chat.addMedia","borogove/Chat.hx",789,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_797_acceptCall,"borogove.Chat","acceptCall",0xf591ee2f,"borogove.Chat.acceptCall","borogove/Chat.hx",797,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_808_hangup,"borogove.Chat","hangup",0x0bc81c36,"borogove.Chat.hangup","borogove/Chat.hx",808,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_817_callStatus,"borogove.Chat","callStatus",0x71a9b0d9,"borogove.Chat.callStatus","borogove/Chat.hx",817,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_828_dtmf,"borogove.Chat","dtmf",0xb7ac8892,"borogove.Chat.dtmf","borogove/Chat.hx",828,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_841_videoTracks,"borogove.Chat","videoTracks",0xebdaebda,"borogove.Chat.videoTracks","borogove/Chat.hx",841,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_743_setTags,"borogove.Chat","setTags",0x0df35792,"borogove.Chat.setTags","borogove/Chat.hx",743,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_354_setTags__fromC,"borogove.Chat","setTags__fromC",0x1ae70f27,"borogove.Chat.setTags__fromC","HaxeCBridge.hx",354,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_752_setThreadSubject,"borogove.Chat","setThreadSubject",0x22a0ba29,"borogove.Chat.setThreadSubject","borogove/Chat.hx",752,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_763_setAvatarSha1,"borogove.Chat","setAvatarSha1",0x86f1e8b7,"borogove.Chat.setAvatarSha1","borogove/Chat.hx",763,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_771_setTrusted,"borogove.Chat","setTrusted",0xaa03cede,"borogove.Chat.setTrusted","borogove/Chat.hx",771,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_784_isTrusted,"borogove.Chat","isTrusted",0x2e7342e4,"borogove.Chat.isTrusted","borogove/Chat.hx",784,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_789_livePresence,"borogove.Chat","livePresence",0x85c517f0,"borogove.Chat.livePresence","borogove/Chat.hx",789,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_796_syncing,"borogove.Chat","syncing",0xa29f5f5e,"borogove.Chat.syncing","borogove/Chat.hx",796,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_800_inMessageSync,"borogove.Chat","inMessageSync",0xe659ed14,"borogove.Chat.inMessageSync","borogove/Chat.hx",800,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_806_canAudioCall,"borogove.Chat","canAudioCall",0xb63e690d,"borogove.Chat.canAudioCall","borogove/Chat.hx",806,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_826_canVideoCall,"borogove.Chat","canVideoCall",0xbc413b32,"borogove.Chat.canVideoCall","borogove/Chat.hx",826,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_842_startCall,"borogove.Chat","startCall",0x0e7b9fd7,"borogove.Chat.startCall","borogove/Chat.hx",842,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_856_addMedia,"borogove.Chat","addMedia",0x8cf6812c,"borogove.Chat.addMedia","borogove/Chat.hx",856,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_864_acceptCall,"borogove.Chat","acceptCall",0xf591ee2f,"borogove.Chat.acceptCall","borogove/Chat.hx",864,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_875_hangup,"borogove.Chat","hangup",0x0bc81c36,"borogove.Chat.hangup","borogove/Chat.hx",875,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_884_callStatus,"borogove.Chat","callStatus",0x71a9b0d9,"borogove.Chat.callStatus","borogove/Chat.hx",884,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_895_dtmf,"borogove.Chat","dtmf",0xb7ac8892,"borogove.Chat.dtmf","borogove/Chat.hx",895,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_908_videoTracks,"borogove.Chat","videoTracks",0xebdaebda,"borogove.Chat.videoTracks","borogove/Chat.hx",908,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_363_videoTracks__fromC,"borogove.Chat","videoTracks__fromC",0x180a13df,"borogove.Chat.videoTracks__fromC","HaxeCBridge.hx",363,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_848_encryptionMode,"borogove.Chat","encryptionMode",0xd881b46f,"borogove.Chat.encryptionMode","borogove/Chat.hx",848,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_860_canSend,"borogove.Chat","canSend",0x6620d76f,"borogove.Chat.canSend","borogove/Chat.hx",860,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_867_canModerate,"borogove.Chat","canModerate",0x2e73fd6a,"borogove.Chat.canModerate","borogove/Chat.hx",867,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_873_invite,"borogove.Chat","invite",0xf3a43bb2,"borogove.Chat.invite","borogove/Chat.hx",873,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_891_canInvite,"borogove.Chat","canInvite",0x05f053b0,"borogove.Chat.canInvite","borogove/Chat.hx",891,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_897_isApp,"borogove.Chat","isApp",0xdf814d0e,"borogove.Chat.isApp","borogove/Chat.hx",897,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_925_hasCommands,"borogove.Chat","hasCommands",0xbec2bfb9,"borogove.Chat.hasCommands","borogove/Chat.hx",925,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_943_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",943,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_931_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",931,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_934_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",934,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_932_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",932,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_916_canSend,"borogove.Chat","canSend",0x6620d76f,"borogove.Chat.canSend","borogove/Chat.hx",916,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_923_canModerate,"borogove.Chat","canModerate",0x2e73fd6a,"borogove.Chat.canModerate","borogove/Chat.hx",923,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_929_invite,"borogove.Chat","invite",0xf3a43bb2,"borogove.Chat.invite","borogove/Chat.hx",929,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_947_canInvite,"borogove.Chat","canInvite",0x05f053b0,"borogove.Chat.canInvite","borogove/Chat.hx",947,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_953_isApp,"borogove.Chat","isApp",0xdf814d0e,"borogove.Chat.isApp","borogove/Chat.hx",953,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_981_hasCommands,"borogove.Chat","hasCommands",0xbec2bfb9,"borogove.Chat.hasCommands","borogove/Chat.hx",981,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_999_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",999,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_987_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",987,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_990_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",990,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_988_commands,"borogove.Chat","commands",0xcc3306f1,"borogove.Chat.commands","borogove/Chat.hx",988,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_commands__fromC,"borogove.Chat","commands__fromC",0xe84399a8,"borogove.Chat.commands__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_946_commandJids,"borogove.Chat","commandJids",0x11776a70,"borogove.Chat.commandJids","borogove/Chat.hx",946,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_977_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",977,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_961_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",961,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_972_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",972,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_973_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",973,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1002_commandJids,"borogove.Chat","commandJids",0x11776a70,"borogove.Chat.commandJids","borogove/Chat.hx",1002,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1033_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",1033,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1017_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",1017,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1028_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",1028,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1029_invitedBy,"borogove.Chat","invitedBy",0x6066bae9,"borogove.Chat.invitedBy","borogove/Chat.hx",1029,0x1763ae98)
HX_LOCAL_STACK_FRAME(_hx_pos_a94f40d98d9e57cb_365_invitedBy__fromC,"borogove.Chat","invitedBy__fromC",0x3f1ad4b0,"borogove.Chat.invitedBy__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_981_invites,"borogove.Chat","invites",0x3c100081,"borogove.Chat.invites","borogove/Chat.hx",981,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_990_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",990,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_984_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",984,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1000_markReadUpToId,"borogove.Chat","markReadUpToId",0x130d0b7d,"borogove.Chat.markReadUpToId","borogove/Chat.hx",1000,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1023_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",1023,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1012_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",1012,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1033_publishMds,"borogove.Chat","publishMds",0xb14bb956,"borogove.Chat.publishMds","borogove/Chat.hx",1033,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_111_boot,"borogove.Chat","boot",0xb65651db,"borogove.Chat.boot","borogove/Chat.hx",111,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1037_invites,"borogove.Chat","invites",0x3c100081,"borogove.Chat.invites","borogove/Chat.hx",1037,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1046_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",1046,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1040_recomputeUnread,"borogove.Chat","recomputeUnread",0x2d8f3a6a,"borogove.Chat.recomputeUnread","borogove/Chat.hx",1040,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1056_markReadUpToId,"borogove.Chat","markReadUpToId",0x130d0b7d,"borogove.Chat.markReadUpToId","borogove/Chat.hx",1056,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1082_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",1082,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1068_markReadUpToMessage,"borogove.Chat","markReadUpToMessage",0x357a9ae5,"borogove.Chat.markReadUpToMessage","borogove/Chat.hx",1068,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_1092_publishMds,"borogove.Chat","publishMds",0xb14bb956,"borogove.Chat.publishMds","borogove/Chat.hx",1092,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cc1265c56ba593e_112_boot,"borogove.Chat","boot",0xb65651db,"borogove.Chat.boot","borogove/Chat.hx",112,0x1763ae98)
namespace borogove{
void Chat_obj::__construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBookmarked,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs){
int uiState = __o_uiState.Default(1);
bool isBookmarked = __o_isBookmarked.Default(false);
bool isBlocked = __o_isBlocked.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_111_new)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_112_new)
+HXLINE( 170) this->omemoDeviceListRefreshed = false;
HXLINE( 167) this->omemoContactDeviceIDs = null();
-HXLINE( 164) this->_encryptionMode = 0;
-HXLINE( 163) this->outbox = ::borogove::Outbox_obj::__alloc( HX_CTX );
-HXLINE( 162) this->notificationSettings = null();
-HXLINE( 161) this->activeThread = null();
-HXLINE( 160) this->isActive = null();
-HXLINE( 159) this->typingTimer = null();
-HXLINE( 158) this->typingThread = null();
-HXLINE( 157) this->isTyping = false;
-HXLINE( 156) this->threads = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 150) this->_unreadCount = 0;
-HXLINE( 147) this->isBookmarked = false;
-HXLINE( 139) this->isBlocked = false;
-HXLINE( 135) this->uiState = 1;
-HXLINE( 127) this->jingleSessions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 120) this->status = ::borogove::Status_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),HX_("",00,00,00,00));
-HXLINE( 118) this->trusted = false;
-HXLINE( 116) this->avatarSha1 = null();
-HXLINE( 171) super::__construct();
-HXLINE( 172) bool _hx_tmp;
-HXDLIN( 172) if (::hx::IsNotNull( chatId )) {
-HXLINE( 172) _hx_tmp = (chatId == HX_("",00,00,00,00));
+HXLINE( 164) this->outbox = ::borogove::Outbox_obj::__alloc( HX_CTX );
+HXLINE( 163) this->notificationSettings = null();
+HXLINE( 162) this->activeThread = null();
+HXLINE( 161) this->isActive = null();
+HXLINE( 160) this->typingTimer = null();
+HXLINE( 159) this->typingThread = null();
+HXLINE( 158) this->isTyping = false;
+HXLINE( 157) this->threads = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 151) this->_unreadCount = 0;
+HXLINE( 148) this->isBookmarked = false;
+HXLINE( 140) this->isBlocked = false;
+HXLINE( 136) this->uiState = 1;
+HXLINE( 128) this->jingleSessions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 121) this->status = ::borogove::Status_obj::__alloc( HX_CTX ,HX_("",00,00,00,00),HX_("",00,00,00,00));
+HXLINE( 119) this->trusted = false;
+HXLINE( 117) this->avatarSha1 = null();
+HXLINE( 174) super::__construct();
+HXLINE( 175) bool _hx_tmp;
+HXDLIN( 175) if (::hx::IsNotNull( chatId )) {
+HXLINE( 175) _hx_tmp = (chatId == HX_("",00,00,00,00));
}
else {
-HXLINE( 172) _hx_tmp = true;
- }
-HXDLIN( 172) if (_hx_tmp) {
-HXLINE( 173) HX_STACK_DO_THROW(HX_("chatId may not be empty",65,1d,3c,b1));
- }
-HXLINE( 175) this->client = client;
-HXLINE( 176) this->stream = stream;
-HXLINE( 177) this->persistence = persistence;
-HXLINE( 178) this->chatId = chatId;
-HXLINE( 179) this->uiState = uiState;
-HXLINE( 180) this->isBookmarked = isBookmarked;
-HXLINE( 181) this->isBlocked = isBlocked;
-HXLINE( 182) ::borogove::Stanza _hx_tmp1;
-HXDLIN( 182) if (::hx::IsNotNull( extensions )) {
-HXLINE( 182) _hx_tmp1 = extensions;
+HXLINE( 175) _hx_tmp = true;
+ }
+HXDLIN( 175) if (_hx_tmp) {
+HXLINE( 176) HX_STACK_DO_THROW(HX_("chatId may not be empty",65,1d,3c,b1));
+ }
+HXLINE( 178) this->client = client;
+HXLINE( 179) this->stream = stream;
+HXLINE( 180) this->persistence = persistence;
+HXLINE( 181) this->chatId = chatId;
+HXLINE( 182) this->uiState = uiState;
+HXLINE( 183) this->isBookmarked = isBookmarked;
+HXLINE( 184) this->isBlocked = isBlocked;
+HXLINE( 185) ::borogove::Stanza _hx_tmp1;
+HXDLIN( 185) if (::hx::IsNotNull( extensions )) {
+HXLINE( 185) _hx_tmp1 = extensions;
}
else {
-HXLINE( 182) _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("extensions",14,7c,70,89), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))));
+HXLINE( 185) _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("extensions",14,7c,70,89), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))),null());
}
-HXDLIN( 182) this->extensions = _hx_tmp1;
-HXLINE( 183) this->readUpToId = readUpToId;
-HXLINE( 184) this->readUpToBy = readUpToBy;
-HXLINE( 185) this->displayName = chatId;
-HXLINE( 186) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
+HXDLIN( 185) this->extensions = _hx_tmp1;
+HXLINE( 186) this->readUpToId = readUpToId;
+HXLINE( 187) this->readUpToBy = readUpToBy;
+HXLINE( 188) this->displayName = chatId;
+HXLINE( 189) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
}
bool Chat_obj::_hx_isInstanceOf(int inClassId) {
@@ -480,34 +490,34 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessagesAr
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Chat,_gthis, ::borogove::MessageSync,sync, ::Dynamic,resolve) HXARGC(1)
void _hx_run( ::Dynamic messageList){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_218_fetchFromSync)
-HXLINE( 219) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 220) {
-HXLINE( 220) int _g = 0;
-HXDLIN( 220) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN( 220) while((_g < _g1->length)){
-HXLINE( 220) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
-HXDLIN( 220) _g = (_g + 1);
-HXLINE( 221) {
-HXLINE( 221) ::borogove::MessageStanza _g2 = m->parsed;
-HXDLIN( 221) switch((int)(_g2->_hx_getIndex())){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_227_fetchFromSync)
+HXLINE( 228) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 229) {
+HXLINE( 229) int _g = 0;
+HXDLIN( 229) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN( 229) while((_g < _g1->length)){
+HXLINE( 229) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN( 229) _g = (_g + 1);
+HXLINE( 230) {
+HXLINE( 230) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN( 230) switch((int)(_g2->_hx_getIndex())){
case (int)0: {
-HXLINE( 229) ::Dynamic _gthis1 = _gthis->persistence;
-HXLINE( 230) ::String _hx_tmp = _gthis->client->accountId();
-HXLINE( 229) ::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText());
+HXLINE( 238) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE( 239) ::String _hx_tmp = _gthis->client->accountId();
+HXLINE( 238) ::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText());
}
break;
case (int)1: {
-HXLINE( 223) chatMessages->push(_g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >());
+HXLINE( 232) chatMessages->push(_g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >());
}
break;
case (int)3: {
-HXLINE( 227) _gthis->client->moderateMessage(_g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >());
+HXLINE( 236) _gthis->client->moderateMessage(_g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >());
}
break;
case (int)4: {
-HXLINE( 225) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN( 225) ::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->client->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >());
+HXLINE( 234) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN( 234) ::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->client->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >());
}
break;
default:{
@@ -516,75 +526,82 @@ HXDLIN( 225) ::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->
}
}
}
-HXLINE( 239) bool _hx_tmp1;
-HXDLIN( 239) if ((chatMessages->length < 1)) {
-HXLINE( 239) _hx_tmp1 = sync->hasMore();
+HXLINE( 248) bool _hx_tmp1;
+HXDLIN( 248) if ((chatMessages->length < 1)) {
+HXLINE( 248) _hx_tmp1 = sync->hasMore();
}
else {
-HXLINE( 239) _hx_tmp1 = false;
+HXLINE( 248) _hx_tmp1 = false;
}
-HXDLIN( 239) if (_hx_tmp1) {
-HXLINE( 240) sync->fetchNext();
+HXDLIN( 248) if (_hx_tmp1) {
+HXLINE( 249) sync->fetchNext();
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis, ::Dynamic,resolve) HXARGC(1)
void _hx_run(::Array< ::Dynamic> chatMessages){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_242_fetchFromSync)
-HXLINE( 243) ::Dynamic resolve1 = resolve;
-HXDLIN( 243) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 243) {
-HXLINE( 243) int _g1 = 0;
-HXDLIN( 243) while((_g1 < chatMessages->length)){
-HXLINE( 243) ::borogove::ChatMessage v = chatMessages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
-HXDLIN( 243) _g1 = (_g1 + 1);
-HXDLIN( 243) bool _hx_tmp;
-HXDLIN( 243) if (::hx::IsNotNull( v )) {
-HXLINE( 243) ::String _hx_tmp1 = v->chatId();
-HXDLIN( 243) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_251_fetchFromSync)
+HXLINE( 252) ::Dynamic resolve1 = resolve;
+HXDLIN( 252) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 252) {
+HXLINE( 252) int _g1 = 0;
+HXDLIN( 252) while((_g1 < chatMessages->length)){
+HXLINE( 252) ::borogove::ChatMessage v = chatMessages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 252) _g1 = (_g1 + 1);
+HXDLIN( 252) bool _hx_tmp;
+HXDLIN( 252) if (::hx::IsNotNull( v )) {
+HXLINE( 252) ::String _hx_tmp1 = v->chatId();
+HXDLIN( 252) _hx_tmp = (_hx_tmp1 == _gthis->chatId);
}
else {
-HXLINE( 243) _hx_tmp = false;
+HXLINE( 252) _hx_tmp = false;
}
-HXDLIN( 243) if (_hx_tmp) {
-HXLINE( 243) _g->push(v);
+HXDLIN( 252) if (_hx_tmp) {
+HXLINE( 252) _g->push(v);
}
}
}
-HXDLIN( 243) resolve1(_g);
+HXDLIN( 252) resolve1(_g);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 242) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->storeMessages(chatMessages), ::Dynamic(new _hx_Closure_0(_gthis,resolve)),null());
+HXLINE( 251) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->client->storeMessages(chatMessages), ::Dynamic(new _hx_Closure_0(_gthis,resolve)),null());
}
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_217_fetchFromSync)
-HXLINE( 218) sync->onMessages( ::Dynamic(new _hx_Closure_1(_gthis,sync,resolve)));
-HXLINE( 247) sync->onError(reject);
-HXLINE( 248) sync->fetchNext();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_226_fetchFromSync)
+HXLINE( 227) sync->onMessages( ::Dynamic(new _hx_Closure_1(_gthis,sync,resolve)));
+HXLINE( 256) sync->onError(reject);
+HXLINE( 257) sync->fetchNext();
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_216_fetchFromSync)
-HXDLIN( 216) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 217) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,sync)));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_219_fetchFromSync)
+HXDLIN( 219) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 222) if (this->inMessageSync()) {
+HXLINE( 223) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE( 226) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,sync)));
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,fetchFromSync,return )
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,sendMessage,(void))
-
-void Chat_obj::sendMessage__fromC( ::borogove::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_354_sendMessage__fromC)
-HXDLIN( 354) this->sendMessage(message);
+void Chat_obj::sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > __o_e2eePreference){
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_268_sendMessage)
}
-HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,sendMessage__fromC,(void))
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,sendMessage,(void))
+
+void Chat_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > __o_e2eePreference){
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_272_sendMessageStanza)
+ }
+
-HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,sendMessageStanza,(void))
+HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,sendMessageStanza,(void))
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpTo,(void))
@@ -717,14 +734,14 @@ HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMemberDeta
int Chat_obj::addMembersUpdatedListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run(::Array< ::Dynamic> data){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_297_addMembersUpdatedListener)
-HXLINE( 298) handler(data);
-HXLINE( 299) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_310_addMembersUpdatedListener)
+HXLINE( 311) handler(data);
+HXLINE( 312) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_297_addMembersUpdatedListener)
-HXDLIN( 297) return this->on(HX_("members/update",bf,63,66,64), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_310_addMembersUpdatedListener)
+HXDLIN( 310) return this->on(HX_("members/update",bf,63,66,64), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -759,8 +776,8 @@ HXDLIN( 367) return this->addMembersUpdatedListener( ::Dynamic(new _hx_Closure_
::Array< ::Dynamic> Chat_obj::availableRoles( ::borogove::Member member){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_307_availableRoles)
-HXDLIN( 307) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_320_availableRoles)
+HXDLIN( 320) return ::Array_obj< ::Dynamic>::__new(0);
}
@@ -778,22 +795,22 @@ HXDLIN( 363) return ( (size_t)(out->length) );
bool Chat_obj::canRemoveRole( ::borogove::Member member, ::borogove::Role role){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_314_canRemoveRole)
-HXDLIN( 314) return false;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_327_canRemoveRole)
+HXDLIN( 327) return false;
}
HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,canRemoveRole,return )
void Chat_obj::addRole( ::borogove::Member member, ::borogove::Role role){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_323_addRole)
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_336_addRole)
}
HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,addRole,(void))
void Chat_obj::removeRole( ::borogove::Member member, ::borogove::Role role){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_331_removeRole)
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_344_removeRole)
}
@@ -812,28 +829,28 @@ HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,correctMessage__fromC,(void))
void Chat_obj::moderate( ::borogove::ChatMessage message,::String reason){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_354_moderate)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_367_moderate)
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_347_moderate)
-HXLINE( 348) bool _hx_tmp;
-HXDLIN( 348) if (::hx::IsNotNull( message->serverId )) {
-HXLINE( 348) _hx_tmp = (message->serverIdBy != this->chatId);
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_360_moderate)
+HXLINE( 361) bool _hx_tmp;
+HXDLIN( 361) if (::hx::IsNotNull( message->serverId )) {
+HXLINE( 361) _hx_tmp = (message->serverIdBy != this->chatId);
}
else {
-HXLINE( 348) _hx_tmp = true;
+HXLINE( 361) _hx_tmp = true;
}
-HXDLIN( 348) if (_hx_tmp) {
-HXLINE( 348) return;
+HXDLIN( 361) if (_hx_tmp) {
+HXLINE( 361) return;
}
-HXLINE( 350) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 363) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("to",7b,65,00,00),this->chatId)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("moderate",c3,13,16,d1), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("moderate",c3,13,16,d1), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),message->serverId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))))->textTag(HX_("retract",01,e2,b9,fc),HX_("",00,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5))))->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
-HXLINE( 354) this->stream->sendIq(iq, ::Dynamic(new _hx_Closure_0()));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))),null())->textTag(HX_("retract",01,e2,b9,fc),HX_("",00,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5))),null())->textTag(HX_("reason",c4,0f,9d,fc),reason,null(),null());
+HXLINE( 367) this->stream->sendIq(iq, ::Dynamic(new _hx_Closure_0()));
}
@@ -842,37 +859,37 @@ HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,moderate,(void))
void Chat_obj::addReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessageBuilder,toSend) HXARGC(1)
::String _hx_run(::String text){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_367_addReaction)
-HXLINE( 368) ::borogove::ChatMessageBuilder toSend1 = toSend;
-HXDLIN( 368) toSend1->setBody(::borogove::Html_obj::text(text));
-HXLINE( 369) return HX_("",00,00,00,00);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_380_addReaction)
+HXLINE( 381) ::borogove::ChatMessageBuilder toSend1 = toSend;
+HXDLIN( 381) toSend1->setBody(::borogove::Html_obj::text(text));
+HXLINE( 382) return HX_("",00,00,00,00);
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::ChatMessageBuilder,toSend) HXARGC(2)
::String _hx_run(::String text,::String uri){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_371_addReaction)
-HXLINE( 372) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
-HXLINE( 373) ::borogove::ChatMessageBuilder toSend1 = toSend;
-HXLINE( 374) ::String _hx_tmp;
-HXDLIN( 374) if (::hx::IsNull( hash )) {
-HXLINE( 374) _hx_tmp = uri;
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_384_addReaction)
+HXLINE( 385) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
+HXLINE( 386) ::borogove::ChatMessageBuilder toSend1 = toSend;
+HXLINE( 387) ::String _hx_tmp;
+HXDLIN( 387) if (::hx::IsNull( hash )) {
+HXLINE( 387) _hx_tmp = uri;
}
else {
-HXLINE( 374) _hx_tmp = hash->bobUri();
+HXLINE( 387) _hx_tmp = hash->bobUri();
}
-HXLINE( 373) toSend1->setBody( ::borogove::Html_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("img",03,0c,50,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 386) toSend1->setBody( ::borogove::Html_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("img",03,0c,50,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("alt",29,f9,49,00),text)
- ->setFixed(1,HX_("src",e4,a6,57,00),_hx_tmp))))),null()));
-HXLINE( 376) return HX_("",00,00,00,00);
+ ->setFixed(1,HX_("src",e4,a6,57,00),_hx_tmp)),null()))),null()));
+HXLINE( 389) return HX_("",00,00,00,00);
}
HX_END_LOCAL_FUNC2(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_363_addReaction)
-HXLINE( 364) ::borogove::ChatMessageBuilder toSend = m->reply();
-HXLINE( 365) toSend->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE( 366) reaction->render( ::Dynamic(new _hx_Closure_0(toSend)), ::Dynamic(new _hx_Closure_1(toSend)));
-HXLINE( 379) this->sendMessage(toSend);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_376_addReaction)
+HXLINE( 377) ::borogove::ChatMessageBuilder toSend = m->reply();
+HXLINE( 378) toSend->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 379) reaction->render( ::Dynamic(new _hx_Closure_0(toSend)), ::Dynamic(new _hx_Closure_1(toSend)));
+HXLINE( 392) this->sendMessage(toSend,null());
}
@@ -893,111 +910,111 @@ HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,sendChatState,(void))
void Chat_obj::typing(::String threadId,::String content){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Chat,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_419_typing)
-HXLINE( 420) _gthis->sendChatState(HX_("paused",ae,40,84,ef),_gthis->typingThread);
-HXLINE( 421) _gthis->isTyping = false;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_432_typing)
+HXLINE( 433) _gthis->sendChatState(HX_("paused",ae,40,84,ef),_gthis->typingThread);
+HXLINE( 434) _gthis->isTyping = false;
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_398_typing)
-HXDLIN( 398) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 399) bool _hx_tmp;
-HXDLIN( 399) if ((threadId != this->typingThread)) {
-HXLINE( 399) _hx_tmp = this->isTyping;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_411_typing)
+HXDLIN( 411) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 412) bool _hx_tmp;
+HXDLIN( 412) if ((threadId != this->typingThread)) {
+HXLINE( 412) _hx_tmp = this->isTyping;
}
else {
-HXLINE( 399) _hx_tmp = false;
+HXLINE( 412) _hx_tmp = false;
}
-HXDLIN( 399) if (_hx_tmp) {
-HXLINE( 401) this->sendChatState(HX_("paused",ae,40,84,ef),this->typingThread);
-HXLINE( 402) this->isTyping = false;
+HXDLIN( 412) if (_hx_tmp) {
+HXLINE( 414) this->sendChatState(HX_("paused",ae,40,84,ef),this->typingThread);
+HXLINE( 415) this->isTyping = false;
}
-HXLINE( 405) this->typingThread = threadId;
-HXLINE( 406) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 406) this->typingTimer->stop();
+HXLINE( 418) this->typingThread = threadId;
+HXLINE( 419) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE( 419) this->typingTimer->stop();
}
-HXLINE( 408) if ((content == HX_("",00,00,00,00))) {
-HXLINE( 409) this->isTyping = false;
-HXLINE( 410) this->sendChatState(HX_("active",c6,41,46,16),this->typingThread);
-HXLINE( 411) if (::hx::IsNull( this->isActive )) {
+HXLINE( 421) if ((content == HX_("",00,00,00,00))) {
+HXLINE( 422) this->isTyping = false;
+HXLINE( 423) this->sendChatState(HX_("active",c6,41,46,16),this->typingThread);
+HXLINE( 424) if (::hx::IsNull( this->isActive )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_413_typing)
-HXLINE( 413) _gthis->sendChatState(HX_("inactive",6b,17,30,6a),_gthis->typingThread);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_426_typing)
+HXLINE( 426) _gthis->sendChatState(HX_("inactive",6b,17,30,6a),_gthis->typingThread);
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 412) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),30000);
+HXLINE( 425) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),30000);
}
-HXLINE( 416) return;
+HXLINE( 429) return;
}
-HXLINE( 419) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis)),10000);
-HXLINE( 424) if (this->isTyping) {
-HXLINE( 424) return;
+HXLINE( 432) this->typingTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis)),10000);
+HXLINE( 437) if (this->isTyping) {
+HXLINE( 437) return;
}
-HXLINE( 425) this->isTyping = true;
-HXLINE( 426) this->sendChatState(HX_("composing",cf,0a,a5,12),this->typingThread);
+HXLINE( 438) this->isTyping = true;
+HXLINE( 439) this->sendChatState(HX_("composing",cf,0a,a5,12),this->typingThread);
}
HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,typing,(void))
void Chat_obj::setActive(bool active,::String threadId){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_437_setActive)
-HXLINE( 438) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE( 438) this->typingTimer->stop();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_450_setActive)
+HXLINE( 451) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE( 451) this->typingTimer->stop();
}
-HXLINE( 439) this->isTyping = false;
-HXLINE( 441) bool _hx_tmp;
-HXDLIN( 441) bool _hx_tmp1;
-HXDLIN( 441) if (( (bool)(this->isActive) )) {
-HXLINE( 441) _hx_tmp1 = active;
+HXLINE( 452) this->isTyping = false;
+HXLINE( 454) bool _hx_tmp;
+HXDLIN( 454) bool _hx_tmp1;
+HXDLIN( 454) if (( (bool)(this->isActive) )) {
+HXLINE( 454) _hx_tmp1 = active;
}
else {
-HXLINE( 441) _hx_tmp1 = false;
+HXLINE( 454) _hx_tmp1 = false;
}
-HXDLIN( 441) if (_hx_tmp1) {
-HXLINE( 441) _hx_tmp = (threadId != this->activeThread);
+HXDLIN( 454) if (_hx_tmp1) {
+HXLINE( 454) _hx_tmp = (threadId != this->activeThread);
}
else {
-HXLINE( 441) _hx_tmp = false;
+HXLINE( 454) _hx_tmp = false;
}
-HXDLIN( 441) if (_hx_tmp) {
-HXLINE( 442) this->sendChatState(HX_("inactive",6b,17,30,6a),this->activeThread);
-HXLINE( 443) this->isActive = false;
+HXDLIN( 454) if (_hx_tmp) {
+HXLINE( 455) this->sendChatState(HX_("inactive",6b,17,30,6a),this->activeThread);
+HXLINE( 456) this->isActive = false;
}
-HXLINE( 445) if (::hx::IsNotNull( this->isActive )) {
-HXLINE( 446) bool _hx_tmp2;
-HXDLIN( 446) if (( (bool)(this->isActive) )) {
-HXLINE( 446) _hx_tmp2 = active;
+HXLINE( 458) if (::hx::IsNotNull( this->isActive )) {
+HXLINE( 459) bool _hx_tmp2;
+HXDLIN( 459) if (( (bool)(this->isActive) )) {
+HXLINE( 459) _hx_tmp2 = active;
}
else {
-HXLINE( 446) _hx_tmp2 = false;
+HXLINE( 459) _hx_tmp2 = false;
}
-HXDLIN( 446) if (_hx_tmp2) {
-HXLINE( 446) return;
+HXDLIN( 459) if (_hx_tmp2) {
+HXLINE( 459) return;
}
-HXLINE( 447) bool _hx_tmp3;
-HXDLIN( 447) if (!(( (bool)(this->isActive) ))) {
-HXLINE( 447) _hx_tmp3 = !(active);
+HXLINE( 460) bool _hx_tmp3;
+HXDLIN( 460) if (!(( (bool)(this->isActive) ))) {
+HXLINE( 460) _hx_tmp3 = !(active);
}
else {
-HXLINE( 447) _hx_tmp3 = false;
+HXLINE( 460) _hx_tmp3 = false;
}
-HXDLIN( 447) if (_hx_tmp3) {
-HXLINE( 447) return;
+HXDLIN( 460) if (_hx_tmp3) {
+HXLINE( 460) return;
}
}
-HXLINE( 449) this->isActive = active;
-HXLINE( 450) this->activeThread = threadId;
-HXLINE( 451) ::String _hx_tmp4;
-HXDLIN( 451) if (active) {
-HXLINE( 451) _hx_tmp4 = HX_("active",c6,41,46,16);
+HXLINE( 462) this->isActive = active;
+HXLINE( 463) this->activeThread = threadId;
+HXLINE( 464) ::String _hx_tmp4;
+HXDLIN( 464) if (active) {
+HXLINE( 464) _hx_tmp4 = HX_("active",c6,41,46,16);
}
else {
-HXLINE( 451) _hx_tmp4 = HX_("inactive",6b,17,30,6a);
+HXLINE( 464) _hx_tmp4 = HX_("inactive",6b,17,30,6a);
}
-HXDLIN( 451) this->sendChatState(_hx_tmp4,this->activeThread);
+HXDLIN( 464) this->sendChatState(_hx_tmp4,this->activeThread);
}
@@ -1014,19 +1031,19 @@ HXDLIN( 354) this->close();
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,close__fromC,(void))
void Chat_obj::togglePinned(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_462_togglePinned)
-HXLINE( 463) int _hx_tmp;
-HXDLIN( 463) if ((this->uiState != 0)) {
-HXLINE( 463) _hx_tmp = 0;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_475_togglePinned)
+HXLINE( 476) int _hx_tmp;
+HXDLIN( 476) if ((this->uiState != 0)) {
+HXLINE( 476) _hx_tmp = 0;
}
else {
-HXLINE( 463) _hx_tmp = 1;
+HXLINE( 476) _hx_tmp = 1;
}
-HXDLIN( 463) this->uiState = _hx_tmp;
-HXLINE( 464) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 464) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 465) this->client->sortChats();
-HXLINE( 466) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXDLIN( 476) this->uiState = _hx_tmp;
+HXLINE( 477) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN( 477) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 478) this->client->sortChats();
+HXLINE( 479) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
@@ -1035,129 +1052,129 @@ HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,togglePinned,(void))
void Chat_obj::block(::hx::Null< bool > __o_reportSpam, ::borogove::ChatMessage spamMessage,::hx::Null< bool > __o_onServer){
bool reportSpam = __o_reportSpam.Default(false);
bool onServer = __o_onServer.Default(true);
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_472_block)
-HXLINE( 473) bool _hx_tmp;
-HXDLIN( 473) if (reportSpam) {
-HXLINE( 473) _hx_tmp = !(onServer);
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_485_block)
+HXLINE( 486) bool _hx_tmp;
+HXDLIN( 486) if (reportSpam) {
+HXLINE( 486) _hx_tmp = !(onServer);
}
else {
-HXLINE( 473) _hx_tmp = false;
+HXLINE( 486) _hx_tmp = false;
}
-HXDLIN( 473) if (_hx_tmp) {
-HXLINE( 473) HX_STACK_DO_THROW(HX_("Can't report SPAM if not sending to server",60,59,79,c5));
+HXDLIN( 486) if (_hx_tmp) {
+HXLINE( 486) HX_STACK_DO_THROW(HX_("Can't report SPAM if not sending to server",60,59,79,c5));
}
-HXLINE( 475) bool _hx_tmp1;
-HXDLIN( 475) bool _hx_tmp2;
-HXDLIN( 475) if (onServer) {
-HXLINE( 475) _hx_tmp2 = (this->invites()->length > 0);
+HXLINE( 488) bool _hx_tmp1;
+HXDLIN( 488) bool _hx_tmp2;
+HXDLIN( 488) if (onServer) {
+HXLINE( 488) _hx_tmp2 = (this->invites()->length > 0);
}
else {
-HXLINE( 475) _hx_tmp2 = false;
+HXLINE( 488) _hx_tmp2 = false;
}
-HXDLIN( 475) if (_hx_tmp2) {
-HXLINE( 475) _hx_tmp1 = (this->uiState == 3);
+HXDLIN( 488) if (_hx_tmp2) {
+HXLINE( 488) _hx_tmp1 = (this->uiState == 3);
}
else {
-HXLINE( 475) _hx_tmp1 = false;
+HXLINE( 488) _hx_tmp1 = false;
}
-HXDLIN( 475) if (_hx_tmp1) {
-HXLINE( 477) {
-HXLINE( 477) int _g = 0;
-HXDLIN( 477) ::Array< ::Dynamic> _g1 = this->invites();
-HXDLIN( 477) while((_g < _g1->length)){
+HXDLIN( 488) if (_hx_tmp1) {
+HXLINE( 490) {
+HXLINE( 490) int _g = 0;
+HXDLIN( 490) ::Array< ::Dynamic> _g1 = this->invites();
+HXDLIN( 490) while((_g < _g1->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_491_block)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_504_block)
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 477) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN( 477) _g = (_g + 1);
-HXLINE( 478) ::borogove::JID inviteFrom = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(invite->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 479) ::borogove::Client inviteFromBareChat = this->client;
-HXDLIN( 479) ::borogove::Chat inviteFromBareChat1 = inviteFromBareChat->getChat(inviteFrom->asBare()->asString());
-HXLINE( 480) ::String toBlock;
-HXDLIN( 480) bool toBlock1;
-HXDLIN( 480) if (::hx::IsNotNull( inviteFromBareChat1 )) {
-HXLINE( 480) toBlock1 = ::Std_obj::isOfType(inviteFromBareChat1,::hx::ClassOf< ::borogove::Channel >());
+HXLINE( 490) ::borogove::Stanza invite = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 490) _g = (_g + 1);
+HXLINE( 491) ::borogove::JID inviteFrom = ::borogove::JID_obj::parse(invite->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE( 492) ::borogove::Client inviteFromBareChat = this->client;
+HXDLIN( 492) ::borogove::Chat inviteFromBareChat1 = inviteFromBareChat->getChat(inviteFrom->asBare()->asString());
+HXLINE( 493) ::String toBlock;
+HXDLIN( 493) bool toBlock1;
+HXDLIN( 493) if (::hx::IsNotNull( inviteFromBareChat1 )) {
+HXLINE( 493) toBlock1 = ::Std_obj::isOfType(inviteFromBareChat1,::hx::ClassOf< ::borogove::Channel >());
}
else {
-HXLINE( 480) toBlock1 = false;
+HXLINE( 493) toBlock1 = false;
}
-HXDLIN( 480) if (toBlock1) {
-HXLINE( 480) toBlock = inviteFrom->asString();
+HXDLIN( 493) if (toBlock1) {
+HXLINE( 493) toBlock = inviteFrom->asString();
}
else {
-HXLINE( 480) toBlock = inviteFrom->asBare()->asString();
+HXLINE( 493) toBlock = inviteFrom->asBare()->asString();
}
-HXLINE( 482) ::String iq = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN( 482) ::borogove::Stanza iq1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 495) ::String iq = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN( 495) ::borogove::Stanza iq1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),iq)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("block",4d,75,fc,b4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("jid",c5,ca,50,00),toBlock)));
-HXLINE( 485) if (reportSpam) {
-HXLINE( 486) ::borogove::Stanza report = iq1->tag(HX_("report",b4,3c,84,06), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("block",4d,75,fc,b4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("jid",c5,ca,50,00),toBlock)),null());
+HXLINE( 498) if (reportSpam) {
+HXLINE( 499) ::borogove::Stanza report = iq1->tag(HX_("report",b4,3c,84,06), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("reason",c4,0f,9d,fc),HX_("urn:xmpp:reporting:spam",b1,09,15,35))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reporting:1",49,f0,16,fc))));
-HXLINE( 487) ::borogove::Stanza stanzaIdEl = invite->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
-HXLINE( 488) if (::hx::IsNotNull( stanzaIdEl )) {
-HXLINE( 488) report->addChild(stanzaIdEl);
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reporting:1",49,f0,16,fc))),null());
+HXLINE( 500) ::borogove::Stanza stanzaIdEl = invite->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 501) if (::hx::IsNotNull( stanzaIdEl )) {
+HXLINE( 501) report->addChild(stanzaIdEl);
}
-HXLINE( 489) report->up();
+HXLINE( 502) report->up();
}
-HXLINE( 491) this->stream->sendIq(iq1, ::Dynamic(new _hx_Closure_0()));
+HXLINE( 504) this->stream->sendIq(iq1, ::Dynamic(new _hx_Closure_0()));
}
}
-HXLINE( 493) this->close();
-HXLINE( 494) return;
+HXLINE( 506) this->close();
+HXLINE( 507) return;
}
-HXLINE( 497) this->isBlocked = true;
-HXLINE( 498) if ((this->uiState == 2)) {
-HXLINE( 499) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN( 499) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 510) this->isBlocked = true;
+HXLINE( 511) if ((this->uiState == 2)) {
+HXLINE( 512) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN( 512) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
else {
-HXLINE( 501) this->close();
+HXLINE( 514) this->close();
}
-HXLINE( 503) if (onServer) {
+HXLINE( 516) if (onServer) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_519_block)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_532_block)
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 504) ::String iq2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN( 504) ::borogove::Stanza iq3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 517) ::String iq2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN( 517) ::borogove::Stanza iq3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),iq2)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("block",4d,75,fc,b4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId)));
-HXLINE( 507) if (reportSpam) {
-HXLINE( 508) ::borogove::Stanza report1 = iq3->tag(HX_("report",b4,3c,84,06), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("block",4d,75,fc,b4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId)),null());
+HXLINE( 520) if (reportSpam) {
+HXLINE( 521) ::borogove::Stanza report1 = iq3->tag(HX_("report",b4,3c,84,06), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("reason",c4,0f,9d,fc),HX_("urn:xmpp:reporting:spam",b1,09,15,35))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reporting:1",49,f0,16,fc))));
-HXLINE( 509) if (::hx::IsNotNull( spamMessage )) {
-HXLINE( 510) report1->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reporting:1",49,f0,16,fc))),null());
+HXLINE( 522) if (::hx::IsNotNull( spamMessage )) {
+HXLINE( 523) report1->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("by",d7,55,00,00),spamMessage->serverIdBy)
->setFixed(1,HX_("id",db,5b,00,00),spamMessage->serverId)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))))->up();
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))),null())->up();
}
else {
-HXLINE( 512) int _g2 = 0;
-HXDLIN( 512) ::Array< ::Dynamic> _g3 = this->invites();
-HXDLIN( 512) while((_g2 < _g3->length)){
-HXLINE( 512) ::borogove::Stanza invite1 = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
-HXDLIN( 512) _g2 = (_g2 + 1);
-HXLINE( 513) ::borogove::Stanza stanzaIdEl1 = invite1->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
-HXLINE( 514) if (::hx::IsNotNull( stanzaIdEl1 )) {
-HXLINE( 514) report1->addChild(stanzaIdEl1);
+HXLINE( 525) int _g2 = 0;
+HXDLIN( 525) ::Array< ::Dynamic> _g3 = this->invites();
+HXDLIN( 525) while((_g2 < _g3->length)){
+HXLINE( 525) ::borogove::Stanza invite1 = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 525) _g2 = (_g2 + 1);
+HXLINE( 526) ::borogove::Stanza stanzaIdEl1 = invite1->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 527) if (::hx::IsNotNull( stanzaIdEl1 )) {
+HXLINE( 527) report1->addChild(stanzaIdEl1);
}
}
}
-HXLINE( 517) report1->up();
+HXLINE( 530) report1->up();
}
-HXLINE( 519) this->stream->sendIq(iq3, ::Dynamic(new _hx_Closure_1()));
+HXLINE( 532) this->stream->sendIq(iq3, ::Dynamic(new _hx_Closure_1()));
}
}
@@ -1166,26 +1183,26 @@ HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,block,(void))
void Chat_obj::unblock(::hx::Null< bool > __o_onServer){
bool onServer = __o_onServer.Default(true);
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_526_unblock)
-HXLINE( 527) this->isBlocked = false;
-HXLINE( 528) this->uiState = 1;
-HXLINE( 529) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 529) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 530) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 531) if (onServer) {
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_539_unblock)
+HXLINE( 540) this->isBlocked = false;
+HXLINE( 541) this->uiState = 1;
+HXLINE( 542) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 542) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 543) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 544) if (onServer) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_536_unblock)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_549_unblock)
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 532) ::borogove::GenericStream _hx_tmp1 = this->stream;
-HXLINE( 533) ::String _hx_tmp2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE( 532) _hx_tmp1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 545) ::borogove::GenericStream _hx_tmp1 = this->stream;
+HXLINE( 546) ::String _hx_tmp2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 545) _hx_tmp1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp2)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("unblock",54,6c,8d,b1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId)))->up()->up(), ::Dynamic(new _hx_Closure_0()));
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("unblock",54,6c,8d,b1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:blocking",d1,a1,46,c3))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId)),null())->up()->up(), ::Dynamic(new _hx_Closure_0()));
}
}
@@ -1193,14 +1210,14 @@ HXLINE( 532) _hx_tmp1->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("i
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,unblock,(void))
void Chat_obj::setNotificationsInternal(bool filtered,bool mention,bool reply){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_543_setNotificationsInternal)
-HXDLIN( 543) if (filtered) {
-HXLINE( 544) this->notificationSettings = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_556_setNotificationsInternal)
+HXDLIN( 556) if (filtered) {
+HXLINE( 557) this->notificationSettings = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("mention",ea,9e,bf,b9),mention)
->setFixed(1,HX_("reply",2a,09,c6,e6),reply));
}
else {
-HXLINE( 546) this->notificationSettings = null();
+HXLINE( 559) this->notificationSettings = null();
}
}
@@ -1208,129 +1225,142 @@ HXLINE( 546) this->notificationSettings = null();
HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,setNotificationsInternal,(void))
void Chat_obj::setNotifications(bool filtered,bool mention,bool reply){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_553_setNotifications)
-HXLINE( 554) this->setNotificationsInternal(filtered,mention,reply);
-HXLINE( 555) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 555) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 556) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE( 557) this->client->updatePushIfEnabled();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_566_setNotifications)
+HXLINE( 567) this->setNotificationsInternal(filtered,mention,reply);
+HXLINE( 568) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 568) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 569) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 570) this->client->updatePushIfEnabled();
}
HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,setNotifications,(void))
bool Chat_obj::notificationsFiltered(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_564_notificationsFiltered)
-HXDLIN( 564) return ::hx::IsNotNull( this->notificationSettings );
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_577_notificationsFiltered)
+HXDLIN( 577) return ::hx::IsNotNull( this->notificationSettings );
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notificationsFiltered,return )
bool Chat_obj::notifyMention(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_571_notifyMention)
-HXDLIN( 571) if (::hx::IsNotNull( this->notificationSettings )) {
-HXDLIN( 571) return ( (bool)(this->notificationSettings->__Field(HX_("mention",ea,9e,bf,b9),::hx::paccDynamic)) );
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_584_notifyMention)
+HXDLIN( 584) if (::hx::IsNotNull( this->notificationSettings )) {
+HXDLIN( 584) return ( (bool)(this->notificationSettings->__Field(HX_("mention",ea,9e,bf,b9),::hx::paccDynamic)) );
}
else {
-HXDLIN( 571) return true;
+HXDLIN( 584) return true;
}
-HXDLIN( 571) return false;
+HXDLIN( 584) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyMention,return )
bool Chat_obj::notifyReply(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_578_notifyReply)
-HXDLIN( 578) if (::hx::IsNotNull( this->notificationSettings )) {
-HXDLIN( 578) return ( (bool)(this->notificationSettings->__Field(HX_("reply",2a,09,c6,e6),::hx::paccDynamic)) );
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_591_notifyReply)
+HXDLIN( 591) if (::hx::IsNotNull( this->notificationSettings )) {
+HXDLIN( 591) return ( (bool)(this->notificationSettings->__Field(HX_("reply",2a,09,c6,e6),::hx::paccDynamic)) );
}
else {
-HXDLIN( 578) return true;
+HXDLIN( 591) return true;
}
-HXDLIN( 578) return false;
+HXDLIN( 591) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,notifyReply,return )
void Chat_obj::updateFromBookmark( ::borogove::Stanza item){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_582_updateFromBookmark)
-HXLINE( 583) this->isBookmarked = true;
-HXLINE( 584) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
-HXLINE( 585) ::String fn = ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) );
-HXLINE( 586) if (::hx::IsNotNull( fn )) {
-HXLINE( 586) this->displayName = fn;
- }
-HXLINE( 587) int _hx_tmp;
-HXDLIN( 587) bool _hx_tmp1;
-HXDLIN( 587) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
-HXLINE( 587) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_595_updateFromBookmark)
+HXLINE( 596) this->isBookmarked = true;
+HXLINE( 597) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXLINE( 598) ::String fn = conf->attr->get_string(HX_("name",4b,72,ff,48));
+HXLINE( 599) if (::hx::IsNotNull( fn )) {
+HXLINE( 599) this->displayName = fn;
+ }
+HXLINE( 600) int _hx_tmp;
+HXDLIN( 600) bool _hx_tmp1;
+HXDLIN( 600) if (::hx::IsNotEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("1",31,00,00,00) )) {
+HXLINE( 600) _hx_tmp1 = ::hx::IsEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("true",4e,a7,03,4d) );
}
else {
-HXLINE( 587) _hx_tmp1 = true;
+HXLINE( 600) _hx_tmp1 = true;
}
-HXDLIN( 587) if (_hx_tmp1) {
-HXLINE( 587) if ((this->uiState == 0)) {
-HXLINE( 587) _hx_tmp = 0;
+HXDLIN( 600) if (_hx_tmp1) {
+HXLINE( 600) if ((this->uiState == 0)) {
+HXLINE( 600) _hx_tmp = 0;
}
else {
-HXLINE( 587) _hx_tmp = 1;
+HXLINE( 600) _hx_tmp = 1;
}
}
else {
-HXLINE( 587) _hx_tmp = 2;
+HXLINE( 600) _hx_tmp = 2;
}
-HXDLIN( 587) this->uiState = _hx_tmp;
-HXLINE( 588) ::borogove::Stanza tmp = conf->getChild(HX_("extensions",14,7c,70,89),null());
-HXDLIN( 588) ::borogove::Stanza _hx_tmp2;
-HXDLIN( 588) if (::hx::IsNotNull( tmp )) {
-HXLINE( 588) _hx_tmp2 = tmp;
+HXDLIN( 600) this->uiState = _hx_tmp;
+HXLINE( 601) ::borogove::Stanza tmp = conf->getChild(HX_("extensions",14,7c,70,89),null());
+HXDLIN( 601) ::borogove::Stanza _hx_tmp2;
+HXDLIN( 601) if (::hx::IsNotNull( tmp )) {
+HXLINE( 601) _hx_tmp2 = tmp;
}
else {
-HXLINE( 588) _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("extensions",14,7c,70,89), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))));
+HXLINE( 601) _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("extensions",14,7c,70,89), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d))),null());
}
-HXDLIN( 588) this->extensions = _hx_tmp2;
+HXDLIN( 601) this->extensions = _hx_tmp2;
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromBookmark,(void))
-void Chat_obj::updateFromRoster( ::Dynamic item){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_592_updateFromRoster)
-HXLINE( 593) this->isBookmarked = true;
-HXLINE( 594) bool _hx_tmp;
-HXDLIN( 594) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("both",81,88,1b,41) )) {
-HXLINE( 594) _hx_tmp = ::hx::IsEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("from",6a,a5,c2,43) );
+void Chat_obj::updateFromRoster( ::borogove::Stanza item){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_605_updateFromRoster)
+HXLINE( 606) this->isBookmarked = true;
+HXLINE( 607) bool _hx_tmp;
+HXDLIN( 607) if (::hx::IsNotEq( item->attr->get(HX_("subscription",1d,ff,00,36)),HX_("both",81,88,1b,41) )) {
+HXLINE( 607) _hx_tmp = ::hx::IsEq( item->attr->get(HX_("subscription",1d,ff,00,36)),HX_("from",6a,a5,c2,43) );
}
else {
-HXLINE( 594) _hx_tmp = true;
+HXLINE( 607) _hx_tmp = true;
}
-HXDLIN( 594) this->setTrusted(_hx_tmp);
-HXLINE( 595) bool _hx_tmp1;
-HXDLIN( 595) if (::hx::IsNotNull( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic) )) {
-HXLINE( 595) _hx_tmp1 = ::hx::IsNotEq( item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXDLIN( 607) this->setTrusted(_hx_tmp);
+HXLINE( 608) bool _hx_tmp1;
+HXDLIN( 608) if (::hx::IsNotNull( item->attr->get(HX_("name",4b,72,ff,48)) )) {
+HXLINE( 608) _hx_tmp1 = ::hx::IsNotEq( item->attr->get(HX_("name",4b,72,ff,48)),HX_("",00,00,00,00) );
}
else {
-HXLINE( 595) _hx_tmp1 = false;
- }
-HXDLIN( 595) if (_hx_tmp1) {
-HXLINE( 595) this->displayName = ( (::String)(item->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
- }
-HXLINE( 596) if ((this->uiState == 3)) {
-HXLINE( 596) this->uiState = 1;
- }
-HXLINE( 597) this->extensions->removeChildren(HX_("group",3f,b3,f4,99),HX_("jabber:iq:roster",47,76,6e,06));
-HXLINE( 598) {
-HXLINE( 598) int _g = 0;
-HXDLIN( 598) ::Array< ::String > _g1 = ( (::Array< ::String >)(item->__Field(HX_("groups",54,24,28,1c),::hx::paccDynamic)) );
-HXDLIN( 598) while((_g < _g1->length)){
-HXLINE( 598) ::String group = _g1->__get(_g);
-HXDLIN( 598) _g = (_g + 1);
-HXLINE( 599) this->extensions->textTag(HX_("group",3f,b3,f4,99),group, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:iq:roster",47,76,6e,06))));
+HXLINE( 608) _hx_tmp1 = false;
+ }
+HXDLIN( 608) if (_hx_tmp1) {
+HXLINE( 608) this->displayName = item->attr->get_string(HX_("name",4b,72,ff,48));
+ }
+HXLINE( 609) if ((this->uiState == 3)) {
+HXLINE( 609) this->uiState = 1;
+ }
+HXLINE( 610) this->extensions->removeChildren(HX_("group",3f,b3,f4,99),HX_("jabber:iq:roster",47,76,6e,06));
+HXLINE( 611) {
+HXLINE( 611) int _g = 0;
+HXDLIN( 611) ::Array< ::Dynamic> _this = item->allTags(HX_("group",3f,b3,f4,99),null());
+HXDLIN( 611) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 611) {
+HXLINE( 611) int _g1 = 0;
+HXDLIN( 611) int _g2 = _this->length;
+HXDLIN( 611) while((_g1 < _g2)){
+HXLINE( 611) _g1 = (_g1 + 1);
+HXDLIN( 611) int i = (_g1 - 1);
+HXDLIN( 611) {
+HXLINE( 611) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 611) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 611) while((_g < result->length)){
+HXLINE( 611) ::String group = result->__get(_g);
+HXDLIN( 611) _g = (_g + 1);
+HXLINE( 612) this->extensions->textTag(HX_("group",3f,b3,f4,99),group, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:iq:roster",47,76,6e,06))),null());
}
}
}
@@ -1339,57 +1369,149 @@ HXLINE( 599) this->extensions->textTag(HX_("group",3f,b3,f4,99),group, ::Dyna
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,updateFromRoster,(void))
::String Chat_obj::getPhoto(){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_606_getPhoto)
-HXLINE( 607) bool _hx_tmp;
-HXDLIN( 607) if (::hx::IsNotNull( this->avatarSha1 )) {
-HXLINE( 607) _hx_tmp = (::haxe::io::Bytes_obj::ofData(this->avatarSha1)->length < 1);
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_619_getPhoto)
+HXLINE( 620) bool _hx_tmp;
+HXDLIN( 620) if (::hx::IsNotNull( this->avatarSha1 )) {
+HXLINE( 620) _hx_tmp = (::haxe::io::Bytes_obj::ofData(this->avatarSha1)->length < 1);
}
else {
-HXLINE( 607) _hx_tmp = true;
+HXLINE( 620) _hx_tmp = true;
}
-HXDLIN( 607) if (_hx_tmp) {
-HXLINE( 607) return null();
+HXDLIN( 620) if (_hx_tmp) {
+HXLINE( 620) return null();
}
-HXLINE( 608) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),this->avatarSha1)->toUri();
+HXLINE( 621) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),this->avatarSha1)->toUri();
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getPhoto,return )
::String Chat_obj::getPlaceholder(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_615_getPlaceholder)
-HXDLIN( 615) ::String _hx_tmp = this->chatId;
-HXDLIN( 615) return ::borogove::Color_obj::defaultPhoto(_hx_tmp,this->getDisplayName().charAt(0).toUpperCase());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_628_getPlaceholder)
+HXDLIN( 628) ::String _hx_tmp = this->chatId;
+HXDLIN( 628) return ::borogove::Color_obj::defaultPhoto(_hx_tmp,this->getDisplayName().charAt(0).toUpperCase());
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getPlaceholder,return )
+bool Chat_obj::hasEverRead(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_635_hasEverRead)
+HXDLIN( 635) return ::hx::IsNotNull( this->readUpToId );
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,hasEverRead,return )
+
::Dynamic Chat_obj::readUpTo(){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis) HXARGC(1)
::borogove::ChatMessage _hx_run( ::borogove::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_624_readUpTo)
-HXLINE( 627) ::Dynamic _hx_tmp;
-HXDLIN( 627) if (::hx::IsNotNull( m )) {
-HXLINE( 627) _hx_tmp = m->type;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_654_readUpTo)
+HXLINE( 657) ::Dynamic _hx_tmp;
+HXDLIN( 657) if (::hx::IsNotNull( m )) {
+HXLINE( 657) _hx_tmp = m->type;
+ }
+ else {
+HXLINE( 657) _hx_tmp = null();
+ }
+HXDLIN( 657) if (::hx::IsEq( _hx_tmp,3 )) {
+HXLINE( 660) ::String _hx_tmp1;
+HXDLIN( 660) if (::hx::IsNotNull( m )) {
+HXLINE( 660) _hx_tmp1 = m->serverId;
+ }
+ else {
+HXLINE( 660) _hx_tmp1 = null();
+ }
+HXDLIN( 660) ::String _hx_tmp2;
+HXDLIN( 660) if (::hx::IsNotNull( m )) {
+HXLINE( 660) _hx_tmp2 = m->localId;
+ }
+ else {
+HXLINE( 660) _hx_tmp2 = null();
+ }
+HXLINE( 658) ::haxe::Log_obj::trace(HX_("READ: readUpTo returning null",ad,fd,31,f0), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Chat",65,73,fe,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(1,HX_("serverId",7e,01,b2,e2),_hx_tmp1)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("read marker resolved to a channel private message",f5,33,96,29))
+ ->setFixed(3,HX_("localId",26,7a,c6,2d),_hx_tmp2))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("readUpTo",2c,17,a3,75))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),658)));
+HXLINE( 662) return null();
+ }
+HXLINE( 667) ::String _hx_tmp3;
+HXDLIN( 667) if (::hx::IsNull( m )) {
+HXLINE( 667) _hx_tmp3 = HX_("read marker message not found",00,fe,a3,40);
+ }
+ else {
+HXLINE( 667) _hx_tmp3 = HX_("read marker message found",4d,27,05,35);
+ }
+HXDLIN( 667) ::String _hx_tmp4;
+HXDLIN( 667) if (::hx::IsNotNull( m )) {
+HXLINE( 667) _hx_tmp4 = m->serverId;
+ }
+ else {
+HXLINE( 667) _hx_tmp4 = null();
+ }
+HXDLIN( 667) ::String _hx_tmp5;
+HXDLIN( 667) if (::hx::IsNotNull( m )) {
+HXLINE( 667) _hx_tmp5 = m->localId;
}
else {
-HXLINE( 627) _hx_tmp = null();
+HXLINE( 667) _hx_tmp5 = null();
}
-HXDLIN( 627) if (::hx::IsEq( _hx_tmp,3 )) {
-HXLINE( 627) return null();
+HXDLIN( 667) ::String _hx_tmp6;
+HXDLIN( 667) if (::hx::IsNotNull( m )) {
+HXLINE( 667) _hx_tmp6 = m->sortId;
}
-HXLINE( 629) return m;
+ else {
+HXLINE( 667) _hx_tmp6 = null();
+ }
+HXLINE( 665) ::haxe::Log_obj::trace(HX_("READ: readUpTo result",55,2b,04,ab), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Chat",65,73,fe,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(1,HX_("serverId",7e,01,b2,e2),_hx_tmp4)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),_hx_tmp3)
+ ->setFixed(3,HX_("localId",26,7a,c6,2d),_hx_tmp5)
+ ->setFixed(4,HX_("sortId",d9,7a,37,30),_hx_tmp6))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("readUpTo",2c,17,a3,75))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),665)));
+HXLINE( 669) return m;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_621_readUpTo)
-HXLINE( 622) if (::hx::IsNull( this->readUpToId )) {
-HXLINE( 622) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
- }
-HXLINE( 624) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 624) ::String _hx_tmp1 = this->client->accountId();
-HXDLIN( 624) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_hx_tmp,_hx_tmp1,this->chatId,this->readUpToId,null()), ::Dynamic(new _hx_Closure_0()),null());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_641_readUpTo)
+HXDLIN( 641) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 642) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXLINE( 644) ::String _hx_tmp1 = this->client->accountId();
+HXLINE( 642) _hx_tmp(HX_("READ: readUpTo lookup",f2,64,35,04), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Chat",65,73,fe,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(1,HX_("accountId",e8,81,54,29),_hx_tmp1)
+ ->setFixed(2,HX_("readUpToBy",23,74,f8,75),this->readUpToBy)
+ ->setFixed(3,HX_("readUpToId",27,7a,f8,75),this->readUpToId))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("readUpTo",2c,17,a3,75))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),642)));
+HXLINE( 646) if (::hx::IsNull( this->readUpToId )) {
+HXLINE( 647) ::haxe::Log_obj::trace(HX_("READ: readUpTo returning null",ad,fd,31,f0), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Chat",65,73,fe,da))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(1,HX_("reason",c4,0f,9d,fc),HX_("no read marker",e5,aa,97,8f)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("readUpTo",2c,17,a3,75))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),647)));
+HXLINE( 651) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE( 654) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN( 654) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN( 654) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_hx_tmp2,_hx_tmp3,this->chatId,this->readUpToId,null()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
@@ -1437,118 +1559,135 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->readUpTo(), :
int Chat_obj::unreadCount(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_637_unreadCount)
-HXDLIN( 637) return this->_unreadCount;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_677_unreadCount)
+HXDLIN( 677) return this->_unreadCount;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,unreadCount,return )
void Chat_obj::setUnreadCount(int count){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_642_setUnreadCount)
-HXDLIN( 642) this->_unreadCount = count;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_682_setUnreadCount)
+HXDLIN( 682) this->_unreadCount = count;
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setUnreadCount,(void))
::String Chat_obj::preview(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_648_preview)
-HXLINE( 649) if (::hx::IsNull( this->lastMessage )) {
-HXLINE( 649) return HX_("",00,00,00,00);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_688_preview)
+HXLINE( 689) if (::hx::IsNull( this->lastMessage )) {
+HXLINE( 689) return HX_("",00,00,00,00);
}
-HXLINE( 651) if ((this->lastMessage->type == 1)) {
-HXLINE( 653) if (this->lastMessage->isIncoming()) {
-HXLINE( 653) return HX_("Incoming Call",18,e2,4d,47);
+HXLINE( 691) if ((this->lastMessage->type == 1)) {
+HXLINE( 693) if (this->lastMessage->isIncoming()) {
+HXLINE( 693) return HX_("Incoming Call",18,e2,4d,47);
}
else {
-HXLINE( 653) return HX_("Outgoing Call",d2,04,61,e8);
+HXLINE( 693) return HX_("Outgoing Call",d2,04,61,e8);
}
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run(::String line){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_656_preview)
-HXLINE( 656) return !( ::EReg_obj::__alloc( HX_CTX ,HX_("(^[ \n]*$)|(^>)",bc,88,8d,c7),HX_("",00,00,00,00))->match(line));
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_698_preview)
+HXLINE( 698) return !( ::EReg_obj::__alloc( HX_CTX ,HX_("(^[ \n]*$)|(^>)",bc,88,8d,c7),HX_("",00,00,00,00))->match(line));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 655) ::String txt;
-HXDLIN( 655) ::String tmp = this->lastMessage->body(null())->toPlainText();
-HXDLIN( 655) if (::hx::IsNotNull( tmp )) {
-HXLINE( 655) txt = tmp;
+HXLINE( 695) ::String txt;
+HXDLIN( 695) ::String tmp = this->lastMessage->body(null())->toPlainText();
+HXDLIN( 695) if (::hx::IsNotNull( tmp )) {
+HXLINE( 695) txt = tmp;
+ }
+ else {
+HXLINE( 695) txt = HX_("",00,00,00,00);
+ }
+HXLINE( 696) bool _hx_tmp;
+HXDLIN( 696) if ((txt == HX_("",00,00,00,00))) {
+HXLINE( 696) _hx_tmp = (this->lastMessage->attachments->length > 0);
}
else {
-HXLINE( 655) txt = HX_("",00,00,00,00);
+HXLINE( 696) _hx_tmp = false;
+ }
+HXDLIN( 696) if (_hx_tmp) {
+HXLINE( 696) return HX_("Media",c4,74,e9,98);
}
-HXLINE( 656) ::String tmp1 = ( (::String)(::Lambda_obj::find(txt.split(HX_("\n",0a,00,00,00)), ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 656) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 656) return tmp1;
+HXLINE( 698) ::String tmp1 = ( (::String)(::Lambda_obj::find(txt.split(HX_("\n",0a,00,00,00)), ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 698) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 698) return tmp1;
}
else {
-HXLINE( 656) return txt;
+HXLINE( 698) return txt;
}
}
-HXLINE( 651) return null();
+HXLINE( 691) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,preview,return )
::Dynamic Chat_obj::setLastMessage( ::borogove::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_661_setLastMessage)
-HXLINE( 662) this->lastMessage = message;
-HXLINE( 663) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_703_setLastMessage)
+HXLINE( 704) this->lastMessage = message;
+HXLINE( 705) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setLastMessage,return )
void Chat_obj::setDisplayName(::String displayName){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_671_setDisplayName)
-HXLINE( 672) this->displayName = displayName;
-HXLINE( 673) this->bookmark();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_713_setDisplayName)
+HXLINE( 714) ::String _hx_tmp;
+HXDLIN( 714) if ((displayName == HX_("",00,00,00,00))) {
+HXLINE( 714) _hx_tmp = this->chatId;
+ }
+ else {
+HXLINE( 714) _hx_tmp = displayName;
+ }
+HXDLIN( 714) this->displayName = _hx_tmp;
+HXLINE( 715) this->bookmark();
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setDisplayName,(void))
::String Chat_obj::getDisplayName(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_679_getDisplayName)
-HXLINE( 680) if ((this->displayName == this->chatId)) {
-HXLINE( 681) ::String _hx_tmp = this->chatId;
-HXDLIN( 681) if ((_hx_tmp == this->client->accountId())) {
-HXLINE( 681) return this->client->displayName();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_721_getDisplayName)
+HXLINE( 722) if ((this->displayName == this->chatId)) {
+HXLINE( 723) ::String _hx_tmp = this->chatId;
+HXDLIN( 723) if ((_hx_tmp == this->client->accountId())) {
+HXLINE( 723) return this->client->displayName();
}
}
else {
-HXLINE( 682) if ((this->uiState == 3)) {
-HXLINE( 683) return ((((HX_("",00,00,00,00) + this->displayName) + HX_(" (",08,1c,00,00)) + this->chatId) + HX_(")",29,00,00,00));
+HXLINE( 724) if ((this->uiState == 3)) {
+HXLINE( 725) return ((((HX_("",00,00,00,00) + this->displayName) + HX_(" (",08,1c,00,00)) + this->chatId) + HX_(")",29,00,00,00));
}
}
-HXLINE( 686) return this->displayName;
+HXLINE( 728) return this->displayName;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getDisplayName,return )
::Array< ::String > Chat_obj::getTags(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_693_getTags)
-HXDLIN( 693) ::Array< ::Dynamic> _this = this->extensions->allTags(HX_("group",3f,b3,f4,99),HX_("jabber:iq:roster",47,76,6e,06));
-HXDLIN( 693) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 693) {
-HXDLIN( 693) int _g = 0;
-HXDLIN( 693) int _g1 = _this->length;
-HXDLIN( 693) while((_g < _g1)){
-HXDLIN( 693) _g = (_g + 1);
-HXDLIN( 693) int i = (_g - 1);
-HXDLIN( 693) {
-HXDLIN( 693) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
-HXDLIN( 693) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_735_getTags)
+HXDLIN( 735) ::Array< ::Dynamic> _this = this->extensions->allTags(HX_("group",3f,b3,f4,99),HX_("jabber:iq:roster",47,76,6e,06));
+HXDLIN( 735) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 735) {
+HXDLIN( 735) int _g = 0;
+HXDLIN( 735) int _g1 = _this->length;
+HXDLIN( 735) while((_g < _g1)){
+HXDLIN( 735) _g = (_g + 1);
+HXDLIN( 735) int i = (_g - 1);
+HXDLIN( 735) {
+HXDLIN( 735) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 735) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 693) return result;
+HXDLIN( 735) return result;
}
@@ -1565,16 +1704,67 @@ HXDLIN( 363) return ( (size_t)(out->length) );
}
+void Chat_obj::setTags(::Array< ::String > tags){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_743_setTags)
+HXLINE( 744) this->extensions->removeChildren(HX_("group",3f,b3,f4,99),HX_("jabber:iq:roster",47,76,6e,06));
+HXLINE( 745) {
+HXLINE( 745) int _g = 0;
+HXDLIN( 745) while((_g < tags->length)){
+HXLINE( 745) ::String tag = tags->__get(_g);
+HXDLIN( 745) _g = (_g + 1);
+HXLINE( 746) this->extensions->textTag(HX_("group",3f,b3,f4,99),tag, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:iq:roster",47,76,6e,06))),null());
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setTags,(void))
+
+void Chat_obj::setTags__fromC(::cpp::Pointer< const char* > tags,size_t tags__len){
+ HX_STACKFRAME(&_hx_pos_a94f40d98d9e57cb_354_setTags__fromC)
+HXLINE( 300) ::Array< ::String > _hx_tmp;
+HXDLIN( 300) if (::hx::IsNull( tags )) {
+HXLINE( 300) _hx_tmp = ::Array_obj< ::String >::__new(0);
+ }
+ else {
+HXLINE( 300) ::cpp::Pointer< ::cpp::Pointer< char > > _this = tags->reinterpret();
+HXDLIN( 300) ::Array< ::cpp::Pointer< char > > result = ::Array_obj< ::cpp::Pointer< char > >::__new();
+HXDLIN( 300) ::cpp::Pointer< ::cpp::Pointer< char > > tmp = _this;
+HXDLIN( 300) result->setUnmanagedData(tmp,( (int)(tags__len) ));
+HXDLIN( 300) ::Dynamic f = ::cpp::_NativeString::NativeString_Impl__obj::fromPointer_dyn();
+HXDLIN( 300) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(result->length);
+HXDLIN( 300) {
+HXLINE( 300) int _g = 0;
+HXDLIN( 300) int _g1 = result->length;
+HXDLIN( 300) while((_g < _g1)){
+HXLINE( 300) _g = (_g + 1);
+HXDLIN( 300) int i = (_g - 1);
+HXDLIN( 300) {
+HXLINE( 300) ::cpp::Pointer< char > tmp1 = _hx_array_unsafe_get(result,i);
+HXDLIN( 300) ::String inValue = ( (::String)(f(tmp1)) );
+HXDLIN( 300) result1->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 300) _hx_tmp = result1->copy();
+ }
+HXLINE( 354) this->setTags(_hx_tmp);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,setTags__fromC,(void))
+
void Chat_obj::setThreadSubject(::String threadId,::String subject){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_698_setThreadSubject)
-HXDLIN( 698) ::String _hx_tmp;
-HXDLIN( 698) if (::hx::IsNull( threadId )) {
-HXDLIN( 698) _hx_tmp = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_752_setThreadSubject)
+HXDLIN( 752) ::String _hx_tmp;
+HXDLIN( 752) if (::hx::IsNull( threadId )) {
+HXDLIN( 752) _hx_tmp = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
}
else {
-HXDLIN( 698) _hx_tmp = threadId;
+HXDLIN( 752) _hx_tmp = threadId;
}
-HXDLIN( 698) this->threads->set(_hx_tmp,subject);
+HXDLIN( 752) this->threads->set(_hx_tmp,subject);
}
@@ -1585,26 +1775,36 @@ HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,setPresence,(void))
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,getCaps,return )
void Chat_obj::setAvatarSha1(::Array< unsigned char > sha1){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_709_setAvatarSha1)
-HXDLIN( 709) this->avatarSha1 = sha1;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_763_setAvatarSha1)
+HXDLIN( 763) this->avatarSha1 = sha1;
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setAvatarSha1,(void))
void Chat_obj::setTrusted(bool trusted){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_717_setTrusted)
-HXLINE( 718) this->trusted = trusted;
-HXLINE( 719) bool _hx_tmp;
-HXDLIN( 719) if (trusted) {
-HXLINE( 719) _hx_tmp = (this->uiState == 3);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_771_setTrusted)
+HXLINE( 772) this->trusted = trusted;
+HXLINE( 773) bool _hx_tmp;
+HXDLIN( 773) if (trusted) {
+HXLINE( 773) _hx_tmp = (this->uiState == 3);
+ }
+ else {
+HXLINE( 773) _hx_tmp = false;
+ }
+HXDLIN( 773) if (_hx_tmp) {
+HXLINE( 774) this->uiState = 1;
+HXLINE( 775) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ }
+HXLINE( 777) bool _hx_tmp1;
+HXDLIN( 777) if (this->isBlocked) {
+HXLINE( 777) _hx_tmp1 = trusted;
}
else {
-HXLINE( 719) _hx_tmp = false;
+HXLINE( 777) _hx_tmp1 = false;
}
-HXDLIN( 719) if (_hx_tmp) {
-HXLINE( 720) this->uiState = 1;
-HXLINE( 721) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXDLIN( 777) if (_hx_tmp1) {
+HXLINE( 777) this->unblock(null());
}
}
@@ -1612,136 +1812,165 @@ HXLINE( 721) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::Virt
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,setTrusted,(void))
bool Chat_obj::isTrusted(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_729_isTrusted)
-HXDLIN( 729) if (!(this->trusted)) {
-HXDLIN( 729) ::String _hx_tmp = this->chatId;
-HXDLIN( 729) return (_hx_tmp == this->client->accountId());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_784_isTrusted)
+HXDLIN( 784) if (!(this->trusted)) {
+HXDLIN( 784) ::String _hx_tmp = this->chatId;
+HXDLIN( 784) return (_hx_tmp == this->client->accountId());
}
else {
-HXDLIN( 729) return true;
+HXDLIN( 784) return true;
}
-HXDLIN( 729) return false;
+HXDLIN( 784) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isTrusted,return )
bool Chat_obj::livePresence(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_734_livePresence)
-HXDLIN( 734) return true;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_789_livePresence)
+HXDLIN( 789) return true;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,livePresence,return )
bool Chat_obj::syncing(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_741_syncing)
-HXDLIN( 741) return !(this->client->inSync);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_796_syncing)
+HXDLIN( 796) return !(this->client->inSync);
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,syncing,return )
+bool Chat_obj::inMessageSync(){
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_800_inMessageSync)
+HXDLIN( 800) return !(this->client->inSync);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,inMessageSync,return )
+
bool Chat_obj::canAudioCall(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_747_canAudioCall)
-HXLINE( 749) {
-HXLINE( 749) ::Dynamic _g = this->getCaps();
-HXDLIN( 749) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 750) bool _hx_tmp;
-HXDLIN( 750) ::Array< ::String > tmp = ( ( ::borogove::Caps)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
-HXDLIN( 750) ::Dynamic tmp1;
-HXDLIN( 750) if (::hx::IsNotNull( tmp )) {
-HXLINE( 750) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_806_canAudioCall)
+HXLINE( 808) {
+HXLINE( 808) ::Dynamic _g = this->getCaps();
+HXDLIN( 808) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 809) bool _hx_tmp;
+HXDLIN( 809) ::Array< ::String > tmp = ( ( ::borogove::Caps)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
+HXDLIN( 809) ::Dynamic tmp1;
+HXDLIN( 809) if (::hx::IsNotNull( tmp )) {
+HXLINE( 809) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c));
}
else {
-HXLINE( 750) tmp1 = null();
+HXLINE( 809) tmp1 = null();
}
-HXDLIN( 750) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 750) _hx_tmp = ( (bool)(tmp1) );
+HXDLIN( 809) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 809) _hx_tmp = ( (bool)(tmp1) );
}
else {
-HXLINE( 750) _hx_tmp = false;
+HXLINE( 809) _hx_tmp = false;
}
-HXDLIN( 750) if (_hx_tmp) {
-HXLINE( 750) return true;
+HXDLIN( 809) if (_hx_tmp) {
+HXLINE( 809) return true;
}
}
}
-HXLINE( 753) return false;
+HXLINE( 812) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId);
+HXLINE( 813) bool _hx_tmp1;
+HXDLIN( 813) if (::hx::IsNotNull( jid )) {
+HXLINE( 813) _hx_tmp1 = !(jid->isDomain());
+ }
+ else {
+HXLINE( 813) _hx_tmp1 = false;
+ }
+HXDLIN( 813) if (_hx_tmp1) {
+HXLINE( 814) ::borogove::Chat domainChat = this->client->getChat(jid->domain);
+HXLINE( 815) bool _hx_tmp2;
+HXDLIN( 815) if (::hx::IsNotNull( domainChat )) {
+HXLINE( 815) _hx_tmp2 = ( (bool)(::borogove::Caps_obj::withIdentity(domainChat->getCaps(),HX_("gateway",04,40,59,91),HX_("pstn",3d,8e,5f,4a))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+ }
+ else {
+HXLINE( 815) _hx_tmp2 = false;
+ }
+HXDLIN( 815) if (_hx_tmp2) {
+HXLINE( 816) return true;
+ }
+ }
+HXLINE( 820) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canAudioCall,return )
bool Chat_obj::canVideoCall(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_759_canVideoCall)
-HXLINE( 761) {
-HXLINE( 761) ::Dynamic _g = this->getCaps();
-HXDLIN( 761) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 762) bool _hx_tmp;
-HXDLIN( 762) ::Array< ::String > tmp = ( ( ::borogove::Caps)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
-HXDLIN( 762) ::Dynamic tmp1;
-HXDLIN( 762) if (::hx::IsNotNull( tmp )) {
-HXLINE( 762) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_826_canVideoCall)
+HXLINE( 828) {
+HXLINE( 828) ::Dynamic _g = this->getCaps();
+HXDLIN( 828) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 829) bool _hx_tmp;
+HXDLIN( 829) ::Array< ::String > tmp = ( ( ::borogove::Caps)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) )->features;
+HXDLIN( 829) ::Dynamic tmp1;
+HXDLIN( 829) if (::hx::IsNotNull( tmp )) {
+HXLINE( 829) tmp1 = tmp->contains(HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b));
}
else {
-HXLINE( 762) tmp1 = null();
+HXLINE( 829) tmp1 = null();
}
-HXDLIN( 762) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 762) _hx_tmp = ( (bool)(tmp1) );
+HXDLIN( 829) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 829) _hx_tmp = ( (bool)(tmp1) );
}
else {
-HXLINE( 762) _hx_tmp = false;
+HXLINE( 829) _hx_tmp = false;
}
-HXDLIN( 762) if (_hx_tmp) {
-HXLINE( 762) return true;
+HXDLIN( 829) if (_hx_tmp) {
+HXLINE( 829) return true;
}
}
}
-HXLINE( 765) return false;
+HXLINE( 832) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canVideoCall,return )
::Dynamic Chat_obj::startCall(bool audio,bool video){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_775_startCall)
-HXLINE( 776) if ((this->uiState == 3)) {
-HXLINE( 776) this->uiState = 1;
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_842_startCall)
+HXLINE( 843) if ((this->uiState == 3)) {
+HXLINE( 843) this->uiState = 1;
}
-HXLINE( 777) ::borogove::Client session = this->client;
-HXDLIN( 777) ::borogove::calls::OutgoingProposedSession session1 = ::borogove::calls::OutgoingProposedSession_obj::__alloc( HX_CTX ,session,::borogove::JID_obj::parse(this->chatId));
-HXLINE( 778) {
-HXLINE( 778) ::Dynamic this1 = this->jingleSessions;
-HXDLIN( 778) ( ( ::haxe::ds::StringMap)(this1) )->set(session1->get_sid(),session1);
+HXLINE( 844) ::borogove::Client session = this->client;
+HXDLIN( 844) ::borogove::calls::OutgoingProposedSession session1 = ::borogove::calls::OutgoingProposedSession_obj::__alloc( HX_CTX ,session,::borogove::JID_obj::parse(this->chatId));
+HXLINE( 845) {
+HXLINE( 845) ::Dynamic this1 = this->jingleSessions;
+HXDLIN( 845) ( ( ::haxe::ds::StringMap)(this1) )->set(session1->get_sid(),session1);
}
-HXLINE( 779) session1->propose(audio,video);
-HXLINE( 780) return session1;
+HXLINE( 846) session1->propose(audio,video);
+HXLINE( 847) return session1;
}
HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,startCall,return )
void Chat_obj::addMedia(::Array< ::Dynamic> streams){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_789_addMedia)
-HXLINE( 790) if ((this->callStatus() != 4)) {
-HXLINE( 790) HX_STACK_DO_THROW(HX_("cannot add media when no call ongoing",6a,0b,2b,6e));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_856_addMedia)
+HXLINE( 857) if ((this->callStatus() != 4)) {
+HXLINE( 857) HX_STACK_DO_THROW(HX_("cannot add media when no call ongoing",6a,0b,2b,6e));
}
-HXLINE( 791) ::borogove::calls::Session_obj::addMedia(this->jingleSessions->iterator()->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)(),streams);
+HXLINE( 858) ::borogove::calls::Session_obj::addMedia(this->jingleSessions->iterator()->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)(),streams);
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,addMedia,(void))
void Chat_obj::acceptCall(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_797_acceptCall)
-HXLINE( 798) if ((this->uiState == 3)) {
-HXLINE( 798) this->uiState = 1;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_864_acceptCall)
+HXLINE( 865) if ((this->uiState == 3)) {
+HXLINE( 865) this->uiState = 1;
}
-HXLINE( 799) {
-HXLINE( 799) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 799) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 800) ::borogove::calls::Session_obj::accept(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+HXLINE( 866) {
+HXLINE( 866) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 866) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 867) ::borogove::calls::Session_obj::accept(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
@@ -1750,14 +1979,14 @@ HXLINE( 800) ::borogove::calls::Session_obj::accept(session->__Field(HX_("nex
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,acceptCall,(void))
void Chat_obj::hangup(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_808_hangup)
-HXDLIN( 808) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 808) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 808) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 809) ::borogove::calls::Session_obj::hangup(session1);
-HXLINE( 810) {
-HXLINE( 810) ::Dynamic this1 = this->jingleSessions;
-HXDLIN( 810) ( ( ::haxe::ds::StringMap)(this1) )->remove(::borogove::calls::Session_obj::get_sid(session1));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_875_hangup)
+HXDLIN( 875) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 875) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 875) ::Dynamic session1 = session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 876) ::borogove::calls::Session_obj::hangup(session1);
+HXLINE( 877) {
+HXLINE( 877) ::Dynamic this1 = this->jingleSessions;
+HXDLIN( 877) ( ( ::haxe::ds::StringMap)(this1) )->remove(::borogove::calls::Session_obj::get_sid(session1));
}
}
}
@@ -1766,56 +1995,56 @@ HXDLIN( 810) ( ( ::haxe::ds::StringMap)(this1) )->remove(::borogove::calls::S
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,hangup,(void))
int Chat_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_817_callStatus)
-HXLINE( 818) {
-HXLINE( 818) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 818) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 819) return ::borogove::calls::Session_obj::callStatus(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_884_callStatus)
+HXLINE( 885) {
+HXLINE( 885) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 885) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 886) return ::borogove::calls::Session_obj::callStatus(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
-HXLINE( 822) return 0;
+HXLINE( 889) return 0;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,callStatus,return )
::borogove::calls::DTMFSender Chat_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_828_dtmf)
-HXLINE( 829) {
-HXLINE( 829) ::Dynamic session = this->jingleSessions->iterator();
-HXDLIN( 829) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 830) ::borogove::calls::DTMFSender dtmf = ::borogove::calls::Session_obj::dtmf(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
-HXLINE( 831) if (::hx::IsNotNull( dtmf )) {
-HXLINE( 831) return dtmf;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_895_dtmf)
+HXLINE( 896) {
+HXLINE( 896) ::Dynamic session = this->jingleSessions->iterator();
+HXDLIN( 896) while(( (bool)(session->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 897) ::borogove::calls::DTMFSender dtmf = ::borogove::calls::Session_obj::dtmf(session->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+HXLINE( 898) if (::hx::IsNotNull( dtmf )) {
+HXLINE( 898) return dtmf;
}
}
}
-HXLINE( 834) return null();
+HXLINE( 901) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,dtmf,return )
::Array< ::Dynamic> Chat_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_841_videoTracks)
-HXDLIN( 841) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 841) {
-HXDLIN( 841) ::Dynamic x = this->jingleSessions->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 841) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 841) _g->push(::borogove::calls::Session_obj::videoTracks(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()));
- }
- }
-HXDLIN( 841) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 841) {
-HXDLIN( 841) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 841) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 841) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 841) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXDLIN( 841) _g1->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_908_videoTracks)
+HXDLIN( 908) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 908) {
+HXDLIN( 908) ::Dynamic x = this->jingleSessions->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 908) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 908) _g->push(::borogove::calls::Session_obj::videoTracks(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()));
+ }
+ }
+HXDLIN( 908) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 908) {
+HXDLIN( 908) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 908) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 908) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 908) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 908) _g1->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
-HXDLIN( 841) return _g1;
+HXDLIN( 908) return _g1;
}
@@ -1832,138 +2061,120 @@ HXDLIN( 363) return ( (size_t)(out->length) );
}
-::String Chat_obj::encryptionMode(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_848_encryptionMode)
-HXDLIN( 848) switch((int)(this->_encryptionMode)){
- case (int)0: {
-HXLINE( 850) return HX_("unencrypted",8b,80,ea,f1);
- }
- break;
- case (int)1: {
-HXLINE( 852) return HX_("omemo",a9,a8,d3,31);
- }
- break;
- }
-HXLINE( 848) return null();
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,encryptionMode,return )
-
bool Chat_obj::canSend(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_860_canSend)
-HXDLIN( 860) return !(( (bool)(::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_916_canSend)
+HXDLIN( 916) return !(( (bool)(::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ));
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canSend,return )
bool Chat_obj::canModerate(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_867_canModerate)
-HXDLIN( 867) return false;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_923_canModerate)
+HXDLIN( 923) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canModerate,return )
void Chat_obj::invite( ::borogove::Chat other,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_873_invite)
-HXLINE( 874) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_929_invite)
+HXLINE( 930) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId)
->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:conference",b4,78,c2,fc)));
-HXLINE( 878) if (::hx::IsNotNull( threadId )) {
-HXLINE( 879) ::Reflect_obj::setField(attr,HX_("continue",67,e0,c8,31),HX_("true",4e,a7,03,4d));
-HXLINE( 880) ::Reflect_obj::setField(attr,HX_("thread",ca,7a,b9,8e),threadId);
+HXLINE( 934) if (::hx::IsNotNull( threadId )) {
+HXLINE( 935) ::Reflect_obj::setField(attr,HX_("continue",67,e0,c8,31),HX_("true",4e,a7,03,4d));
+HXLINE( 936) ::Reflect_obj::setField(attr,HX_("thread",ca,7a,b9,8e),threadId);
}
-HXLINE( 882) other->sendMessageStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),null())->tag(HX_("x",78,00,00,00),attr)->up(),null());
+HXLINE( 938) other->sendMessageStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),null(),null())->tag(HX_("x",78,00,00,00),attr,null())->up(),null(),null());
}
HX_DEFINE_DYNAMIC_FUNC2(Chat_obj,invite,(void))
bool Chat_obj::canInvite(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_891_canInvite)
-HXDLIN( 891) return false;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_947_canInvite)
+HXDLIN( 947) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,canInvite,return )
bool Chat_obj::isApp(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_897_isApp)
-HXLINE( 898) if ((::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_953_isApp)
+HXLINE( 954) if ((::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93),this->getCaps_dyn())))->get_length() < 1)) {
-HXLINE( 900) if ((this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
-HXLINE( 900) return this->hasCommands();
+HXLINE( 956) if ((this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0)) {
+HXLINE( 956) return this->hasCommands();
}
else {
-HXLINE( 900) return false;
+HXLINE( 956) return false;
}
}
-HXLINE( 903) bool bot = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),HX_("bot",07,be,4a,00))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
-HXLINE( 904) bool client = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
-HXLINE( 905) bool account = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("account",ad,fc,59,a1),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
-HXLINE( 907) bool _hx_tmp;
-HXDLIN( 907) bool _hx_tmp1;
-HXDLIN( 907) if (!(client)) {
-HXLINE( 907) _hx_tmp1 = account;
+HXLINE( 959) bool bot = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),HX_("bot",07,be,4a,00))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+HXLINE( 960) bool client = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("client",4b,ca,4f,0a),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+HXLINE( 961) bool account = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("account",ad,fc,59,a1),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+HXLINE( 963) bool _hx_tmp;
+HXDLIN( 963) bool _hx_tmp1;
+HXDLIN( 963) if (!(client)) {
+HXLINE( 963) _hx_tmp1 = account;
}
else {
-HXLINE( 907) _hx_tmp1 = true;
+HXLINE( 963) _hx_tmp1 = true;
}
-HXDLIN( 907) if (_hx_tmp1) {
-HXLINE( 907) _hx_tmp = !(bot);
+HXDLIN( 963) if (_hx_tmp1) {
+HXLINE( 963) _hx_tmp = !(bot);
}
else {
-HXLINE( 907) _hx_tmp = false;
+HXLINE( 963) _hx_tmp = false;
}
-HXDLIN( 907) if (_hx_tmp) {
-HXLINE( 907) return false;
+HXDLIN( 963) if (_hx_tmp) {
+HXLINE( 963) return false;
}
-HXLINE( 909) bool noReply = ( (bool)(::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
-HXLINE( 911) bool _hx_tmp2;
-HXDLIN( 911) if (bot) {
-HXLINE( 911) _hx_tmp2 = noReply;
+HXLINE( 965) bool noReply = ( (bool)(::borogove::Caps_obj::withFeature(this->getCaps(),HX_("urn:xmpp:noreply:0",a3,10,eb,d5))->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+HXLINE( 967) bool _hx_tmp2;
+HXDLIN( 967) if (bot) {
+HXLINE( 967) _hx_tmp2 = noReply;
}
else {
-HXLINE( 911) _hx_tmp2 = false;
+HXLINE( 967) _hx_tmp2 = false;
}
-HXDLIN( 911) if (_hx_tmp2) {
-HXLINE( 911) return this->hasCommands();
+HXDLIN( 967) if (_hx_tmp2) {
+HXLINE( 967) return this->hasCommands();
}
-HXLINE( 913) bool conference = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("conference",1c,2b,83,41),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
-HXLINE( 915) bool _hx_tmp3;
-HXDLIN( 915) if (conference) {
-HXLINE( 915) _hx_tmp3 = (this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0);
+HXLINE( 969) bool conference = ( (bool)(::borogove::Caps_obj::withIdentity(this->getCaps(),HX_("conference",1c,2b,83,41),null())->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+HXLINE( 971) bool _hx_tmp3;
+HXDLIN( 971) if (conference) {
+HXLINE( 971) _hx_tmp3 = (this->chatId.indexOf(HX_("@",40,00,00,00),null()) < 0);
}
else {
-HXLINE( 915) _hx_tmp3 = false;
+HXLINE( 971) _hx_tmp3 = false;
}
-HXDLIN( 915) if (_hx_tmp3) {
-HXLINE( 915) return this->hasCommands();
+HXDLIN( 971) if (_hx_tmp3) {
+HXLINE( 971) return this->hasCommands();
}
-HXLINE( 918) bool _hx_tmp4;
-HXDLIN( 918) if (!(client)) {
-HXLINE( 918) _hx_tmp4 = !(conference);
+HXLINE( 974) bool _hx_tmp4;
+HXDLIN( 974) if (!(client)) {
+HXLINE( 974) _hx_tmp4 = !(conference);
}
else {
-HXLINE( 918) _hx_tmp4 = false;
+HXLINE( 974) _hx_tmp4 = false;
}
-HXDLIN( 918) if (_hx_tmp4) {
-HXLINE( 918) return this->hasCommands();
+HXDLIN( 974) if (_hx_tmp4) {
+HXLINE( 974) return this->hasCommands();
}
else {
-HXLINE( 918) return false;
+HXLINE( 974) return false;
}
-HXDLIN( 918) return false;
+HXDLIN( 974) return false;
}
HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,isApp,return )
bool Chat_obj::hasCommands(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_925_hasCommands)
-HXDLIN( 925) return (this->commandJids()->length > 0);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_981_hasCommands)
+HXDLIN( 981) return (this->commandJids()->length > 0);
}
@@ -1972,107 +2183,107 @@ HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,hasCommands,return )
::Dynamic Chat_obj::commands(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> commands){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_943_commands)
-HXLINE( 943) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 943) {
-HXLINE( 943) int _g_current = 0;
-HXDLIN( 943) while((_g_current < commands->length)){
-HXLINE( 943) _g_current = (_g_current + 1);
-HXDLIN( 943) {
-HXLINE( 943) ::Dynamic x = commands->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 943) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 943) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_999_commands)
+HXLINE( 999) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 999) {
+HXLINE( 999) int _g_current = 0;
+HXDLIN( 999) while((_g_current < commands->length)){
+HXLINE( 999) _g_current = (_g_current + 1);
+HXDLIN( 999) {
+HXLINE( 999) ::Dynamic x = commands->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 999) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 999) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
}
-HXDLIN( 943) return _g;
+HXDLIN( 999) return _g;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_931_commands)
-HXDLIN( 931) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 932) ::Array< ::Dynamic> _this = this->commandJids();
-HXDLIN( 932) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 932) {
-HXLINE( 932) int _g = 0;
-HXDLIN( 932) int _g1 = _this->length;
-HXDLIN( 932) while((_g < _g1)){
-HXLINE( 932) _g = (_g + 1);
-HXDLIN( 932) int i = (_g - 1);
-HXDLIN( 932) {
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_987_commands)
+HXDLIN( 987) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 988) ::Array< ::Dynamic> _this = this->commandJids();
+HXDLIN( 988) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 988) {
+HXLINE( 988) int _g = 0;
+HXDLIN( 988) int _g1 = _this->length;
+HXDLIN( 988) while((_g < _g1)){
+HXLINE( 988) _g = (_g + 1);
+HXDLIN( 988) int i = (_g - 1);
+HXDLIN( 988) {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Chat,_gthis, ::borogove::JID,jid) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis, ::Dynamic,resolve, ::borogove::JID,jid, ::borogove::queries::DiscoItemsGet,itemsGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_934_commands)
-HXLINE( 935) jid->asBare();
-HXLINE( 936) ::Dynamic resolve1 = resolve;
-HXDLIN( 936) ::Array< ::Dynamic> _this;
-HXDLIN( 936) ::Array< ::Dynamic> tmp = itemsGet->getResult();
-HXDLIN( 936) if (::hx::IsNotNull( tmp )) {
-HXLINE( 936) _this = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_990_commands)
+HXLINE( 991) jid->asBare();
+HXLINE( 992) ::Dynamic resolve1 = resolve;
+HXDLIN( 992) ::Array< ::Dynamic> _this;
+HXDLIN( 992) ::Array< ::Dynamic> tmp = itemsGet->getResult();
+HXDLIN( 992) if (::hx::IsNotNull( tmp )) {
+HXLINE( 992) _this = tmp;
}
else {
-HXLINE( 936) _this = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 992) _this = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 936) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 936) {
-HXLINE( 936) int _g1 = 0;
-HXDLIN( 936) ::Array< ::Dynamic> _g2 = _this;
-HXDLIN( 936) while((_g1 < _g2->length)){
-HXLINE( 936) ::Dynamic v = _g2->__get(_g1);
-HXDLIN( 936) _g1 = (_g1 + 1);
-HXLINE( 939) bool inValue;
-HXDLIN( 939) bool inValue1;
-HXDLIN( 939) if (::hx::IsNotNull( v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) )) {
-HXLINE( 939) inValue1 = ( ( ::borogove::JID)(v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asBare()->equals(jid);
+HXDLIN( 992) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 992) {
+HXLINE( 992) int _g1 = 0;
+HXDLIN( 992) ::Array< ::Dynamic> _g2 = _this;
+HXDLIN( 992) while((_g1 < _g2->length)){
+HXLINE( 992) ::Dynamic v = _g2->__get(_g1);
+HXDLIN( 992) _g1 = (_g1 + 1);
+HXLINE( 995) bool inValue;
+HXDLIN( 995) bool inValue1;
+HXDLIN( 995) if (::hx::IsNotNull( v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) )) {
+HXLINE( 995) inValue1 = ( ( ::borogove::JID)(v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asBare()->equals(jid);
}
else {
-HXLINE( 939) inValue1 = false;
+HXLINE( 995) inValue1 = false;
}
-HXDLIN( 939) if (inValue1) {
-HXLINE( 939) inValue = ::hx::IsNotNull( v->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic) );
+HXDLIN( 995) if (inValue1) {
+HXLINE( 995) inValue = ::hx::IsNotNull( v->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic) );
}
else {
-HXLINE( 939) inValue = false;
+HXLINE( 995) inValue = false;
}
-HXLINE( 936) if (inValue) {
-HXLINE( 936) _g->push(v);
+HXLINE( 992) if (inValue) {
+HXLINE( 992) _g->push(v);
}
}
}
-HXDLIN( 936) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 936) {
-HXLINE( 936) int _g3 = 0;
-HXDLIN( 936) int _g4 = _g->length;
-HXDLIN( 936) while((_g3 < _g4)){
-HXLINE( 936) _g3 = (_g3 + 1);
-HXDLIN( 936) int i = (_g3 - 1);
-HXDLIN( 936) {
-HXLINE( 940) ::Dynamic item = _hx_array_unsafe_get(_g,i);
-HXLINE( 936) result->__unsafe_set(i, ::borogove::Command_obj::__alloc( HX_CTX ,_gthis->client,item));
+HXDLIN( 992) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 992) {
+HXLINE( 992) int _g3 = 0;
+HXDLIN( 992) int _g4 = _g->length;
+HXDLIN( 992) while((_g3 < _g4)){
+HXLINE( 992) _g3 = (_g3 + 1);
+HXDLIN( 992) int i = (_g3 - 1);
+HXDLIN( 992) {
+HXLINE( 996) ::Dynamic item = _hx_array_unsafe_get(_g,i);
+HXLINE( 992) result->__unsafe_set(i, ::borogove::Command_obj::__alloc( HX_CTX ,_gthis->client,item));
}
}
}
-HXDLIN( 936) resolve1(result);
+HXDLIN( 992) resolve1(result);
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_932_commands)
-HXLINE( 933) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,jid->asString(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
-HXLINE( 934) itemsGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,jid,itemsGet)));
-HXLINE( 942) _gthis->client->sendQuery(itemsGet);
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_988_commands)
+HXLINE( 989) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,jid->asString(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
+HXLINE( 990) itemsGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,jid,itemsGet)));
+HXLINE( 998) _gthis->client->sendQuery(itemsGet);
}
HX_END_LOCAL_FUNC2((void))
-HXLINE( 932) ::borogove::JID jid = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 932) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,jid)));
-HXDLIN( 932) result->__unsafe_set(i,inValue);
+HXLINE( 988) ::borogove::JID jid = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 988) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,jid)));
+HXDLIN( 988) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 932) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_2()),null());
+HXDLIN( 988) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_2()),null());
}
@@ -2105,34 +2316,34 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->commands(), :
::Array< ::Dynamic> Chat_obj::commandJids(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_946_commandJids)
-HXLINE( 947) ::Array< ::Dynamic> jids = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 948) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId);
-HXLINE( 949) {
-HXLINE( 949) ::Dynamic _g = ::borogove::Caps_obj::withFeature(this->getCaps(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
-HXDLIN( 949) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 949) ::String resource = ( (::String)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
-HXLINE( 950) ::borogove::JID _hx_tmp;
-HXDLIN( 950) if (::hx::IsNull( resource )) {
-HXLINE( 950) _hx_tmp = jid;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1002_commandJids)
+HXLINE(1003) ::Array< ::Dynamic> jids = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1004) ::borogove::JID jid = ::borogove::JID_obj::parse(this->chatId);
+HXLINE(1005) {
+HXLINE(1005) ::Dynamic _g = ::borogove::Caps_obj::withFeature(this->getCaps(),HX_("http://jabber.org/protocol/commands",3c,af,11,6d));
+HXDLIN(1005) while(( (bool)(_g->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1005) ::String resource = ( (::String)(_g->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
+HXLINE(1006) ::borogove::JID _hx_tmp;
+HXDLIN(1006) if (::hx::IsNull( resource )) {
+HXLINE(1006) _hx_tmp = jid;
}
else {
-HXLINE( 950) _hx_tmp = jid->withResource(resource);
+HXLINE(1006) _hx_tmp = jid->withResource(resource);
}
-HXDLIN( 950) jids->push(_hx_tmp);
+HXDLIN(1006) jids->push(_hx_tmp);
}
}
-HXLINE( 952) bool _hx_tmp1;
-HXDLIN( 952) if ((jids->length < 1)) {
-HXLINE( 952) _hx_tmp1 = jid->isDomain();
+HXLINE(1008) bool _hx_tmp1;
+HXDLIN(1008) if ((jids->length < 1)) {
+HXLINE(1008) _hx_tmp1 = jid->isDomain();
}
else {
-HXLINE( 952) _hx_tmp1 = false;
+HXLINE(1008) _hx_tmp1 = false;
}
-HXDLIN( 952) if (_hx_tmp1) {
-HXLINE( 953) jids->push(jid);
+HXDLIN(1008) if (_hx_tmp1) {
+HXLINE(1009) jids->push(jid);
}
-HXLINE( 955) return jids;
+HXLINE(1011) return jids;
}
@@ -2141,69 +2352,69 @@ HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,commandJids,return )
::Dynamic Chat_obj::invitedBy(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
::borogove::Member _hx_run(::Array< ::Dynamic> result){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_977_invitedBy)
-HXLINE( 977) if (::hx::IsNotNull( result->__get(0).StaticCast< ::borogove::Member >() )) {
-HXLINE( 977) return result->__get(0).StaticCast< ::borogove::Member >();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1033_invitedBy)
+HXLINE(1033) if (::hx::IsNotNull( result->__get(0).StaticCast< ::borogove::Member >() )) {
+HXLINE(1033) return result->__get(0).StaticCast< ::borogove::Member >();
}
else {
-HXLINE( 977) return null();
+HXLINE(1033) return null();
}
-HXDLIN( 977) return null();
+HXDLIN(1033) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_961_invitedBy)
-HXLINE( 962) ::Array< ::Dynamic> inviteEls = this->invites();
-HXLINE( 963) if ((inviteEls->length < 1)) {
-HXLINE( 963) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1017_invitedBy)
+HXLINE(1018) ::Array< ::Dynamic> inviteEls = this->invites();
+HXLINE(1019) if ((inviteEls->length < 1)) {
+HXLINE(1019) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 965) ::borogove::JID inviteFrom = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(inviteEls->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 966) ::String bare = inviteFrom->asBare()->asString();
-HXLINE( 967) ::borogove::Chat maybeChannel = this->client->getChat(bare);
-HXLINE( 968) if (::hx::IsNotNull( maybeChannel )) {
-HXLINE( 970) if (::hx::IsNotNull( ::borogove::_Util::Util_Fields__obj::downcast(maybeChannel,::hx::ClassOf< ::borogove::Channel >()) )) {
+HXLINE(1021) ::borogove::JID inviteFrom = ::borogove::JID_obj::parse(inviteEls->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE(1022) ::String bare = inviteFrom->asBare()->asString();
+HXLINE(1023) ::borogove::Chat maybeChannel = this->client->getChat(bare);
+HXLINE(1024) if (::hx::IsNotNull( maybeChannel )) {
+HXLINE(1026) if (::hx::IsNotNull( ::borogove::_Util::Util_Fields__obj::downcast(maybeChannel,::hx::ClassOf< ::borogove::Channel >()) )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::JID,inviteFrom) HXARGC(1)
::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> members){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_972_invitedBy)
-HXLINE( 972) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 972) {
-HXLINE( 972) int _g1 = 0;
-HXDLIN( 972) while((_g1 < members->length)){
-HXLINE( 972) ::borogove::Member v = members->__get(_g1).StaticCast< ::borogove::Member >();
-HXDLIN( 972) _g1 = (_g1 + 1);
-HXDLIN( 972) if ((v->displayName == inviteFrom->resource)) {
-HXLINE( 972) _g->push(v);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1028_invitedBy)
+HXLINE(1028) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1028) {
+HXLINE(1028) int _g1 = 0;
+HXDLIN(1028) while((_g1 < members->length)){
+HXLINE(1028) ::borogove::Member v = members->__get(_g1).StaticCast< ::borogove::Member >();
+HXDLIN(1028) _g1 = (_g1 + 1);
+HXDLIN(1028) if ((v->displayName == inviteFrom->resource)) {
+HXLINE(1028) _g->push(v);
}
}
}
-HXDLIN( 972) return _g;
+HXDLIN(1028) return _g;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::borogove::Member _hx_run(::Array< ::Dynamic> result){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_973_invitedBy)
-HXLINE( 973) if ((result->length > 0)) {
-HXLINE( 973) return result->__get(0).StaticCast< ::borogove::Member >();
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1029_invitedBy)
+HXLINE(1029) if ((result->length > 0)) {
+HXLINE(1029) return result->__get(0).StaticCast< ::borogove::Member >();
}
else {
-HXLINE( 973) return null();
+HXLINE(1029) return null();
}
-HXDLIN( 973) return null();
+HXDLIN(1029) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 971) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->members(), ::Dynamic(new _hx_Closure_0(inviteFrom)),null()), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE(1027) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->members(), ::Dynamic(new _hx_Closure_0(inviteFrom)),null()), ::Dynamic(new _hx_Closure_1()),null());
}
}
-HXLINE( 977) ::borogove::Chat _hx_tmp;
-HXDLIN( 977) if (::hx::IsNotNull( maybeChannel )) {
-HXLINE( 977) _hx_tmp = maybeChannel;
+HXLINE(1033) ::borogove::Chat _hx_tmp;
+HXDLIN(1033) if (::hx::IsNotNull( maybeChannel )) {
+HXLINE(1033) _hx_tmp = maybeChannel;
}
else {
-HXLINE( 977) _hx_tmp = this->client->getDirectChat(bare,null());
+HXLINE(1033) _hx_tmp = this->client->getDirectChat(bare,null());
}
-HXDLIN( 977) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,bare)), ::Dynamic(new _hx_Closure_2()),null());
+HXDLIN(1033) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,bare)), ::Dynamic(new _hx_Closure_2()),null());
}
@@ -2251,8 +2462,8 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->invitedBy(),
::Array< ::Dynamic> Chat_obj::invites(){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_981_invites)
-HXDLIN( 981) return this->extensions->allTags(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1037_invites)
+HXDLIN(1037) return this->extensions->allTags(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
}
@@ -2261,45 +2472,45 @@ HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,invites,return )
::Dynamic Chat_obj::recomputeUnread(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis) HXARGC(1)
void _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_990_recomputeUnread)
-HXLINE( 991) int i = messages->length;
-HXLINE( 992) while(true){
-HXLINE( 992) i = (i - 1);
-HXDLIN( 992) if (!((i >= 0))) {
-HXLINE( 992) goto _hx_goto_142;
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1046_recomputeUnread)
+HXLINE(1047) int i = messages->length;
+HXLINE(1048) while(true){
+HXLINE(1048) i = (i - 1);
+HXDLIN(1048) if (!((i >= 0))) {
+HXLINE(1048) goto _hx_goto_149;
}
-HXLINE( 993) bool _hx_tmp;
-HXDLIN( 993) if ((messages->__get(i).StaticCast< ::borogove::ChatMessage >()->serverId != _gthis->readUpToId)) {
-HXLINE( 993) _hx_tmp = !(messages->__get(i).StaticCast< ::borogove::ChatMessage >()->isIncoming());
+HXLINE(1049) bool _hx_tmp;
+HXDLIN(1049) if ((messages->__get(i).StaticCast< ::borogove::ChatMessage >()->serverId != _gthis->readUpToId)) {
+HXLINE(1049) _hx_tmp = !(messages->__get(i).StaticCast< ::borogove::ChatMessage >()->isIncoming());
}
else {
-HXLINE( 993) _hx_tmp = true;
+HXLINE(1049) _hx_tmp = true;
}
-HXDLIN( 993) if (_hx_tmp) {
-HXLINE( 993) goto _hx_goto_142;
+HXDLIN(1049) if (_hx_tmp) {
+HXLINE(1049) goto _hx_goto_149;
}
}
- _hx_goto_142:;
-HXLINE( 995) _gthis->setUnreadCount((messages->length - (i + 1)));
+ _hx_goto_149:;
+HXLINE(1051) _gthis->setUnreadCount((messages->length - (i + 1)));
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_984_recomputeUnread)
-HXDLIN( 984) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 985) bool _hx_tmp;
-HXDLIN( 985) if (::hx::IsNotNull( this->lastMessage )) {
-HXLINE( 985) _hx_tmp = (this->lastMessage->serverId == this->readUpToId);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1040_recomputeUnread)
+HXDLIN(1040) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1041) bool _hx_tmp;
+HXDLIN(1041) if (::hx::IsNotNull( this->lastMessage )) {
+HXLINE(1041) _hx_tmp = (this->lastMessage->serverId == this->readUpToId);
}
else {
-HXLINE( 985) _hx_tmp = false;
+HXLINE(1041) _hx_tmp = false;
}
-HXDLIN( 985) if (_hx_tmp) {
-HXLINE( 986) this->setUnreadCount(0);
-HXLINE( 987) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXDLIN(1041) if (_hx_tmp) {
+HXLINE(1042) this->setUnreadCount(0);
+HXLINE(1043) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 990) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN( 990) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN( 990) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp1,_hx_tmp2,this->chatId,null()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE(1046) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1046) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(1046) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp1,_hx_tmp2,this->chatId,null()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
@@ -2307,26 +2518,26 @@ HX_DEFINE_DYNAMIC_FUNC0(Chat_obj,recomputeUnread,return )
::Dynamic Chat_obj::markReadUpToId(::String upTo,::String upToBy,::hx::Null< bool > __o_recompute){
bool recompute = __o_recompute.Default(true);
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1000_markReadUpToId)
-HXLINE(1001) if (::hx::IsNull( upTo )) {
-HXLINE(1001) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1056_markReadUpToId)
+HXLINE(1057) if (::hx::IsNull( upTo )) {
+HXLINE(1057) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
}
-HXLINE(1002) if ((this->readUpToId == upTo)) {
-HXLINE(1003) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+HXLINE(1058) if ((this->readUpToId == upTo)) {
+HXLINE(1059) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
}
-HXLINE(1006) this->readUpToId = upTo;
-HXLINE(1007) this->readUpToBy = upToBy;
-HXLINE(1008) if (recompute) {
-HXLINE(1008) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1008) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1062) this->readUpToId = upTo;
+HXLINE(1063) this->readUpToBy = upToBy;
+HXLINE(1064) if (recompute) {
+HXLINE(1064) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1064) ::borogove::Persistence_obj::storeChats(_hx_tmp,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
-HXLINE(1009) if (recompute) {
-HXLINE(1009) return this->recomputeUnread();
+HXLINE(1065) if (recompute) {
+HXLINE(1065) return this->recomputeUnread();
}
else {
-HXLINE(1009) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE(1065) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXDLIN(1009) return null();
+HXDLIN(1065) return null();
}
@@ -2335,77 +2546,85 @@ HX_DEFINE_DYNAMIC_FUNC3(Chat_obj,markReadUpToId,return )
::Dynamic Chat_obj::markReadUpToMessage( ::borogove::ChatMessage message){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Chat,_gthis, ::borogove::ChatMessage,message) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage readMessage){
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1023_markReadUpToMessage)
-HXLINE(1024) bool _hx_tmp;
-HXDLIN(1024) if (::hx::IsNotNull( readMessage )) {
-HXLINE(1024) _hx_tmp = (message->sortId <= readMessage->sortId);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1082_markReadUpToMessage)
+HXLINE(1083) bool _hx_tmp;
+HXDLIN(1083) if (::hx::IsNotNull( readMessage )) {
+HXLINE(1083) _hx_tmp = (message->sortId <= readMessage->sortId);
}
else {
-HXLINE(1024) _hx_tmp = false;
+HXLINE(1083) _hx_tmp = false;
}
-HXDLIN(1024) if (_hx_tmp) {
-HXLINE(1025) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+HXDLIN(1083) if (_hx_tmp) {
+HXLINE(1084) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
}
-HXLINE(1028) return _gthis->markReadUpToId(message->serverId,message->serverIdBy,null());
+HXLINE(1087) return _gthis->markReadUpToId(message->serverId,message->serverIdBy,null());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1012_markReadUpToMessage)
-HXDLIN(1012) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1013) bool _hx_tmp;
-HXDLIN(1013) if (::hx::IsNotNull( message->serverId )) {
-HXLINE(1013) ::String _hx_tmp1 = message->chatId();
-HXDLIN(1013) _hx_tmp = (_hx_tmp1 != this->chatId);
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1068_markReadUpToMessage)
+HXDLIN(1068) ::borogove::Chat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1069) bool _hx_tmp;
+HXDLIN(1069) if (::hx::IsNotNull( message->serverId )) {
+HXLINE(1069) ::String _hx_tmp1 = message->chatId();
+HXDLIN(1069) _hx_tmp = (_hx_tmp1 != this->chatId);
}
else {
-HXLINE(1013) _hx_tmp = true;
+HXLINE(1069) _hx_tmp = true;
}
-HXDLIN(1013) if (_hx_tmp) {
-HXLINE(1013) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+HXDLIN(1069) if (_hx_tmp) {
+HXLINE(1069) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
}
-HXLINE(1014) if ((this->readUpToId == message->serverId)) {
-HXLINE(1015) bool _hx_tmp2;
-HXDLIN(1015) if (::hx::IsNotNull( this->lastMessage )) {
-HXLINE(1015) _hx_tmp2 = (this->lastMessage->serverId == this->readUpToId);
+HXLINE(1070) if ((this->readUpToId == message->serverId)) {
+HXLINE(1071) bool _hx_tmp2;
+HXDLIN(1071) bool _hx_tmp3;
+HXDLIN(1071) if (::hx::IsNotNull( this->lastMessage )) {
+HXLINE(1071) _hx_tmp3 = (this->lastMessage->serverId == this->readUpToId);
+ }
+ else {
+HXLINE(1071) _hx_tmp3 = false;
+ }
+HXDLIN(1071) if (_hx_tmp3) {
+HXLINE(1071) _hx_tmp2 = (this->unreadCount() > 0);
}
else {
-HXLINE(1015) _hx_tmp2 = false;
+HXLINE(1071) _hx_tmp2 = false;
}
-HXDLIN(1015) if (_hx_tmp2) {
-HXLINE(1015) this->setUnreadCount(0);
+HXDLIN(1071) if (_hx_tmp2) {
+HXLINE(1072) this->setUnreadCount(0);
+HXLINE(1073) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
-HXLINE(1016) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
+HXLINE(1075) return ::thenshim::_Promise::Promise_Impl__obj::reject(null());
}
-HXLINE(1019) if (::hx::IsNull( this->readUpToId )) {
-HXLINE(1020) return this->markReadUpToId(message->serverId,message->serverIdBy,null());
+HXLINE(1078) if (::hx::IsNull( this->readUpToId )) {
+HXLINE(1079) return this->markReadUpToId(message->serverId,message->serverIdBy,null());
}
-HXLINE(1023) return ::thenshim::_Promise::Promise_Impl__obj::then(this->readUpTo(), ::Dynamic(new _hx_Closure_0(_gthis,message)),null());
+HXLINE(1082) return ::thenshim::_Promise::Promise_Impl__obj::then(this->readUpTo(), ::Dynamic(new _hx_Closure_0(_gthis,message)),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Chat_obj,markReadUpToMessage,return )
void Chat_obj::publishMds(){
- HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1033_publishMds)
-HXDLIN(1033) ::borogove::Client _hx_tmp = this->client;
-HXLINE(1034) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))))->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb))))->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("id",db,5b,00,00),this->chatId)))->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb))))->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_9cc1265c56ba593e_1092_publishMds)
+HXDLIN(1092) ::borogove::Client _hx_tmp = this->client;
+HXLINE(1093) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),this->chatId)),null())->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb))),null())->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("by",d7,55,00,00),this->readUpToBy)
->setFixed(1,HX_("id",db,5b,00,00),this->readUpToId)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))))->up()->up()->up();
-HXLINE(1033) _hx_tmp->publishWithOptions(_hx_tmp1, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))),null())->up()->up()->up();
+HXLINE(1092) _hx_tmp->publishWithOptions(_hx_tmp1, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))))->textTag(HX_("value",71,7f,b8,31),HX_("max",a4,0a,53,00),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#send_last_published_item",b6,21,d2,0a))))->textTag(HX_("value",71,7f,b8,31),HX_("never",8c,3e,30,99),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))))->textTag(HX_("value",71,7f,b8,31),HX_("whitelist",87,6f,95,29),null())->up());
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("max",a4,0a,53,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#send_last_published_item",b6,21,d2,0a))),null())->textTag(HX_("value",71,7f,b8,31),HX_("never",8c,3e,30,99),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),HX_("whitelist",87,6f,95,29),null(),null())->up());
}
@@ -2444,8 +2663,8 @@ void Chat_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(activeThread,"activeThread");
HX_MARK_MEMBER_NAME(notificationSettings,"notificationSettings");
HX_MARK_MEMBER_NAME(outbox,"outbox");
- HX_MARK_MEMBER_NAME(_encryptionMode,"_encryptionMode");
HX_MARK_MEMBER_NAME(omemoContactDeviceIDs,"omemoContactDeviceIDs");
+ HX_MARK_MEMBER_NAME(omemoDeviceListRefreshed,"omemoDeviceListRefreshed");
::borogove::EventEmitter_obj::__Mark(HX_MARK_ARG);
HX_MARK_END_CLASS();
}
@@ -2477,8 +2696,8 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(activeThread,"activeThread");
HX_VISIT_MEMBER_NAME(notificationSettings,"notificationSettings");
HX_VISIT_MEMBER_NAME(outbox,"outbox");
- HX_VISIT_MEMBER_NAME(_encryptionMode,"_encryptionMode");
HX_VISIT_MEMBER_NAME(omemoContactDeviceIDs,"omemoContactDeviceIDs");
+ HX_VISIT_MEMBER_NAME(omemoDeviceListRefreshed,"omemoDeviceListRefreshed");
::borogove::EventEmitter_obj::__Visit(HX_VISIT_ARG);
}
@@ -2512,6 +2731,7 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"unblock") ) { return ::hx::Val( unblock_dyn() ); }
if (HX_FIELD_EQ(inName,"preview") ) { return ::hx::Val( preview_dyn() ); }
if (HX_FIELD_EQ(inName,"getTags") ) { return ::hx::Val( getTags_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setTags") ) { return ::hx::Val( setTags_dyn() ); }
if (HX_FIELD_EQ(inName,"getCaps") ) { return ::hx::Val( getCaps_dyn() ); }
if (HX_FIELD_EQ(inName,"syncing") ) { return ::hx::Val( syncing_dyn() ); }
if (HX_FIELD_EQ(inName,"canSend") ) { return ::hx::Val( canSend_dyn() ); }
@@ -2554,6 +2774,7 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"sendMessage") ) { return ::hx::Val( sendMessage_dyn() ); }
if (HX_FIELD_EQ(inName,"addReaction") ) { return ::hx::Val( addReaction_dyn() ); }
if (HX_FIELD_EQ(inName,"notifyReply") ) { return ::hx::Val( notifyReply_dyn() ); }
+ if (HX_FIELD_EQ(inName,"hasEverRead") ) { return ::hx::Val( hasEverRead_dyn() ); }
if (HX_FIELD_EQ(inName,"unreadCount") ) { return ::hx::Val( unreadCount_dyn() ); }
if (HX_FIELD_EQ(inName,"setPresence") ) { return ::hx::Val( setPresence_dyn() ); }
if (HX_FIELD_EQ(inName,"videoTracks") ) { return ::hx::Val( videoTracks_dyn() ); }
@@ -2581,6 +2802,7 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"sendChatState") ) { return ::hx::Val( sendChatState_dyn() ); }
if (HX_FIELD_EQ(inName,"notifyMention") ) { return ::hx::Val( notifyMention_dyn() ); }
if (HX_FIELD_EQ(inName,"setAvatarSha1") ) { return ::hx::Val( setAvatarSha1_dyn() ); }
+ if (HX_FIELD_EQ(inName,"inMessageSync") ) { return ::hx::Val( inMessageSync_dyn() ); }
break;
case 14:
if (HX_FIELD_EQ(inName,"jingleSessions") ) { return ::hx::Val( jingleSessions ); }
@@ -2593,11 +2815,10 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"setLastMessage") ) { return ::hx::Val( setLastMessage_dyn() ); }
if (HX_FIELD_EQ(inName,"setDisplayName") ) { return ::hx::Val( setDisplayName_dyn() ); }
if (HX_FIELD_EQ(inName,"getDisplayName") ) { return ::hx::Val( getDisplayName_dyn() ); }
- if (HX_FIELD_EQ(inName,"encryptionMode") ) { return ::hx::Val( encryptionMode_dyn() ); }
+ if (HX_FIELD_EQ(inName,"setTags__fromC") ) { return ::hx::Val( setTags__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"markReadUpToId") ) { return ::hx::Val( markReadUpToId_dyn() ); }
break;
case 15:
- if (HX_FIELD_EQ(inName,"_encryptionMode") ) { return ::hx::Val( _encryptionMode ); }
if (HX_FIELD_EQ(inName,"bookmark__fromC") ) { return ::hx::Val( bookmark__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"recomputeUnread") ) { return ::hx::Val( recomputeUnread_dyn() ); }
break;
@@ -2616,7 +2837,6 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
break;
case 18:
if (HX_FIELD_EQ(inName,"lastMessage__fromC") ) { return ::hx::Val( lastMessage__fromC_dyn() ); }
- if (HX_FIELD_EQ(inName,"sendMessage__fromC") ) { return ::hx::Val( sendMessage__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"updateFromBookmark") ) { return ::hx::Val( updateFromBookmark_dyn() ); }
break;
case 19:
@@ -2637,6 +2857,7 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"prepareIncomingMessage") ) { return ::hx::Val( prepareIncomingMessage_dyn() ); }
break;
case 24:
+ if (HX_FIELD_EQ(inName,"omemoDeviceListRefreshed") ) { return ::hx::Val( omemoDeviceListRefreshed ); }
if (HX_FIELD_EQ(inName,"setNotificationsInternal") ) { return ::hx::Val( setNotificationsInternal_dyn() ); }
break;
case 25:
@@ -2688,14 +2909,14 @@ void Chat_obj::__Visit(HX_VISIT_PARAMS)
case 14:
if (HX_FIELD_EQ(inName,"jingleSessions") ) { jingleSessions=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
break;
- case 15:
- if (HX_FIELD_EQ(inName,"_encryptionMode") ) { _encryptionMode=inValue.Cast< int >(); return inValue; }
- break;
case 20:
if (HX_FIELD_EQ(inName,"notificationSettings") ) { notificationSettings=inValue.Cast< ::Dynamic >(); return inValue; }
break;
case 21:
if (HX_FIELD_EQ(inName,"omemoContactDeviceIDs") ) { omemoContactDeviceIDs=inValue.Cast< ::Array< int > >(); return inValue; }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"omemoDeviceListRefreshed") ) { omemoDeviceListRefreshed=inValue.Cast< bool >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -2727,8 +2948,8 @@ void Chat_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("activeThread",30,c9,d4,ee));
outFields->push(HX_("notificationSettings",ee,92,7b,79));
outFields->push(HX_("outbox",3d,6a,76,0c));
- outFields->push(HX_("_encryptionMode",25,22,70,f1));
outFields->push(HX_("omemoContactDeviceIDs",6b,7d,55,9d));
+ outFields->push(HX_("omemoDeviceListRefreshed",1d,31,d5,44));
super::__GetFields(outFields);
};
@@ -2759,8 +2980,8 @@ static ::hx::StorageInfo Chat_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(Chat_obj,activeThread),HX_("activeThread",30,c9,d4,ee)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Chat_obj,notificationSettings),HX_("notificationSettings",ee,92,7b,79)},
{::hx::fsObject /* ::borogove::Outbox */ ,(int)offsetof(Chat_obj,outbox),HX_("outbox",3d,6a,76,0c)},
- {::hx::fsInt,(int)offsetof(Chat_obj,_encryptionMode),HX_("_encryptionMode",25,22,70,f1)},
{::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Chat_obj,omemoContactDeviceIDs),HX_("omemoContactDeviceIDs",6b,7d,55,9d)},
+ {::hx::fsBool,(int)offsetof(Chat_obj,omemoDeviceListRefreshed),HX_("omemoDeviceListRefreshed",1d,31,d5,44)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *Chat_obj_sStaticStorageInfo = 0;
@@ -2798,15 +3019,14 @@ static ::String Chat_obj_sMemberFields[] = {
HX_("activeThread",30,c9,d4,ee),
HX_("notificationSettings",ee,92,7b,79),
HX_("outbox",3d,6a,76,0c),
- HX_("_encryptionMode",25,22,70,f1),
HX_("omemoContactDeviceIDs",6b,7d,55,9d),
+ HX_("omemoDeviceListRefreshed",1d,31,d5,44),
HX_("prepareIncomingMessage",ba,eb,c6,e3),
HX_("getMessagesBefore",a1,f1,44,11),
HX_("getMessagesAfter",3a,43,91,57),
HX_("getMessagesAround",6f,95,16,2d),
HX_("fetchFromSync",3f,23,bd,b2),
HX_("sendMessage",5f,89,1d,24),
- HX_("sendMessage__fromC",fa,60,3a,f3),
HX_("sendMessageStanza",b4,2c,6d,3d),
HX_("markReadUpTo",59,68,2d,ee),
HX_("markReadUpTo__fromC",40,b5,45,b3),
@@ -2842,6 +3062,7 @@ static ::String Chat_obj_sMemberFields[] = {
HX_("updateFromRoster",fe,41,b5,57),
HX_("getPhoto",3c,d8,ca,21),
HX_("getPlaceholder",7d,c6,91,42),
+ HX_("hasEverRead",0e,b3,bc,ca),
HX_("readUpTo",2c,17,a3,75),
HX_("unreadCount",20,18,f1,a0),
HX_("setUnreadCount",9e,53,af,48),
@@ -2850,6 +3071,8 @@ static ::String Chat_obj_sMemberFields[] = {
HX_("setDisplayName",2b,4d,b0,d8),
HX_("getDisplayName",b7,64,90,b8),
HX_("getTags",8f,64,79,1f),
+ HX_("setTags",9b,f5,7a,12),
+ HX_("setTags__fromC",3e,34,75,ea),
HX_("setThreadSubject",00,93,d3,8d),
HX_("setPresence",fd,1b,38,97),
HX_("getCaps",d7,cb,3c,14),
@@ -2858,6 +3081,7 @@ static ::String Chat_obj_sMemberFields[] = {
HX_("isTrusted",2d,35,a5,1a),
HX_("livePresence",47,f9,16,b4),
HX_("syncing",67,fd,26,a7),
+ HX_("inMessageSync",dd,37,ad,3f),
HX_("canAudioCall",64,4a,90,e4),
HX_("canVideoCall",89,1c,93,ea),
HX_("startCall",20,92,ad,fa),
@@ -2867,7 +3091,6 @@ static ::String Chat_obj_sMemberFields[] = {
HX_("callStatus",70,be,2b,31),
HX_("dtmf",e9,ba,71,42),
HX_("videoTracks",63,c2,24,be),
- HX_("encryptionMode",86,d9,0f,a8),
HX_("canSend",78,75,a8,6a),
HX_("canModerate",f3,d3,bd,00),
HX_("invite",c9,f1,db,9f),
@@ -2908,8 +3131,8 @@ void Chat_obj::__register()
void Chat_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_111_boot)
-HXDLIN( 111) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_9cc1265c56ba593e_112_boot)
+HXDLIN( 112) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(43)
->setFixed(0,HX_("getMemberDetails__fromC",a7,ab,54,90), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -2953,11 +3176,11 @@ HXDLIN( 111) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(20,HX_("getMessagesAround__fromC",ea,f6,e1,db), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(21,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(22,HX_("close__fromC",c1,3f,6c,ef), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("setTags__fromC",3e,34,75,ea), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(23,HX_("sendMessage__fromC",fa,60,3a,f3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("markReadUpTo",59,68,2d,ee), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
+ ->setFixed(23,HX_("close__fromC",c1,3f,6c,ef), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(24,HX_("correctMessage",7d,36,c3,f4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
@@ -2969,11 +3192,11 @@ HXDLIN( 111) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(28,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(29,HX_("members",d9,2c,70,1a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("setTags",9b,f5,7a,12), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(30,HX_("getTags",8f,64,79,1f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("members",d9,2c,70,1a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(31,HX_("sendMessage",5f,89,1d,24), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("getTags",8f,64,79,1f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(32,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
diff --git a/Sources/c_borogove/src/borogove/ChatAttachment.cpp b/Sources/c_borogove/src/borogove/ChatAttachment.cpp
index 330cea2..66646bc 100644
--- a/Sources/c_borogove/src/borogove/ChatAttachment.cpp
+++ b/Sources/c_borogove/src/borogove/ChatAttachment.cpp
@@ -1,6 +1,12 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED__HaxeCBridge_HaxeArray_Impl_
+#include <_HaxeCBridge/HaxeArray_Impl_.h>
+#endif
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
@@ -10,30 +16,57 @@
#ifndef INCLUDED_borogove_Hash
#include <borogove/Hash.h>
#endif
+#ifndef INCLUDED_borogove_Persistence
+#include <borogove/Persistence.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
#ifndef INCLUDED_cpp_Int64Map
#include <cpp/Int64Map.h>
#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
+#ifndef INCLUDED_haxe_crypto_Base64
+#include <haxe/crypto/Base64.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_eade94af8cfe154e_85_new,"borogove.ChatAttachment","new",0x0991249a,"borogove.ChatAttachment.new","borogove/ChatMessage.hx",85,0xe4a3cadd)
+HX_DEFINE_STACK_FRAME(_hx_pos_eade94af8cfe154e_91_new,"borogove.ChatAttachment","new",0x0991249a,"borogove.ChatAttachment.new","borogove/ChatMessage.hx",91,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_426_cachedAt__fromC,"borogove.ChatAttachment","cachedAt__fromC",0x57a326de,"borogove.ChatAttachment.cachedAt__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_478_name__fromC,"borogove.ChatAttachment","name__fromC",0x1dc9cbc8,"borogove.ChatAttachment.name__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_478_mime__fromC,"borogove.ChatAttachment","mime__fromC",0x9f3f1f7f,"borogove.ChatAttachment.mime__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_478_size__fromC,"borogove.ChatAttachment","size__fromC",0x5ab7f812,"borogove.ChatAttachment.size__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_452_uris__fromC,"borogove.ChatAttachment","uris__fromC",0x3dcd4a0c,"borogove.ChatAttachment.uris__fromC","HaxeCBridge.hx",452,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_824d5e0f7ace9ae5_452_hashes__fromC,"borogove.ChatAttachment","hashes__fromC",0xa2cd28f7,"borogove.ChatAttachment.hashes__fromC","HaxeCBridge.hx",452,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_103_create,"borogove.ChatAttachment","create",0xc334f302,"borogove.ChatAttachment.create","borogove/ChatMessage.hx",103,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_57_boot,"borogove.ChatAttachment","boot",0x4d87e2b8,"borogove.ChatAttachment.boot","borogove/ChatMessage.hx",57,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_117_lookup,"borogove.ChatAttachment","lookup",0xa8db2e80,"borogove.ChatAttachment.lookup","borogove/ChatMessage.hx",117,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_114_lookup,"borogove.ChatAttachment","lookup",0xa8db2e80,"borogove.ChatAttachment.lookup","borogove/ChatMessage.hx",114,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_127_lookupHashes,"borogove.ChatAttachment","lookupHashes",0xd5101a5c,"borogove.ChatAttachment.lookupHashes","borogove/ChatMessage.hx",127,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_123_lookupHashes,"borogove.ChatAttachment","lookupHashes",0xd5101a5c,"borogove.ChatAttachment.lookupHashes","borogove/ChatMessage.hx",123,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_135_sims,"borogove.ChatAttachment","sims",0x58bff402,"borogove.ChatAttachment.sims","borogove/ChatMessage.hx",135,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_109_create,"borogove.ChatAttachment","create",0xc334f302,"borogove.ChatAttachment.create","borogove/ChatMessage.hx",109,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_eade94af8cfe154e_58_boot,"borogove.ChatAttachment","boot",0x4d87e2b8,"borogove.ChatAttachment.boot","borogove/ChatMessage.hx",58,0xe4a3cadd)
namespace borogove{
void ChatAttachment_obj::__construct(::String name,::String mime, ::Dynamic size,::Array< ::String > uris,::Array< ::Dynamic> hashes){
- HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_85_new)
-HXLINE( 86) this->name = name;
-HXLINE( 87) this->mime = mime;
-HXLINE( 88) this->size = size;
-HXLINE( 89) this->uris = uris;
-HXLINE( 90) this->hashes = hashes;
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_91_new)
+HXLINE( 92) this->name = name;
+HXLINE( 93) this->mime = mime;
+HXLINE( 94) this->size = size;
+HXLINE( 95) this->uris = uris;
+HXLINE( 96) this->hashes = hashes;
}
Dynamic ChatAttachment_obj::__CreateEmpty() { return new ChatAttachment_obj; }
@@ -51,6 +84,14 @@ bool ChatAttachment_obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x7dd0539c;
}
+::String ChatAttachment_obj::cachedAt__fromC(){
+ HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_426_cachedAt__fromC)
+HXDLIN( 426) return this->cachedAt;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatAttachment_obj,cachedAt__fromC,return )
+
::String ChatAttachment_obj::name__fromC(){
HX_STACKFRAME(&_hx_pos_824d5e0f7ace9ae5_478_name__fromC)
HXDLIN( 478) return this->name;
@@ -95,7 +136,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
HXDLIN( 452) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),el));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
@@ -114,7 +155,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
HXDLIN( 452) if (::hx::IsNull( store1 )) {
-HXLINE(2390) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),arr));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
@@ -134,61 +175,113 @@ size_t ChatAttachment_obj::hashes__fromC(void*** outPtr){
HXDLIN( 452) ::Array< ::Dynamic> x = this->hashes;
HXDLIN( 452) if (::hx::IsNotNull( outPtr )) {
HXDLIN( 452) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 452) ::Array< ::Dynamic> x1 = x;
-HXDLIN( 452) {
-HXDLIN( 452) int _g = 0;
-HXDLIN( 452) while((_g < x1->length)){
-HXDLIN( 452) ::borogove::Hash el = x1->__get(_g).StaticCast< ::borogove::Hash >();
-HXDLIN( 452) _g = (_g + 1);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic haxeObject = el;
-HXDLIN( 452) void* ptr = haxeObject.mPtr;
-HXDLIN( 452) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 452) if (::hx::IsNull( store )) {
-HXDLIN( 452) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 452) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
+HXDLIN( 452) _hx_tmp->set_ref(::_HaxeCBridge::HaxeArray_Impl__obj::fromNullableArrayT(x));
+ }
+HXDLIN( 452) return ( (size_t)(x->length) );
+ }
+
+
+::Dynamic ChatAttachment_obj::lookup(::Dynamic persistence){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatAttachment,_gthis) HXARGC(1)
+ ::borogove::ChatAttachment _hx_run(::String id){
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_117_lookup)
+HXLINE( 118) _gthis->cachedAt = id;
+HXLINE( 119) return _gthis;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_114_lookup)
+HXDLIN( 114) ::borogove::ChatAttachment _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 115) if (::hx::IsNotNull( this->cachedAt )) {
+HXLINE( 115) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::hx::ObjectPtr<OBJ_>(this));
+ }
+HXLINE( 117) return ::thenshim::_Promise::Promise_Impl__obj::then(this->lookupHashes(persistence,this->hashes->copy()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatAttachment_obj,lookup,return )
+
+::Dynamic ChatAttachment_obj::lookupHashes(::Dynamic persistence,::Array< ::Dynamic> hashes){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatAttachment,_gthis,::Array< ::Dynamic>,hashes,::Dynamic,persistence) HXARGC(1)
+ ::Dynamic _hx_run(::String id){
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_127_lookupHashes)
+HXLINE( 128) if (::hx::IsNull( id )) {
+HXLINE( 128) return _gthis->lookupHashes(persistence,hashes);
}
-HXDLIN( 452) void** ptr1 = (void**)x1->getBase();
-HXDLIN( 452) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 452) if (::hx::IsNull( store1 )) {
-HXDLIN( 452) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),x1));
-HXDLIN( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 452) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
+HXLINE( 130) return ::thenshim::_Promise::Promise_Impl__obj::resolve(id);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_123_lookupHashes)
+HXDLIN( 123) ::borogove::ChatAttachment _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 124) ::borogove::Hash hash = hashes->shift().StaticCast< ::borogove::Hash >();
+HXLINE( 125) if (::hx::IsNull( hash )) {
+HXLINE( 125) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE( 127) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(persistence,hash), ::Dynamic(new _hx_Closure_0(_gthis,hashes,persistence)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(ChatAttachment_obj,lookupHashes,return )
+
+ ::borogove::Stanza ChatAttachment_obj::sims(){
+ HX_GC_STACKFRAME(&_hx_pos_eade94af8cfe154e_135_sims)
+HXLINE( 136) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("reference",cb,07,c5,5a), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("data",2a,56,63,42))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reference:0",a5,00,10,5d))),null())->tag(HX_("media-sharing",33,1c,0a,3d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sims:1",4f,1c,49,62))),null());
+HXLINE( 139) stanza->tag(HX_("file",7c,ce,bb,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37))),null());
+HXLINE( 140) if (::hx::IsNotNull( this->name )) {
+HXLINE( 140) stanza->textTag(HX_("name",4b,72,ff,48),this->name,null(),null());
+ }
+HXLINE( 141) stanza->textTag(HX_("media-type",03,ce,a4,7d),this->mime,null(),null());
+HXLINE( 142) if (::hx::IsNotNull( this->size )) {
+HXLINE( 142) stanza->textTag(HX_("size",c1,a0,53,4c),::Std_obj::string(this->size),null(),null());
+ }
+HXLINE( 143) {
+HXLINE( 143) int _g = 0;
+HXDLIN( 143) ::Array< ::Dynamic> _g1 = this->hashes;
+HXDLIN( 143) while((_g < _g1->length)){
+HXLINE( 143) ::borogove::Hash hash = _g1->__get(_g).StaticCast< ::borogove::Hash >();
+HXDLIN( 143) _g = (_g + 1);
+HXLINE( 144) ::String _hx_tmp = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(hash->hash),null());
+HXDLIN( 144) stanza->textTag(HX_("hash",ce,2f,08,45),_hx_tmp, ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("algo",d3,ff,6f,40),hash->algorithm)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hashes:2",90,ad,87,c7))),null());
}
-HXDLIN( 452) _hx_tmp->set_ref(ptr1);
}
-HXDLIN( 452) return ( (size_t)(x->length) );
+HXLINE( 146) stanza->up();
+HXLINE( 148) stanza->tag(HX_("sources",38,0f,49,b9),null(),null());
+HXLINE( 149) {
+HXLINE( 149) int _g2 = 0;
+HXDLIN( 149) ::Array< ::String > _g3 = this->uris;
+HXDLIN( 149) while((_g2 < _g3->length)){
+HXLINE( 149) ::String uri = _g3->__get(_g2);
+HXDLIN( 149) _g2 = (_g2 + 1);
+HXLINE( 150) stanza->tag(HX_("reference",cb,07,c5,5a), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("uri",6c,2b,59,00),uri)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("data",2a,56,63,42))
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reference:0",a5,00,10,5d))),null())->up();
+ }
+ }
+HXLINE( 153) stanza->up()->up()->up();
+HXLINE( 155) return stanza;
}
+HX_DEFINE_DYNAMIC_FUNC0(ChatAttachment_obj,sims,return )
+
::borogove::ChatAttachment ChatAttachment_obj::create(::String name,::String mime,int size,::String uri){
- HX_GC_STACKFRAME(&_hx_pos_eade94af8cfe154e_103_create)
-HXDLIN( 103) ::Dynamic _hx_tmp;
-HXDLIN( 103) if ((size > 0)) {
-HXDLIN( 103) _hx_tmp = size;
+ HX_GC_STACKFRAME(&_hx_pos_eade94af8cfe154e_109_create)
+HXDLIN( 109) ::Dynamic _hx_tmp;
+HXDLIN( 109) if ((size > 0)) {
+HXDLIN( 109) _hx_tmp = size;
}
else {
-HXDLIN( 103) _hx_tmp = null();
+HXDLIN( 109) _hx_tmp = null();
}
-HXDLIN( 103) return ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp,::Array_obj< ::String >::__new(1)->init(0,uri),::Array_obj< ::Dynamic>::__new(0));
+HXDLIN( 109) return ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp,::Array_obj< ::String >::__new(1)->init(0,uri),::Array_obj< ::Dynamic>::__new(0));
}
@@ -215,6 +308,7 @@ ChatAttachment_obj::ChatAttachment_obj()
void ChatAttachment_obj::__Mark(HX_MARK_PARAMS)
{
HX_MARK_BEGIN_CLASS(ChatAttachment);
+ HX_MARK_MEMBER_NAME(cachedAt,"cachedAt");
HX_MARK_MEMBER_NAME(name,"name");
HX_MARK_MEMBER_NAME(mime,"mime");
HX_MARK_MEMBER_NAME(size,"size");
@@ -225,6 +319,7 @@ void ChatAttachment_obj::__Mark(HX_MARK_PARAMS)
void ChatAttachment_obj::__Visit(HX_VISIT_PARAMS)
{
+ HX_VISIT_MEMBER_NAME(cachedAt,"cachedAt");
HX_VISIT_MEMBER_NAME(name,"name");
HX_VISIT_MEMBER_NAME(mime,"mime");
HX_VISIT_MEMBER_NAME(size,"size");
@@ -240,14 +335,25 @@ void ChatAttachment_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"mime") ) { return ::hx::Val( mime ); }
if (HX_FIELD_EQ(inName,"size") ) { return ::hx::Val( size ); }
if (HX_FIELD_EQ(inName,"uris") ) { return ::hx::Val( uris ); }
+ if (HX_FIELD_EQ(inName,"sims") ) { return ::hx::Val( sims_dyn() ); }
break;
case 6:
if (HX_FIELD_EQ(inName,"hashes") ) { return ::hx::Val( hashes ); }
+ if (HX_FIELD_EQ(inName,"lookup") ) { return ::hx::Val( lookup_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"cachedAt") ) { return ::hx::Val( cachedAt ); }
break;
case 11:
if (HX_FIELD_EQ(inName,"name__fromC") ) { return ::hx::Val( name__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"mime__fromC") ) { return ::hx::Val( mime__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"size__fromC") ) { return ::hx::Val( size__fromC_dyn() ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"lookupHashes") ) { return ::hx::Val( lookupHashes_dyn() ); }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"cachedAt__fromC") ) { return ::hx::Val( cachedAt__fromC_dyn() ); }
}
return super::__Field(inName,inCallProp);
}
@@ -272,12 +378,16 @@ bool ChatAttachment_obj::__GetStatic(const ::String &inName, Dynamic &outValue,
break;
case 6:
if (HX_FIELD_EQ(inName,"hashes") ) { hashes=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"cachedAt") ) { cachedAt=inValue.Cast< ::String >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
void ChatAttachment_obj::__GetFields(Array< ::String> &outFields)
{
+ outFields->push(HX_("cachedAt",75,d5,33,9a));
outFields->push(HX_("name",4b,72,ff,48));
outFields->push(HX_("mime",b4,4d,5c,48));
outFields->push(HX_("size",c1,a0,53,4c));
@@ -288,6 +398,7 @@ void ChatAttachment_obj::__GetFields(Array< ::String> &outFields)
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo ChatAttachment_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(ChatAttachment_obj,cachedAt),HX_("cachedAt",75,d5,33,9a)},
{::hx::fsString,(int)offsetof(ChatAttachment_obj,name),HX_("name",4b,72,ff,48)},
{::hx::fsString,(int)offsetof(ChatAttachment_obj,mime),HX_("mime",b4,4d,5c,48)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(ChatAttachment_obj,size),HX_("size",c1,a0,53,4c)},
@@ -299,6 +410,8 @@ static ::hx::StaticInfo *ChatAttachment_obj_sStaticStorageInfo = 0;
#endif
static ::String ChatAttachment_obj_sMemberFields[] = {
+ HX_("cachedAt",75,d5,33,9a),
+ HX_("cachedAt__fromC",a4,63,1b,f0),
HX_("name",4b,72,ff,48),
HX_("name__fromC",8e,ad,66,0e),
HX_("mime",b4,4d,5c,48),
@@ -307,6 +420,9 @@ static ::String ChatAttachment_obj_sMemberFields[] = {
HX_("size__fromC",d8,d9,54,4b),
HX_("uris",87,d3,ac,4d),
HX_("hashes",bc,97,4e,bb),
+ HX_("lookup",7a,a2,b5,61),
+ HX_("lookupHashes",d6,c5,b8,6d),
+ HX_("sims",7c,95,53,4c),
::String(null()) };
::hx::Class ChatAttachment_obj::__mClass;
@@ -342,18 +458,20 @@ void ChatAttachment_obj::__register()
void ChatAttachment_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_57_boot)
-HXDLIN( 57) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_eade94af8cfe154e_58_boot)
+HXDLIN( 58) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(6)
->setFixed(0,HX_("mime__fromC",45,01,dc,8f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(1,HX_("hashes__fromC",3d,88,ba,9d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("name__fromC",8e,ad,66,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(2,HX_("cachedAt__fromC",a4,63,1b,f0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(3,HX_("name__fromC",8e,ad,66,0e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("uris__fromC",d2,2b,6a,2e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(4,HX_("uris__fromC",d2,2b,6a,2e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("size__fromC",d8,d9,54,4b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(5,HX_("size__fromC",d8,d9,54,4b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/ChatMessage.cpp b/Sources/c_borogove/src/borogove/ChatMessage.cpp
index b93900c..f794718 100644
--- a/Sources/c_borogove/src/borogove/ChatMessage.cpp
+++ b/Sources/c_borogove/src/borogove/ChatMessage.cpp
@@ -40,12 +40,21 @@
#ifndef INCLUDED_borogove_ChatMessageBuilder
#include <borogove/ChatMessageBuilder.h>
#endif
+#ifndef INCLUDED_borogove_ChatMessageCombiner
+#include <borogove/ChatMessageCombiner.h>
+#endif
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
#ifndef INCLUDED_borogove_EmojiUtil
#include <borogove/EmojiUtil.h>
#endif
#ifndef INCLUDED_borogove_EncryptionInfo
#include <borogove/EncryptionInfo.h>
#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
#ifndef INCLUDED_borogove_Hash
#include <borogove/Hash.h>
#endif
@@ -106,9 +115,6 @@
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
-#endif
#ifndef INCLUDED_haxe_ds_StringMap
#include <haxe/ds/StringMap.h>
#endif
@@ -118,20 +124,27 @@
#ifndef INCLUDED_haxe_io_Encoding
#include <haxe/io/Encoding.h>
#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_20f00185d7354fd9_280_new,"borogove.ChatMessage","new",0x63820ad4,"borogove.ChatMessage.new","borogove/ChatMessage.hx",280,0xe4a3cadd)
+HX_DEFINE_STACK_FRAME(_hx_pos_20f00185d7354fd9_346_new,"borogove.ChatMessage","new",0x63820ad4,"borogove.ChatMessage.new","borogove/ChatMessage.hx",346,0xe4a3cadd)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_localId__fromC,"borogove.ChatMessage","localId__fromC",0x08ebd91f,"borogove.ChatMessage.localId__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_serverId__fromC,"borogove.ChatMessage","serverId__fromC",0x2996d32f,"borogove.ChatMessage.serverId__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_serverIdBy__fromC,"borogove.ChatMessage","serverIdBy__fromC",0xde126f98,"borogove.ChatMessage.serverIdBy__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_type__fromC,"borogove.ChatMessage","type__fromC",0x1bc87773,"borogove.ChatMessage.type__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_timestamp__fromC,"borogove.ChatMessage","timestamp__fromC",0x0b0acf6f,"borogove.ChatMessage.timestamp__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_timeSent__fromC,"borogove.ChatMessage","timeSent__fromC",0x4b6eb388,"borogove.ChatMessage.timeSent__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_timeReceived__fromC,"borogove.ChatMessage","timeReceived__fromC",0xd056b65f,"borogove.ChatMessage.timeReceived__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_senderId__fromC,"borogove.ChatMessage","senderId__fromC",0x731f27fd,"borogove.ChatMessage.senderId__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_426_replyToMessage__fromC,"borogove.ChatMessage","replyToMessage__fromC",0x9a6a4d2b,"borogove.ChatMessage.replyToMessage__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_threadId__fromC,"borogove.ChatMessage","threadId__fromC",0x2157ea48,"borogove.ChatMessage.threadId__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_452_attachments__fromC,"borogove.ChatMessage","attachments__fromC",0x5cad7f55,"borogove.ChatMessage.attachments__fromC","HaxeCBridge.hx",452,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_413_reactionKeys__fromC,"borogove.ChatMessage","reactionKeys__fromC",0x298e4650,"borogove.ChatMessage.reactionKeys__fromC","HaxeCBridge.hx",413,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_192_get_reactionKeys,"borogove.ChatMessage","get_reactionKeys",0xa96ab7d2,"borogove.ChatMessage.get_reactionKeys","borogove/ChatMessage.hx",192,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_199_reactionDetails,"borogove.ChatMessage","reactionDetails",0x6f916c8d,"borogove.ChatMessage.reactionDetails","borogove/ChatMessage.hx",199,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_256_get_reactionKeys,"borogove.ChatMessage","get_reactionKeys",0xa96ab7d2,"borogove.ChatMessage.get_reactionKeys","borogove/ChatMessage.hx",256,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_263_reactionDetails,"borogove.ChatMessage","reactionDetails",0x6f916c8d,"borogove.ChatMessage.reactionDetails","borogove/ChatMessage.hx",263,0xe4a3cadd)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_363_reactionDetails__fromC,"borogove.ChatMessage","reactionDetails__fromC",0x4e695f8c,"borogove.ChatMessage.reactionDetails__fromC","HaxeCBridge.hx",363,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_lang__fromC,"borogove.ChatMessage","lang__fromC",0xda5bf2bf,"borogove.ChatMessage.lang__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_direction__fromC,"borogove.ChatMessage","direction__fromC",0x7f45b126,"borogove.ChatMessage.direction__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -140,154 +153,163 @@ HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_statusText__fromC,"borogove.Ch
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_452_versions__fromC,"borogove.ChatMessage","versions__fromC",0xbcbe8bf2,"borogove.ChatMessage.versions__fromC","HaxeCBridge.hx",452,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_478_encryption__fromC,"borogove.ChatMessage","encryption__fromC",0xe59a97ca,"borogove.ChatMessage.encryption__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_452_linkMetadata__fromC,"borogove.ChatMessage","linkMetadata__fromC",0xedfd4084,"borogove.ChatMessage.linkMetadata__fromC","HaxeCBridge.hx",452,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_323_reply,"borogove.ChatMessage","reply",0x1dcec89e,"borogove.ChatMessage.reply","borogove/ChatMessage.hx",323,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_332_getReplyId,"borogove.ChatMessage","getReplyId",0xd1e4a9bb,"borogove.ChatMessage.getReplyId","borogove/ChatMessage.hx",332,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_338_set_replyToMessage,"borogove.ChatMessage","set_replyToMessage",0xaa5f8a4b,"borogove.ChatMessage.set_replyToMessage","borogove/ChatMessage.hx",338,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_347_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",347,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_348_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",348,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_355_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",355,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_353_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",353,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_357_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",357,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_377_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",377,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_376_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",376,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_390_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",390,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_395_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",395,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_415_body,"borogove.ChatMessage","body",0xa66065ae,"borogove.ChatMessage.body","borogove/ChatMessage.hx",415,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_422_subject,"borogove.ChatMessage","subject",0xc3d68620,"borogove.ChatMessage.subject","borogove/ChatMessage.hx",422,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_429_chatId,"borogove.ChatMessage","chatId",0xa815cadf,"borogove.ChatMessage.chatId","borogove/ChatMessage.hx",429,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_440_account,"borogove.ChatMessage","account",0x3ba88121,"borogove.ChatMessage.account","borogove/ChatMessage.hx",440,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_446_senderMemberStub,"borogove.ChatMessage","senderMemberStub",0x40e9e5c9,"borogove.ChatMessage.senderMemberStub","borogove/ChatMessage.hx",446,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_455_canReplace,"borogove.ChatMessage","canReplace",0x2db45a10,"borogove.ChatMessage.canReplace","borogove/ChatMessage.hx",455,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_465_isIncoming,"borogove.ChatMessage","isIncoming",0x6d0d0efc,"borogove.ChatMessage.isIncoming","borogove/ChatMessage.hx",465,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_472_threadIcon,"borogove.ChatMessage","threadIcon",0x18c4776f,"borogove.ChatMessage.threadIcon","borogove/ChatMessage.hx",472,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_479_moderationReason,"borogove.ChatMessage","moderationReason",0xcb530616,"borogove.ChatMessage.moderationReason","borogove/ChatMessage.hx",479,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_478_moderationReason,"borogove.ChatMessage","moderationReason",0xcb530616,"borogove.ChatMessage.moderationReason","borogove/ChatMessage.hx",478,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_487_callStatus,"borogove.ChatMessage","callStatus",0x08747a7c,"borogove.ChatMessage.callStatus","borogove/ChatMessage.hx",487,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_494_callSid,"borogove.ChatMessage","callSid",0xeea27984,"borogove.ChatMessage.callSid","borogove/ChatMessage.hx",494,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_500_callDuration,"borogove.ChatMessage","callDuration",0x14c9891e,"borogove.ChatMessage.callDuration","borogove/ChatMessage.hx",500,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_524_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",524,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_572_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",572,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_312_fromStanza,"borogove.ChatMessage","fromStanza",0x20841f0b,"borogove.ChatMessage.fromStanza","borogove/ChatMessage.hx",312,0xe4a3cadd)
-HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_114_boot,"borogove.ChatMessage","boot",0xa6606f3e,"borogove.ChatMessage.boot","borogove/ChatMessage.hx",114,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_396_reply,"borogove.ChatMessage","reply",0x1dcec89e,"borogove.ChatMessage.reply","borogove/ChatMessage.hx",396,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_405_getReplyId,"borogove.ChatMessage","getReplyId",0xd1e4a9bb,"borogove.ChatMessage.getReplyId","borogove/ChatMessage.hx",405,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_411_set_replyToMessage,"borogove.ChatMessage","set_replyToMessage",0xaa5f8a4b,"borogove.ChatMessage.set_replyToMessage","borogove/ChatMessage.hx",411,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_420_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",420,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_421_set_reactions,"borogove.ChatMessage","set_reactions",0x1fc2d601,"borogove.ChatMessage.set_reactions","borogove/ChatMessage.hx",421,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_428_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",428,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_426_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",426,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_430_inlineHashReferences,"borogove.ChatMessage","inlineHashReferences",0x3ddc36fb,"borogove.ChatMessage.inlineHashReferences","borogove/ChatMessage.hx",430,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_450_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",450,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_449_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",449,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_463_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",463,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_468_htmlBody,"borogove.ChatMessage","htmlBody",0x6ebf2eb9,"borogove.ChatMessage.htmlBody","borogove/ChatMessage.hx",468,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_488_body,"borogove.ChatMessage","body",0xa66065ae,"borogove.ChatMessage.body","borogove/ChatMessage.hx",488,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_495_subject,"borogove.ChatMessage","subject",0xc3d68620,"borogove.ChatMessage.subject","borogove/ChatMessage.hx",495,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_502_chatId,"borogove.ChatMessage","chatId",0xa815cadf,"borogove.ChatMessage.chatId","borogove/ChatMessage.hx",502,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_513_account,"borogove.ChatMessage","account",0x3ba88121,"borogove.ChatMessage.account","borogove/ChatMessage.hx",513,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_519_senderMemberStub,"borogove.ChatMessage","senderMemberStub",0x40e9e5c9,"borogove.ChatMessage.senderMemberStub","borogove/ChatMessage.hx",519,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_528_canReplace,"borogove.ChatMessage","canReplace",0x2db45a10,"borogove.ChatMessage.canReplace","borogove/ChatMessage.hx",528,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_542_isIncoming,"borogove.ChatMessage","isIncoming",0x6d0d0efc,"borogove.ChatMessage.isIncoming","borogove/ChatMessage.hx",542,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_549_threadIcon,"borogove.ChatMessage","threadIcon",0x18c4776f,"borogove.ChatMessage.threadIcon","borogove/ChatMessage.hx",549,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_556_moderationReason,"borogove.ChatMessage","moderationReason",0xcb530616,"borogove.ChatMessage.moderationReason","borogove/ChatMessage.hx",556,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_555_moderationReason,"borogove.ChatMessage","moderationReason",0xcb530616,"borogove.ChatMessage.moderationReason","borogove/ChatMessage.hx",555,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_564_callStatus,"borogove.ChatMessage","callStatus",0x08747a7c,"borogove.ChatMessage.callStatus","borogove/ChatMessage.hx",564,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_571_callSid,"borogove.ChatMessage","callSid",0xeea27984,"borogove.ChatMessage.callSid","borogove/ChatMessage.hx",571,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_577_callDuration,"borogove.ChatMessage","callDuration",0x14c9891e,"borogove.ChatMessage.callDuration","borogove/ChatMessage.hx",577,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_611_fetchAttachment,"borogove.ChatMessage","fetchAttachment",0x09398531,"borogove.ChatMessage.fetchAttachment","borogove/ChatMessage.hx",611,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_614_fetchAttachment,"borogove.ChatMessage","fetchAttachment",0x09398531,"borogove.ChatMessage.fetchAttachment","borogove/ChatMessage.hx",614,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_621_fetchAttachment,"borogove.ChatMessage","fetchAttachment",0x09398531,"borogove.ChatMessage.fetchAttachment","borogove/ChatMessage.hx",621,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_609_fetchAttachment,"borogove.ChatMessage","fetchAttachment",0x09398531,"borogove.ChatMessage.fetchAttachment","borogove/ChatMessage.hx",609,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_365_fetchAttachment__fromC,"borogove.ChatMessage","fetchAttachment__fromC",0x18c56368,"borogove.ChatMessage.fetchAttachment__fromC","HaxeCBridge.hx",365,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_628_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",628,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_680_asStanza,"borogove.ChatMessage","asStanza",0xff32c993,"borogove.ChatMessage.asStanza","borogove/ChatMessage.hx",680,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_385_fromStanza,"borogove.ChatMessage","fromStanza",0x20841f0b,"borogove.ChatMessage.fromStanza","borogove/ChatMessage.hx",385,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_535_combineCorrections,"borogove.ChatMessage","combineCorrections",0x9a369ee2,"borogove.ChatMessage.combineCorrections","borogove/ChatMessage.hx",535,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_9b90dadd5b659bbe_363_combineCorrections__fromC,"borogove.ChatMessage","combineCorrections__fromC",0xca6e51d7,"borogove.ChatMessage.combineCorrections__fromC","HaxeCBridge.hx",363,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_20f00185d7354fd9_165_boot,"borogove.ChatMessage","boot",0xa6606f3e,"borogove.ChatMessage.boot","borogove/ChatMessage.hx",165,0xe4a3cadd)
namespace borogove{
void ChatMessage_obj::__construct( ::Dynamic params){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_280_new)
-HXLINE( 281) this->localId = ( (::String)(params->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)) );
-HXLINE( 282) this->serverId = ( (::String)(params->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)) );
-HXLINE( 283) this->serverIdBy = ( (::String)(params->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)) );
-HXLINE( 284) this->sortId = ( (::String)(params->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
-HXLINE( 285) ::Dynamic tmp = params->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic);
-HXDLIN( 285) int _hx_tmp;
-HXDLIN( 285) if (::hx::IsNotNull( tmp )) {
-HXLINE( 285) _hx_tmp = ( (int)(tmp) );
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_346_new)
+HXLINE( 347) this->localId = ( (::String)(params->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)) );
+HXLINE( 348) this->serverId = ( (::String)(params->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)) );
+HXLINE( 349) this->serverIdBy = ( (::String)(params->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)) );
+HXLINE( 350) this->sortId = ( (::String)(params->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
+HXLINE( 351) ::Dynamic tmp = params->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic);
+HXDLIN( 351) int _hx_tmp;
+HXDLIN( 351) if (::hx::IsNotNull( tmp )) {
+HXLINE( 351) _hx_tmp = ( (int)(tmp) );
}
else {
-HXLINE( 285) _hx_tmp = 0;
+HXLINE( 351) _hx_tmp = 0;
}
-HXDLIN( 285) this->type = _hx_tmp;
-HXLINE( 286) ::Dynamic tmp1 = params->__Field(HX_("syncPoint",f5,ff,94,98),::hx::paccDynamic);
-HXDLIN( 286) bool _hx_tmp1;
-HXDLIN( 286) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 286) _hx_tmp1 = ( (bool)(tmp1) );
+HXDLIN( 351) this->type = _hx_tmp;
+HXLINE( 352) ::Dynamic tmp1 = params->__Field(HX_("syncPoint",f5,ff,94,98),::hx::paccDynamic);
+HXDLIN( 352) bool _hx_tmp1;
+HXDLIN( 352) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 352) _hx_tmp1 = ( (bool)(tmp1) );
}
else {
-HXLINE( 286) _hx_tmp1 = false;
- }
-HXDLIN( 286) this->syncPoint = _hx_tmp1;
-HXLINE( 287) this->replyId = ( (::String)(params->__Field(HX_("replyId",a5,67,3a,ab),::hx::paccDynamic)) );
-HXLINE( 288) this->timestamp = ( (::String)(params->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
-HXLINE( 289) this->to = ( ( ::borogove::JID)(params->__Field(HX_("to",7b,65,00,00),::hx::paccDynamic)) );
-HXLINE( 290) this->from = ( ( ::borogove::JID)(params->__Field(HX_("from",6a,a5,c2,43),::hx::paccDynamic)) );
-HXLINE( 291) this->senderId = ( (::String)(params->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) );
-HXLINE( 292) ::Array< ::Dynamic> tmp2 = ( (::Array< ::Dynamic>)(params->__Field(HX_("recipients",7a,62,59,87),::hx::paccDynamic)) );
-HXDLIN( 292) ::Array< ::Dynamic> _hx_tmp2;
-HXDLIN( 292) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 292) _hx_tmp2 = tmp2;
+HXLINE( 352) _hx_tmp1 = false;
+ }
+HXDLIN( 352) this->syncPoint = _hx_tmp1;
+HXLINE( 353) this->replyId = ( (::String)(params->__Field(HX_("replyId",a5,67,3a,ab),::hx::paccDynamic)) );
+HXLINE( 354) this->timeSent = ( (::String)(params->__Field(HX_("timeSent",05,10,b2,ec),::hx::paccDynamic)) );
+HXLINE( 355) this->timeReceived = ( (::String)(params->__Field(HX_("timeReceived",4e,22,9a,7b),::hx::paccDynamic)) );
+HXLINE( 356) this->to = ( ( ::borogove::JID)(params->__Field(HX_("to",7b,65,00,00),::hx::paccDynamic)) );
+HXLINE( 357) this->from = ( ( ::borogove::JID)(params->__Field(HX_("from",6a,a5,c2,43),::hx::paccDynamic)) );
+HXLINE( 358) this->senderId = ( (::String)(params->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) );
+HXLINE( 359) ::Array< ::Dynamic> tmp2 = ( (::Array< ::Dynamic>)(params->__Field(HX_("recipients",7a,62,59,87),::hx::paccDynamic)) );
+HXDLIN( 359) ::Array< ::Dynamic> _hx_tmp2;
+HXDLIN( 359) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 359) _hx_tmp2 = tmp2;
}
else {
-HXLINE( 292) _hx_tmp2 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 359) _hx_tmp2 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 292) this->recipients = _hx_tmp2;
-HXLINE( 293) ::Array< ::Dynamic> tmp3 = ( (::Array< ::Dynamic>)(params->__Field(HX_("replyTo",45,71,3a,ab),::hx::paccDynamic)) );
-HXDLIN( 293) ::Array< ::Dynamic> _hx_tmp3;
-HXDLIN( 293) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 293) _hx_tmp3 = tmp3;
+HXDLIN( 359) this->recipients = _hx_tmp2;
+HXLINE( 360) ::Array< ::Dynamic> tmp3 = ( (::Array< ::Dynamic>)(params->__Field(HX_("replyTo",45,71,3a,ab),::hx::paccDynamic)) );
+HXDLIN( 360) ::Array< ::Dynamic> _hx_tmp3;
+HXDLIN( 360) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 360) _hx_tmp3 = tmp3;
}
else {
-HXLINE( 293) _hx_tmp3 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 360) _hx_tmp3 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 293) this->replyTo = _hx_tmp3;
-HXLINE( 294) this->replyToMessage = ( ( ::borogove::ChatMessage)(params->__Field(HX_("replyToMessage",02,cf,60,a6),::hx::paccDynamic)) );
-HXLINE( 295) this->threadId = ( (::String)(params->__Field(HX_("threadId",45,81,25,cc),::hx::paccDynamic)) );
-HXLINE( 296) ::Array< ::Dynamic> tmp4 = ( (::Array< ::Dynamic>)(params->__Field(HX_("attachments",30,df,33,e7),::hx::paccDynamic)) );
-HXDLIN( 296) ::Array< ::Dynamic> _hx_tmp4;
-HXDLIN( 296) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 296) _hx_tmp4 = tmp4;
+HXDLIN( 360) this->replyTo = _hx_tmp3;
+HXLINE( 361) this->replyToMessage = ( ( ::borogove::ChatMessage)(params->__Field(HX_("replyToMessage",02,cf,60,a6),::hx::paccDynamic)) );
+HXLINE( 362) this->threadId = ( (::String)(params->__Field(HX_("threadId",45,81,25,cc),::hx::paccDynamic)) );
+HXLINE( 363) ::Array< ::Dynamic> tmp4 = ( (::Array< ::Dynamic>)(params->__Field(HX_("attachments",30,df,33,e7),::hx::paccDynamic)) );
+HXDLIN( 363) ::Array< ::Dynamic> _hx_tmp4;
+HXDLIN( 363) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 363) _hx_tmp4 = tmp4;
}
else {
-HXLINE( 296) _hx_tmp4 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 363) _hx_tmp4 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 296) this->attachments = _hx_tmp4;
-HXLINE( 297) ::haxe::ds::StringMap tmp5 = ( ( ::haxe::ds::StringMap)(params->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) );
-HXDLIN( 297) ::haxe::ds::StringMap _hx_tmp5;
-HXDLIN( 297) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 297) _hx_tmp5 = tmp5;
+HXDLIN( 363) this->attachments = _hx_tmp4;
+HXLINE( 364) this->debug = ::Dynamic(params->__Field(HX_("debug",53,52,1f,d7),::hx::paccDynamic));
+HXLINE( 365) ::haxe::ds::StringMap tmp5 = ( ( ::haxe::ds::StringMap)(params->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) );
+HXDLIN( 365) ::haxe::ds::StringMap _hx_tmp5;
+HXDLIN( 365) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 365) _hx_tmp5 = tmp5;
}
else {
-HXLINE( 297) _hx_tmp5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 365) _hx_tmp5 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
}
-HXDLIN( 297) this->reactions = _hx_tmp5;
-HXLINE( 298) this->text = ( (::String)(params->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
-HXLINE( 299) this->lang = ( (::String)(params->__Field(HX_("lang",ee,05,ad,47),::hx::paccDynamic)) );
-HXLINE( 300) ::Dynamic tmp6 = params->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic);
-HXDLIN( 300) int _hx_tmp6;
-HXDLIN( 300) if (::hx::IsNotNull( tmp6 )) {
-HXLINE( 300) _hx_tmp6 = ( (int)(tmp6) );
+HXDLIN( 365) this->reactions = _hx_tmp5;
+HXLINE( 366) this->text = ( (::String)(params->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
+HXLINE( 367) this->lang = ( (::String)(params->__Field(HX_("lang",ee,05,ad,47),::hx::paccDynamic)) );
+HXLINE( 368) ::Dynamic tmp6 = params->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic);
+HXDLIN( 368) int _hx_tmp6;
+HXDLIN( 368) if (::hx::IsNotNull( tmp6 )) {
+HXLINE( 368) _hx_tmp6 = ( (int)(tmp6) );
}
else {
-HXLINE( 300) _hx_tmp6 = 1;
+HXLINE( 368) _hx_tmp6 = 1;
}
-HXDLIN( 300) this->direction = _hx_tmp6;
-HXLINE( 301) ::Dynamic tmp7 = params->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
-HXDLIN( 301) int _hx_tmp7;
-HXDLIN( 301) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 301) _hx_tmp7 = ( (int)(tmp7) );
+HXDLIN( 368) this->direction = _hx_tmp6;
+HXLINE( 369) ::Dynamic tmp7 = params->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
+HXDLIN( 369) int _hx_tmp7;
+HXDLIN( 369) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 369) _hx_tmp7 = ( (int)(tmp7) );
}
else {
-HXLINE( 301) _hx_tmp7 = 0;
+HXLINE( 369) _hx_tmp7 = 0;
}
-HXDLIN( 301) this->status = _hx_tmp7;
-HXLINE( 302) this->statusText = ( (::String)(params->__Field(HX_("statusText",ff,60,57,b1),::hx::paccDynamic)) );
-HXLINE( 303) ::Array< ::Dynamic> tmp8 = ( (::Array< ::Dynamic>)(params->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) );
-HXDLIN( 303) ::Array< ::Dynamic> _hx_tmp8;
-HXDLIN( 303) if (::hx::IsNotNull( tmp8 )) {
-HXLINE( 303) _hx_tmp8 = tmp8;
+HXDLIN( 369) this->status = _hx_tmp7;
+HXLINE( 370) this->statusText = ( (::String)(params->__Field(HX_("statusText",ff,60,57,b1),::hx::paccDynamic)) );
+HXLINE( 371) ::Array< ::Dynamic> tmp8 = ( (::Array< ::Dynamic>)(params->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) );
+HXDLIN( 371) ::Array< ::Dynamic> _hx_tmp8;
+HXDLIN( 371) if (::hx::IsNotNull( tmp8 )) {
+HXLINE( 371) _hx_tmp8 = tmp8;
}
else {
-HXLINE( 303) _hx_tmp8 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 371) _hx_tmp8 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 303) this->versions = _hx_tmp8;
-HXLINE( 304) ::Array< ::Dynamic> tmp9 = ( (::Array< ::Dynamic>)(params->__Field(HX_("payloads",25,dd,d1,a1),::hx::paccDynamic)) );
-HXDLIN( 304) ::Array< ::Dynamic> _hx_tmp9;
-HXDLIN( 304) if (::hx::IsNotNull( tmp9 )) {
-HXLINE( 304) _hx_tmp9 = tmp9;
+HXDLIN( 371) this->versions = _hx_tmp8;
+HXLINE( 372) ::Array< ::Dynamic> tmp9 = ( (::Array< ::Dynamic>)(params->__Field(HX_("payloads",25,dd,d1,a1),::hx::paccDynamic)) );
+HXDLIN( 372) ::Array< ::Dynamic> _hx_tmp9;
+HXDLIN( 372) if (::hx::IsNotNull( tmp9 )) {
+HXLINE( 372) _hx_tmp9 = tmp9;
}
else {
-HXLINE( 304) _hx_tmp9 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 372) _hx_tmp9 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 304) this->payloads = _hx_tmp9;
-HXLINE( 305) this->encryption = ( ( ::borogove::EncryptionInfo)(params->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic)) );
-HXLINE( 306) ::Array< ::Dynamic> tmp10 = ( (::Array< ::Dynamic>)(params->__Field(HX_("linkMetadata",89,45,ae,7c),::hx::paccDynamic)) );
-HXDLIN( 306) ::Array< ::Dynamic> _hx_tmp10;
-HXDLIN( 306) if (::hx::IsNotNull( tmp10 )) {
-HXLINE( 306) _hx_tmp10 = tmp10;
+HXDLIN( 372) this->payloads = _hx_tmp9;
+HXLINE( 373) this->encryption = ( ( ::borogove::EncryptionInfo)(params->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic)) );
+HXLINE( 374) ::Array< ::Dynamic> tmp10 = ( (::Array< ::Dynamic>)(params->__Field(HX_("linkMetadata",89,45,ae,7c),::hx::paccDynamic)) );
+HXDLIN( 374) ::Array< ::Dynamic> _hx_tmp10;
+HXDLIN( 374) if (::hx::IsNotNull( tmp10 )) {
+HXLINE( 374) _hx_tmp10 = tmp10;
}
else {
-HXLINE( 306) _hx_tmp10 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 374) _hx_tmp10 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 306) this->linkMetadata = _hx_tmp10;
-HXLINE( 307) this->stanza = ( ( ::borogove::Stanza)(params->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXDLIN( 374) this->linkMetadata = _hx_tmp10;
+HXLINE( 375) this->stanza = ( ( ::borogove::Stanza)(params->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
}
Dynamic ChatMessage_obj::__CreateEmpty() { return new ChatMessage_obj; }
@@ -337,13 +359,21 @@ HXDLIN( 478) return this->type;
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,type__fromC,return )
-::String ChatMessage_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_478_timestamp__fromC)
-HXDLIN( 478) return this->timestamp;
+::String ChatMessage_obj::timeSent__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_478_timeSent__fromC)
+HXDLIN( 478) return this->timeSent;
}
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,timestamp__fromC,return )
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,timeSent__fromC,return )
+
+::String ChatMessage_obj::timeReceived__fromC(){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_478_timeReceived__fromC)
+HXDLIN( 478) return this->timeReceived;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,timeReceived__fromC,return )
::String ChatMessage_obj::senderId__fromC(){
HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_478_senderId__fromC)
@@ -433,14 +463,14 @@ HXDLIN( 413) return ( (size_t)(x->length) );
::Array< ::String > ChatMessage_obj::get_reactionKeys(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,_e) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_192_get_reactionKeys)
-HXDLIN( 192) return _e->keys();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_256_get_reactionKeys)
+HXDLIN( 256) return _e->keys();
}
HX_END_LOCAL_FUNC0(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_192_get_reactionKeys)
-HXDLIN( 192) ::haxe::ds::StringMap _e = this->reactions;
-HXDLIN( 192) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_256_get_reactionKeys)
+HXDLIN( 256) ::haxe::ds::StringMap _e = this->reactions;
+HXDLIN( 256) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_e)))));
}
@@ -448,16 +478,16 @@ HXDLIN( 192) return ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,get_reactionKeys,return )
::Array< ::Dynamic> ChatMessage_obj::reactionDetails(::String reactionKey){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_199_reactionDetails)
-HXDLIN( 199) ::Dynamic this1 = this->reactions;
-HXDLIN( 199) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(::haxe::io::Bytes_obj::ofString(reactionKey,null())->toString())) );
-HXDLIN( 199) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 199) return tmp;
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_263_reactionDetails)
+HXDLIN( 263) ::Dynamic this1 = this->reactions;
+HXDLIN( 263) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(( ( ::haxe::ds::StringMap)(this1) )->get(::haxe::io::Bytes_obj::ofString(reactionKey,null())->toString())) );
+HXDLIN( 263) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 263) return tmp;
}
else {
-HXDLIN( 199) return ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 263) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 199) return null();
+HXDLIN( 263) return null();
}
@@ -615,96 +645,96 @@ HXDLIN( 452) return ( (size_t)(x->length) );
::borogove::ChatMessageBuilder ChatMessage_obj::reply(){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_323_reply)
-HXLINE( 324) ::borogove::ChatMessageBuilder m = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 325) m->type = this->type;
-HXLINE( 326) ::String tmp = this->threadId;
-HXDLIN( 326) ::String _hx_tmp;
-HXDLIN( 326) if (::hx::IsNotNull( tmp )) {
-HXLINE( 326) _hx_tmp = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_396_reply)
+HXLINE( 397) ::borogove::ChatMessageBuilder m = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 398) m->type = this->type;
+HXLINE( 399) ::String tmp = this->threadId;
+HXDLIN( 399) ::String _hx_tmp;
+HXDLIN( 399) if (::hx::IsNotNull( tmp )) {
+HXLINE( 399) _hx_tmp = tmp;
}
else {
-HXLINE( 326) _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 399) _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXDLIN( 326) m->threadId = _hx_tmp;
-HXLINE( 327) m->replyToMessage = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 328) return m;
+HXDLIN( 399) m->threadId = _hx_tmp;
+HXLINE( 400) m->replyToMessage = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 401) return m;
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,reply,return )
::String ChatMessage_obj::getReplyId(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_332_getReplyId)
-HXLINE( 333) if (::hx::IsNotNull( this->replyId )) {
-HXLINE( 333) return this->replyId;
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_405_getReplyId)
+HXLINE( 406) if (::hx::IsNotNull( this->replyId )) {
+HXLINE( 406) return this->replyId;
}
-HXLINE( 334) if ((this->type == 2)) {
-HXLINE( 334) return this->serverId;
+HXLINE( 407) if ((this->type == 2)) {
+HXLINE( 407) return this->serverId;
}
else {
-HXLINE( 334) return this->localId;
+HXLINE( 407) return this->localId;
}
-HXDLIN( 334) return null();
+HXDLIN( 407) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,getReplyId,return )
::borogove::ChatMessage ChatMessage_obj::set_replyToMessage( ::borogove::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_338_set_replyToMessage)
-HXLINE( 339) ::borogove::ChatMessage rtm = this->replyToMessage;
-HXLINE( 340) if (::hx::IsNull( rtm )) {
-HXLINE( 340) HX_STACK_DO_THROW(HX_("Cannot hydrate null replyToMessage",f1,d9,4b,bf));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_411_set_replyToMessage)
+HXLINE( 412) ::borogove::ChatMessage rtm = this->replyToMessage;
+HXLINE( 413) if (::hx::IsNull( rtm )) {
+HXLINE( 413) HX_STACK_DO_THROW(HX_("Cannot hydrate null replyToMessage",f1,d9,4b,bf));
}
-HXLINE( 341) bool _hx_tmp;
-HXDLIN( 341) if (::hx::IsNotNull( rtm->serverId )) {
-HXLINE( 341) _hx_tmp = (rtm->serverId != m->serverId);
+HXLINE( 414) bool _hx_tmp;
+HXDLIN( 414) if (::hx::IsNotNull( rtm->serverId )) {
+HXLINE( 414) _hx_tmp = (rtm->serverId != m->serverId);
}
else {
-HXLINE( 341) _hx_tmp = false;
+HXLINE( 414) _hx_tmp = false;
}
-HXDLIN( 341) if (_hx_tmp) {
-HXLINE( 341) HX_STACK_DO_THROW(HX_("Hydrate serverId mismatch",43,6c,05,df));
+HXDLIN( 414) if (_hx_tmp) {
+HXLINE( 414) HX_STACK_DO_THROW(HX_("Hydrate serverId mismatch",43,6c,05,df));
}
-HXLINE( 342) bool _hx_tmp1;
-HXDLIN( 342) if (::hx::IsNotNull( rtm->localId )) {
-HXLINE( 342) _hx_tmp1 = (rtm->localId != m->localId);
+HXLINE( 415) bool _hx_tmp1;
+HXDLIN( 415) if (::hx::IsNotNull( rtm->localId )) {
+HXLINE( 415) _hx_tmp1 = (rtm->localId != m->localId);
}
else {
-HXLINE( 342) _hx_tmp1 = false;
+HXLINE( 415) _hx_tmp1 = false;
}
-HXDLIN( 342) if (_hx_tmp1) {
-HXLINE( 342) HX_STACK_DO_THROW(HX_("Hydrate localId mismatch",d5,ef,ca,42));
+HXDLIN( 415) if (_hx_tmp1) {
+HXLINE( 415) HX_STACK_DO_THROW(HX_("Hydrate localId mismatch",d5,ef,ca,42));
}
-HXLINE( 343) return (this->replyToMessage = m);
+HXLINE( 416) return (this->replyToMessage = m);
}
HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,set_replyToMessage,return )
::haxe::ds::StringMap ChatMessage_obj::set_reactions( ::haxe::ds::StringMap r){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_347_set_reactions)
-HXDLIN( 347) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 348) bool _hx_tmp;
-HXDLIN( 348) if (::hx::IsNotNull( this->reactions )) {
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_420_set_reactions)
+HXDLIN( 420) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 421) bool _hx_tmp;
+HXDLIN( 421) if (::hx::IsNotNull( this->reactions )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessage,_gthis) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_348_set_reactions)
-HXLINE( 348) return _gthis->reactions->keys();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_421_set_reactions)
+HXLINE( 421) return _gthis->reactions->keys();
}
HX_END_LOCAL_FUNC0(return)
-HXLINE( 348) _hx_tmp = !(::Lambda_obj::empty( ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 421) _hx_tmp = !(::Lambda_obj::empty( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_gthis))))));
}
else {
-HXLINE( 348) _hx_tmp = false;
+HXLINE( 421) _hx_tmp = false;
}
-HXDLIN( 348) if (_hx_tmp) {
-HXLINE( 348) HX_STACK_DO_THROW(HX_("Reactions already hydrated",4f,72,b8,9d));
+HXDLIN( 421) if (_hx_tmp) {
+HXLINE( 421) HX_STACK_DO_THROW(HX_("Reactions already hydrated",4f,72,b8,9d));
}
-HXLINE( 349) return (this->reactions = r);
+HXLINE( 422) return (this->reactions = r);
}
@@ -713,48 +743,48 @@ HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,set_reactions,return )
::Array< ::Dynamic> ChatMessage_obj::inlineHashReferences(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_355_inlineHashReferences)
-HXLINE( 355) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce))) {
-HXLINE( 355) return (p->name == HX_("html",6b,95,16,45));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_428_inlineHashReferences)
+HXLINE( 428) if (::hx::IsEq( p->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce) )) {
+HXLINE( 428) return (p->name == HX_("html",6b,95,16,45));
}
else {
-HXLINE( 355) return false;
+HXLINE( 428) return false;
}
-HXDLIN( 355) return false;
+HXDLIN( 428) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_353_inlineHashReferences)
-HXLINE( 354) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 355) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 355) ::borogove::Stanza htmlBody;
-HXDLIN( 355) if (::hx::IsNotNull( tmp )) {
-HXLINE( 355) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_426_inlineHashReferences)
+HXLINE( 427) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 428) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 428) ::borogove::Stanza htmlBody;
+HXDLIN( 428) if (::hx::IsNotNull( tmp )) {
+HXLINE( 428) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
}
else {
-HXLINE( 355) htmlBody = null();
+HXLINE( 428) htmlBody = null();
}
-HXLINE( 356) if (::hx::IsNotNull( htmlBody )) {
+HXLINE( 429) if (::hx::IsNotNull( htmlBody )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,result) HXARGC(1)
bool _hx_run( ::borogove::Stanza child){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_357_inlineHashReferences)
-HXLINE( 358) if ((child->name == HX_("img",03,0c,50,00))) {
-HXLINE( 359) ::String src = ( (::String)(::Reflect_obj::field(child->attr,HX_("src",e4,a6,57,00))) );
-HXLINE( 360) if (::hx::IsNotNull( src )) {
-HXLINE( 361) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(src);
-HXLINE( 362) if (::hx::IsNotNull( hash )) {
-HXLINE( 364) result->push(hash);
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_430_inlineHashReferences)
+HXLINE( 431) if ((child->name == HX_("img",03,0c,50,00))) {
+HXLINE( 432) ::String src = child->attr->get_string(HX_("src",e4,a6,57,00));
+HXLINE( 433) if (::hx::IsNotNull( src )) {
+HXLINE( 434) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(src);
+HXLINE( 435) if (::hx::IsNotNull( hash )) {
+HXLINE( 437) result->push(hash);
}
}
-HXLINE( 367) return true;
+HXLINE( 440) return true;
}
-HXLINE( 369) return false;
+HXLINE( 442) return false;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 357) htmlBody->traverse( ::Dynamic(new _hx_Closure_1(result)));
+HXLINE( 430) htmlBody->traverse( ::Dynamic(new _hx_Closure_1(result)));
}
-HXLINE( 373) return result;
+HXLINE( 446) return result;
}
@@ -763,260 +793,260 @@ HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,inlineHashReferences,return )
::Array< ::Dynamic> ChatMessage_obj::htmlBody(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_377_htmlBody)
-HXLINE( 377) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce))) {
-HXLINE( 377) return (p->name == HX_("html",6b,95,16,45));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_450_htmlBody)
+HXLINE( 450) if (::hx::IsEq( p->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce) )) {
+HXLINE( 450) return (p->name == HX_("html",6b,95,16,45));
}
else {
-HXLINE( 377) return false;
+HXLINE( 450) return false;
}
-HXDLIN( 377) return false;
+HXDLIN( 450) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_376_htmlBody)
-HXLINE( 377) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 377) ::borogove::Stanza htmlBody;
-HXDLIN( 377) if (::hx::IsNotNull( tmp )) {
-HXLINE( 377) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_449_htmlBody)
+HXLINE( 450) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 450) ::borogove::Stanza htmlBody;
+HXDLIN( 450) if (::hx::IsNotNull( tmp )) {
+HXLINE( 450) htmlBody = tmp->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
}
else {
-HXLINE( 377) htmlBody = null();
+HXLINE( 450) htmlBody = null();
}
-HXLINE( 378) if (::hx::IsNotNull( htmlBody )) {
-HXLINE( 379) return htmlBody->children;
+HXLINE( 451) if (::hx::IsNotNull( htmlBody )) {
+HXLINE( 452) return htmlBody->children;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
int _hx_run( ::Dynamic x, ::Dynamic y){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_390_htmlBody)
-HXLINE( 390) return (( (int)(y->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ) - ( (int)(x->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_463_htmlBody)
+HXLINE( 463) return (( (int)(y->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ) - ( (int)(x->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) ));
}
HX_END_LOCAL_FUNC2(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_395_htmlBody)
-HXLINE( 395) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:styling:0",48,d3,aa,fb))) {
-HXLINE( 395) return (p->name == HX_("unstyled",2c,15,1a,18));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_468_htmlBody)
+HXLINE( 468) if (::hx::IsEq( p->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:styling:0",48,d3,aa,fb) )) {
+HXLINE( 468) return (p->name == HX_("unstyled",2c,15,1a,18));
}
else {
-HXLINE( 395) return false;
+HXLINE( 468) return false;
}
-HXDLIN( 395) return false;
+HXDLIN( 468) return false;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 381) ::String bodyText;
-HXDLIN( 381) ::String tmp1 = this->text;
-HXDLIN( 381) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 381) bodyText = tmp1;
+HXLINE( 454) ::String bodyText;
+HXDLIN( 454) ::String tmp1 = this->text;
+HXDLIN( 454) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 454) bodyText = tmp1;
}
else {
-HXLINE( 381) bodyText = HX_("",00,00,00,00);
+HXLINE( 454) bodyText = HX_("",00,00,00,00);
}
-HXLINE( 382) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(bodyText);
-HXLINE( 384) ::Array< ::Dynamic> _this = this->payloads;
-HXDLIN( 384) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 384) {
-HXLINE( 384) int _g1 = 0;
-HXDLIN( 384) while((_g1 < _this->length)){
-HXLINE( 384) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
-HXDLIN( 384) _g1 = (_g1 + 1);
-HXLINE( 385) bool fallbacks;
-HXDLIN( 385) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:fallback:0",74,aa,56,9b))) {
-HXLINE( 386) bool fallbacks1;
-HXDLIN( 386) bool fallbacks2;
-HXDLIN( 386) bool fallbacks3;
-HXDLIN( 386) if ((( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) != HX_("jabber:x:oob",aa,8a,5f,ef))) {
-HXLINE( 386) fallbacks3 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:sims:1",4f,1c,49,62));
+HXLINE( 455) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(bodyText);
+HXLINE( 457) ::Array< ::Dynamic> _this = this->payloads;
+HXDLIN( 457) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 457) {
+HXLINE( 457) int _g1 = 0;
+HXDLIN( 457) while((_g1 < _this->length)){
+HXLINE( 457) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
+HXDLIN( 457) _g1 = (_g1 + 1);
+HXLINE( 458) bool fallbacks;
+HXDLIN( 458) if (::hx::IsEq( v->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:fallback:0",74,aa,56,9b) )) {
+HXLINE( 459) bool fallbacks1;
+HXDLIN( 459) bool fallbacks2;
+HXDLIN( 459) bool fallbacks3;
+HXDLIN( 459) if (::hx::IsNotEq( v->attr->get(HX_("for",09,c7,4d,00)),HX_("jabber:x:oob",aa,8a,5f,ef) )) {
+HXLINE( 459) fallbacks3 = ::hx::IsEq( v->attr->get(HX_("for",09,c7,4d,00)),HX_("urn:xmpp:sims:1",4f,1c,49,62) );
}
else {
-HXLINE( 386) fallbacks3 = true;
+HXLINE( 459) fallbacks3 = true;
}
-HXDLIN( 386) if (fallbacks3) {
-HXLINE( 386) fallbacks2 = (this->attachments->length > 0);
+HXDLIN( 459) if (fallbacks3) {
+HXLINE( 459) fallbacks2 = (this->attachments->length > 0);
}
else {
-HXLINE( 386) fallbacks2 = false;
+HXLINE( 459) fallbacks2 = false;
}
-HXDLIN( 386) if (!(fallbacks2)) {
-HXLINE( 387) if (::hx::IsNotNull( this->replyToMessage )) {
-HXLINE( 386) fallbacks1 = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("urn:xmpp:reply:0",c4,d5,6f,90));
+HXDLIN( 459) if (!(fallbacks2)) {
+HXLINE( 460) if (::hx::IsNotNull( this->replyToMessage )) {
+HXLINE( 459) fallbacks1 = ::hx::IsEq( v->attr->get(HX_("for",09,c7,4d,00)),HX_("urn:xmpp:reply:0",c4,d5,6f,90) );
}
else {
-HXLINE( 386) fallbacks1 = false;
+HXLINE( 459) fallbacks1 = false;
}
}
else {
-HXLINE( 386) fallbacks1 = true;
+HXLINE( 459) fallbacks1 = true;
}
-HXDLIN( 386) if (!(fallbacks1)) {
-HXLINE( 385) fallbacks = (( (::String)(::Reflect_obj::field(v->attr,HX_("for",09,c7,4d,00))) ) == HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
+HXDLIN( 459) if (!(fallbacks1)) {
+HXLINE( 458) fallbacks = ::hx::IsEq( v->attr->get(HX_("for",09,c7,4d,00)),HX_("http://jabber.org/protocol/address",c0,fd,09,ed) );
}
else {
-HXLINE( 385) fallbacks = true;
+HXLINE( 458) fallbacks = true;
}
}
else {
-HXLINE( 385) fallbacks = false;
+HXLINE( 458) fallbacks = false;
}
-HXLINE( 384) if (fallbacks) {
-HXLINE( 384) _g->push(v);
+HXLINE( 457) if (fallbacks) {
+HXLINE( 457) _g->push(v);
}
}
}
-HXDLIN( 384) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 384) {
-HXLINE( 384) int _g2 = 0;
-HXDLIN( 384) int _g3 = _g->length;
-HXDLIN( 384) while((_g2 < _g3)){
-HXLINE( 384) _g2 = (_g2 + 1);
-HXDLIN( 384) int i = (_g2 - 1);
-HXDLIN( 384) {
-HXLINE( 384) ::borogove::Stanza inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g,i)) )->getChild(HX_("body",a2,7a,1b,41),null());
-HXDLIN( 384) result->__unsafe_set(i,inValue);
+HXDLIN( 457) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 457) {
+HXLINE( 457) int _g2 = 0;
+HXDLIN( 457) int _g3 = _g->length;
+HXDLIN( 457) while((_g2 < _g3)){
+HXLINE( 457) _g2 = (_g2 + 1);
+HXDLIN( 457) int i = (_g2 - 1);
+HXDLIN( 457) {
+HXLINE( 457) ::borogove::Stanza inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g,i)) )->getChild(HX_("body",a2,7a,1b,41),null());
+HXDLIN( 457) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 384) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(result->length);
-HXDLIN( 384) {
-HXLINE( 384) int _g4 = 0;
-HXDLIN( 384) int _g5 = result->length;
-HXDLIN( 384) while((_g4 < _g5)){
-HXLINE( 384) _g4 = (_g4 + 1);
-HXDLIN( 384) int i1 = (_g4 - 1);
-HXDLIN( 384) {
-HXLINE( 389) ::borogove::Stanza b = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(result,i1)) );
-HXLINE( 384) ::Dynamic inValue1;
-HXLINE( 389) if (::hx::IsNull( b )) {
-HXLINE( 384) inValue1 = null();
+HXDLIN( 457) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(result->length);
+HXDLIN( 457) {
+HXLINE( 457) int _g4 = 0;
+HXDLIN( 457) int _g5 = result->length;
+HXDLIN( 457) while((_g4 < _g5)){
+HXLINE( 457) _g4 = (_g4 + 1);
+HXDLIN( 457) int i1 = (_g4 - 1);
+HXDLIN( 457) {
+HXLINE( 462) ::borogove::Stanza b = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(result,i1)) );
+HXLINE( 457) ::Dynamic inValue1;
+HXLINE( 462) if (::hx::IsNull( b )) {
+HXLINE( 457) inValue1 = null();
}
else {
-HXLINE( 389) int inValue2;
-HXDLIN( 389) ::String tmp2 = ( (::String)(::Reflect_obj::field(b->attr,HX_("start",62,74,0b,84))) );
-HXDLIN( 389) ::String tmp3;
-HXDLIN( 389) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 389) tmp3 = tmp2;
+HXLINE( 462) int inValue2;
+HXDLIN( 462) ::String tmp2 = b->attr->get_string(HX_("start",62,74,0b,84));
+HXDLIN( 462) ::String tmp3;
+HXDLIN( 462) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 462) tmp3 = tmp2;
}
else {
-HXLINE( 389) tmp3 = HX_("0",30,00,00,00);
+HXLINE( 462) tmp3 = HX_("0",30,00,00,00);
}
-HXDLIN( 389) ::Dynamic tmp4 = ::Std_obj::parseInt(tmp3);
-HXDLIN( 389) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 389) inValue2 = ( (int)(tmp4) );
+HXDLIN( 462) ::Dynamic tmp4 = ::Std_obj::parseInt(tmp3);
+HXDLIN( 462) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 462) inValue2 = ( (int)(tmp4) );
}
else {
-HXLINE( 389) inValue2 = 0;
+HXLINE( 462) inValue2 = 0;
}
-HXDLIN( 389) ::String tmp5 = ( (::String)(::Reflect_obj::field(b->attr,HX_("end",db,03,4d,00))) );
-HXDLIN( 389) ::String tmp6;
-HXDLIN( 389) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 389) tmp6 = tmp5;
+HXDLIN( 462) ::String tmp5 = b->attr->get_string(HX_("end",db,03,4d,00));
+HXDLIN( 462) ::String tmp6;
+HXDLIN( 462) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 462) tmp6 = tmp5;
}
else {
-HXLINE( 389) tmp6 = ::Std_obj::string(codepoints->length);
+HXLINE( 462) tmp6 = ::Std_obj::string(codepoints->length);
}
-HXDLIN( 389) ::Dynamic tmp7 = ::Std_obj::parseInt(tmp6);
-HXDLIN( 389) int inValue3;
-HXDLIN( 389) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 389) inValue3 = ( (int)(tmp7) );
+HXDLIN( 462) ::Dynamic tmp7 = ::Std_obj::parseInt(tmp6);
+HXDLIN( 462) int inValue3;
+HXDLIN( 462) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 462) inValue3 = ( (int)(tmp7) );
}
else {
-HXLINE( 389) inValue3 = codepoints->length;
+HXLINE( 462) inValue3 = codepoints->length;
}
-HXLINE( 384) inValue1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 457) inValue1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("start",62,74,0b,84),inValue2)
->setFixed(1,HX_("end",db,03,4d,00),inValue3));
}
-HXDLIN( 384) result1->__unsafe_set(i1,inValue1);
+HXDLIN( 457) result1->__unsafe_set(i1,inValue1);
}
}
}
-HXDLIN( 384) ::Array< ::Dynamic> _g6 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 384) {
-HXLINE( 384) int _g7 = 0;
-HXDLIN( 384) while((_g7 < result1->length)){
-HXLINE( 384) ::Dynamic v1 = result1->__get(_g7);
-HXDLIN( 384) _g7 = (_g7 + 1);
-HXDLIN( 384) if (::hx::IsNotNull( v1 )) {
-HXLINE( 384) _g6->push(v1);
+HXDLIN( 457) ::Array< ::Dynamic> _g6 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 457) {
+HXLINE( 457) int _g7 = 0;
+HXDLIN( 457) while((_g7 < result1->length)){
+HXLINE( 457) ::Dynamic v1 = result1->__get(_g7);
+HXDLIN( 457) _g7 = (_g7 + 1);
+HXDLIN( 457) if (::hx::IsNotNull( v1 )) {
+HXLINE( 457) _g6->push(v1);
}
}
}
-HXLINE( 390) _g6->sort( ::Dynamic(new _hx_Closure_1()));
-HXLINE( 391) {
-HXLINE( 391) int _g8 = 0;
-HXDLIN( 391) while((_g8 < _g6->length)){
-HXLINE( 391) ::Dynamic fallback = _g6->__get(_g8);
-HXDLIN( 391) _g8 = (_g8 + 1);
-HXLINE( 392) codepoints->removeRange( ::Dynamic(fallback->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)),(( (int)(fallback->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) ) - ( (int)(fallback->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) )));
+HXLINE( 463) _g6->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 464) {
+HXLINE( 464) int _g8 = 0;
+HXDLIN( 464) while((_g8 < _g6->length)){
+HXLINE( 464) ::Dynamic fallback = _g6->__get(_g8);
+HXDLIN( 464) _g8 = (_g8 + 1);
+HXLINE( 465) codepoints->removeRange( ::Dynamic(fallback->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)),(( (int)(fallback->__Field(HX_("end",db,03,4d,00),::hx::paccDynamic)) ) - ( (int)(fallback->__Field(HX_("start",62,74,0b,84),::hx::paccDynamic)) )));
}
}
-HXLINE( 394) ::String body = codepoints->join(HX_("",00,00,00,00));
-HXLINE( 395) if (::hx::IsNull( ::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_2())) )) {
-HXLINE( 396) ::Array< ::Dynamic> _this1 = ::borogove::XEP0393_obj::parse(body);
-HXDLIN( 396) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(_this1->length);
-HXDLIN( 396) {
-HXLINE( 396) int _g9 = 0;
-HXDLIN( 396) int _g10 = _this1->length;
-HXDLIN( 396) while((_g9 < _g10)){
-HXLINE( 396) _g9 = (_g9 + 1);
-HXDLIN( 396) int i2 = (_g9 - 1);
-HXDLIN( 396) {
-HXLINE( 396) ::borogove::Node inValue4 = ::borogove::Node_obj::Element(_hx_array_unsafe_get(_this1,i2));
-HXDLIN( 396) result2->__unsafe_set(i2,inValue4);
+HXLINE( 467) ::String body = codepoints->join(HX_("",00,00,00,00));
+HXLINE( 468) if (::hx::IsNull( ::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_2())) )) {
+HXLINE( 469) ::Array< ::Dynamic> _this1 = ::borogove::XEP0393_obj::parse(body);
+HXDLIN( 469) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(_this1->length);
+HXDLIN( 469) {
+HXLINE( 469) int _g9 = 0;
+HXDLIN( 469) int _g10 = _this1->length;
+HXDLIN( 469) while((_g9 < _g10)){
+HXLINE( 469) _g9 = (_g9 + 1);
+HXDLIN( 469) int i2 = (_g9 - 1);
+HXDLIN( 469) {
+HXLINE( 469) ::borogove::Node inValue4 = ::borogove::Node_obj::Element(_hx_array_unsafe_get(_this1,i2));
+HXDLIN( 469) result2->__unsafe_set(i2,inValue4);
}
}
}
-HXDLIN( 396) return result2;
+HXDLIN( 469) return result2;
}
else {
-HXLINE( 398) ::Array< ::String > _this2 = body.split(HX_("\n\n",c0,08,00,00));
-HXDLIN( 398) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(_this2->length);
-HXDLIN( 398) {
-HXLINE( 398) int _g11 = 0;
-HXDLIN( 398) int _g12 = _this2->length;
-HXDLIN( 398) while((_g11 < _g12)){
-HXLINE( 398) _g11 = (_g11 + 1);
-HXDLIN( 398) int i3 = (_g11 - 1);
-HXDLIN( 398) {
-HXLINE( 399) ::Array< ::Dynamic> _g13 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 399) {
-HXLINE( 399) ::Dynamic x = ( (::String)(_hx_array_unsafe_get(_this2,i3)) ).split(HX_("\n",0a,00,00,00))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 399) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 399) ::borogove::Node _hx_tmp = ::borogove::Node_obj::CData(( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) ));
-HXDLIN( 399) _g13->push(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp)->init(1,::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("br",d0,55,00,00),null()))));
+HXLINE( 471) ::Array< ::String > _this2 = body.split(HX_("\n\n",c0,08,00,00));
+HXDLIN( 471) ::Array< ::Dynamic> result3 = ::Array_obj< ::Dynamic>::__new(_this2->length);
+HXDLIN( 471) {
+HXLINE( 471) int _g11 = 0;
+HXDLIN( 471) int _g12 = _this2->length;
+HXDLIN( 471) while((_g11 < _g12)){
+HXLINE( 471) _g11 = (_g11 + 1);
+HXDLIN( 471) int i3 = (_g11 - 1);
+HXDLIN( 471) {
+HXLINE( 472) ::Array< ::Dynamic> _g13 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 472) {
+HXLINE( 472) ::Dynamic x = ( (::String)(_hx_array_unsafe_get(_this2,i3)) ).split(HX_("\n",0a,00,00,00))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 472) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 472) ::borogove::Node _hx_tmp = ::borogove::Node_obj::CData(( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) ));
+HXDLIN( 472) _g13->push(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp)->init(1,::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("br",d0,55,00,00),null(),null()))));
}
}
-HXDLIN( 399) ::Array< ::Dynamic> _g14 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 399) {
-HXLINE( 399) ::Dynamic e = _g13->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 399) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 399) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 399) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 399) _g14->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+HXDLIN( 472) ::Array< ::Dynamic> _g14 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 472) {
+HXLINE( 472) ::Dynamic e = _g13->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 472) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 472) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 472) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 472) _g14->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
-HXLINE( 400) _g14->pop().StaticCast< ::borogove::Node >();
-HXLINE( 398) ::borogove::Node inValue5 = ::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("p",70,00,00,00),null())->addChildNodes(_g14));
-HXDLIN( 398) result3->__unsafe_set(i3,inValue5);
+HXLINE( 473) _g14->pop().StaticCast< ::borogove::Node >();
+HXLINE( 471) ::borogove::Node inValue5 = ::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("p",70,00,00,00),null(),null())->addChildNodes(_g14));
+HXDLIN( 471) result3->__unsafe_set(i3,inValue5);
}
}
}
-HXDLIN( 398) return result3;
+HXDLIN( 471) return result3;
}
}
-HXLINE( 378) return null();
+HXLINE( 451) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,htmlBody,return )
::borogove::Html ChatMessage_obj::body( ::borogove::Member sender){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_415_body)
-HXDLIN( 415) return ::borogove::Html_obj::__alloc( HX_CTX ,this->htmlBody(),sender);
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_488_body)
+HXDLIN( 488) return ::borogove::Html_obj::__alloc( HX_CTX ,this->htmlBody(),sender);
}
@@ -1025,204 +1055,211 @@ HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,body,return )
::String ChatMessage_obj::subject(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza el){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_422_subject)
-HXDLIN( 422) return (el->name == HX_("subject",ac,01,88,29));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_495_subject)
+HXDLIN( 495) return (el->name == HX_("subject",ac,01,88,29));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_422_subject)
-HXDLIN( 422) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 422) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 422) return tmp->getText();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_495_subject)
+HXDLIN( 495) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 495) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 495) return tmp->getText();
}
else {
-HXDLIN( 422) return null();
+HXDLIN( 495) return null();
}
-HXDLIN( 422) return null();
+HXDLIN( 495) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,subject,return )
::String ChatMessage_obj::chatId(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_429_chatId)
-HXDLIN( 429) if (this->isIncoming()) {
-HXLINE( 430) ::Array< ::Dynamic> _this = this->replyTo;
-HXDLIN( 430) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 430) {
-HXLINE( 430) int _g = 0;
-HXDLIN( 430) int _g1 = _this->length;
-HXDLIN( 430) while((_g < _g1)){
-HXLINE( 430) _g = (_g + 1);
-HXDLIN( 430) int i = (_g - 1);
-HXDLIN( 430) {
-HXLINE( 430) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
-HXDLIN( 430) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_502_chatId)
+HXDLIN( 502) if (this->isIncoming()) {
+HXLINE( 503) ::Array< ::Dynamic> _this = this->replyTo;
+HXDLIN( 503) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 503) {
+HXLINE( 503) int _g = 0;
+HXDLIN( 503) int _g1 = _this->length;
+HXDLIN( 503) while((_g < _g1)){
+HXLINE( 503) _g = (_g + 1);
+HXDLIN( 503) int i = (_g - 1);
+HXDLIN( 503) {
+HXLINE( 503) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
+HXDLIN( 503) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 430) return result->join(HX_("\n",0a,00,00,00));
+HXDLIN( 503) return result->join(HX_("\n",0a,00,00,00));
}
else {
-HXLINE( 432) ::Array< ::Dynamic> _this1 = this->recipients;
-HXDLIN( 432) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 432) {
-HXLINE( 432) int _g2 = 0;
-HXDLIN( 432) int _g3 = _this1->length;
-HXDLIN( 432) while((_g2 < _g3)){
-HXLINE( 432) _g2 = (_g2 + 1);
-HXDLIN( 432) int i1 = (_g2 - 1);
-HXDLIN( 432) {
-HXLINE( 432) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
-HXDLIN( 432) result1->__unsafe_set(i1,inValue1);
+HXLINE( 505) ::Array< ::Dynamic> _this1 = this->recipients;
+HXDLIN( 505) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 505) {
+HXLINE( 505) int _g2 = 0;
+HXDLIN( 505) int _g3 = _this1->length;
+HXDLIN( 505) while((_g2 < _g3)){
+HXLINE( 505) _g2 = (_g2 + 1);
+HXDLIN( 505) int i1 = (_g2 - 1);
+HXDLIN( 505) {
+HXLINE( 505) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
+HXDLIN( 505) result1->__unsafe_set(i1,inValue1);
}
}
}
-HXDLIN( 432) return result1->join(HX_("\n",0a,00,00,00));
+HXDLIN( 505) return result1->join(HX_("\n",0a,00,00,00));
}
-HXLINE( 429) return null();
+HXLINE( 502) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,chatId,return )
::String ChatMessage_obj::account(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_440_account)
-HXDLIN( 440) ::String tmp;
-HXDLIN( 440) if (!(this->isIncoming())) {
-HXDLIN( 440) ::borogove::JID tmp1 = this->from;
-HXDLIN( 440) ::borogove::JID tmp2;
-HXDLIN( 440) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 440) tmp2 = tmp1->asBare();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_513_account)
+HXDLIN( 513) ::String tmp;
+HXDLIN( 513) if (!(this->isIncoming())) {
+HXDLIN( 513) ::borogove::JID tmp1 = this->from;
+HXDLIN( 513) ::borogove::JID tmp2;
+HXDLIN( 513) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 513) tmp2 = tmp1->asBare();
}
else {
-HXDLIN( 440) tmp2 = null();
+HXDLIN( 513) tmp2 = null();
}
-HXDLIN( 440) if (::hx::IsNotNull( tmp2 )) {
-HXDLIN( 440) tmp = tmp2->asString();
+HXDLIN( 513) if (::hx::IsNotNull( tmp2 )) {
+HXDLIN( 513) tmp = tmp2->asString();
}
else {
-HXDLIN( 440) tmp = null();
+HXDLIN( 513) tmp = null();
}
}
else {
-HXDLIN( 440) ::borogove::JID tmp3 = this->to;
-HXDLIN( 440) ::borogove::JID tmp4;
-HXDLIN( 440) if (::hx::IsNotNull( tmp3 )) {
-HXDLIN( 440) tmp4 = tmp3->asBare();
+HXDLIN( 513) ::borogove::JID tmp3 = this->to;
+HXDLIN( 513) ::borogove::JID tmp4;
+HXDLIN( 513) if (::hx::IsNotNull( tmp3 )) {
+HXDLIN( 513) tmp4 = tmp3->asBare();
}
else {
-HXDLIN( 440) tmp4 = null();
+HXDLIN( 513) tmp4 = null();
}
-HXDLIN( 440) if (::hx::IsNotNull( tmp4 )) {
-HXDLIN( 440) tmp = tmp4->asString();
+HXDLIN( 513) if (::hx::IsNotNull( tmp4 )) {
+HXDLIN( 513) tmp = tmp4->asString();
}
else {
-HXDLIN( 440) tmp = null();
+HXDLIN( 513) tmp = null();
}
}
-HXDLIN( 440) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 440) return tmp;
+HXDLIN( 513) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 513) return tmp;
}
else {
-HXDLIN( 440) HX_STACK_DO_THROW(HX_("from or to is null",7f,19,89,e6));
+HXDLIN( 513) HX_STACK_DO_THROW(HX_("from or to is null",7f,19,89,e6));
}
-HXDLIN( 440) return null();
+HXDLIN( 513) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,account,return )
::borogove::Member ChatMessage_obj::senderMemberStub(){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_446_senderMemberStub)
-HXLINE( 447) ::String displayName;
-HXDLIN( 447) ::String tmp;
-HXDLIN( 447) if ((this->type == 2)) {
-HXLINE( 447) tmp = this->from->resource;
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_519_senderMemberStub)
+HXLINE( 520) ::String displayName;
+HXDLIN( 520) ::String tmp;
+HXDLIN( 520) bool tmp1;
+HXDLIN( 520) if ((this->type != 2)) {
+HXLINE( 520) tmp1 = (this->type == 3);
}
else {
-HXLINE( 447) tmp = this->from->asString();
+HXLINE( 520) tmp1 = true;
}
-HXDLIN( 447) if (::hx::IsNotNull( tmp )) {
-HXLINE( 447) displayName = tmp;
+HXDLIN( 520) if (tmp1) {
+HXLINE( 520) tmp = this->from->resource;
}
else {
-HXLINE( 447) displayName = HX_(" ",20,00,00,00);
+HXLINE( 520) tmp = this->from->asBare()->asString();
+ }
+HXDLIN( 520) if (::hx::IsNotNull( tmp )) {
+HXLINE( 520) displayName = tmp;
}
-HXLINE( 448) ::String _hx_tmp = this->senderId;
-HXDLIN( 448) return ::borogove::Member_obj::__alloc( HX_CTX ,_hx_tmp,displayName,null(),!(this->isIncoming()),::Array_obj< ::Dynamic>::__new(0),this->from, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ),null());
+ else {
+HXLINE( 520) displayName = HX_(" ",20,00,00,00);
+ }
+HXLINE( 521) ::String _hx_tmp = this->senderId;
+HXDLIN( 521) return ::borogove::Member_obj::__alloc( HX_CTX ,_hx_tmp,displayName,null(),!(this->isIncoming()),::Array_obj< ::Dynamic>::__new(0),this->from, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ),null());
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,senderMemberStub,return )
bool ChatMessage_obj::canReplace( ::borogove::ChatMessage other){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_455_canReplace)
-HXLINE( 456) bool _hx_tmp;
-HXDLIN( 456) bool _hx_tmp1;
-HXDLIN( 456) if (::hx::IsNotNull( other->serverId )) {
-HXLINE( 456) _hx_tmp1 = (this->serverId == other->serverId);
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_528_canReplace)
+HXLINE( 529) bool _hx_tmp;
+HXDLIN( 529) bool _hx_tmp1;
+HXDLIN( 529) if (::hx::IsNotNull( other->serverId )) {
+HXLINE( 529) _hx_tmp1 = (this->serverId == other->serverId);
}
else {
-HXLINE( 456) _hx_tmp1 = false;
+HXLINE( 529) _hx_tmp1 = false;
}
-HXDLIN( 456) if (_hx_tmp1) {
-HXLINE( 456) _hx_tmp = (this->serverIdBy == other->serverIdBy);
+HXDLIN( 529) if (_hx_tmp1) {
+HXLINE( 529) _hx_tmp = (this->serverIdBy == other->serverIdBy);
}
else {
-HXLINE( 456) _hx_tmp = false;
+HXLINE( 529) _hx_tmp = false;
}
-HXDLIN( 456) if (!(_hx_tmp)) {
-HXLINE( 457) if ((this->localId == other->localId)) {
-HXLINE( 458) bool _hx_tmp2;
-HXDLIN( 458) if (!(this->isIncoming())) {
-HXLINE( 458) _hx_tmp2 = !(other->isIncoming());
+HXDLIN( 529) if (!(_hx_tmp)) {
+HXLINE( 530) if ((this->localId == other->localId)) {
+HXLINE( 531) bool _hx_tmp2;
+HXDLIN( 531) if (!(this->isIncoming())) {
+HXLINE( 531) _hx_tmp2 = !(other->isIncoming());
}
else {
-HXLINE( 458) _hx_tmp2 = false;
+HXLINE( 531) _hx_tmp2 = false;
}
-HXDLIN( 458) if (!(_hx_tmp2)) {
-HXLINE( 458) if ((this->senderId == other->senderId)) {
-HXLINE( 458) return (this->versions->length > 0);
+HXDLIN( 531) if (!(_hx_tmp2)) {
+HXLINE( 531) if ((this->senderId == other->senderId)) {
+HXLINE( 531) return (this->versions->length > 0);
}
else {
-HXLINE( 458) return false;
+HXLINE( 531) return false;
}
}
else {
-HXLINE( 458) return true;
+HXLINE( 531) return true;
}
}
else {
-HXLINE( 457) return false;
+HXLINE( 530) return false;
}
}
else {
-HXLINE( 456) return true;
+HXLINE( 529) return true;
}
-HXDLIN( 456) return false;
+HXDLIN( 529) return false;
}
HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,canReplace,return )
bool ChatMessage_obj::isIncoming(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_465_isIncoming)
-HXDLIN( 465) return (this->direction == 0);
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_542_isIncoming)
+HXDLIN( 542) return (this->direction == 0);
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,isIncoming,return )
::String ChatMessage_obj::threadIcon(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_472_threadIcon)
-HXDLIN( 472) if (::hx::IsNull( this->threadId )) {
-HXDLIN( 472) return null();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_549_threadIcon)
+HXDLIN( 549) if (::hx::IsNull( this->threadId )) {
+HXDLIN( 549) return null();
}
else {
-HXDLIN( 472) return ::borogove::Identicon_obj::svg(this->threadId);
+HXDLIN( 549) return ::borogove::Identicon_obj::svg(this->threadId);
}
-HXDLIN( 472) return null();
+HXDLIN( 549) return null();
}
@@ -1231,26 +1268,26 @@ HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,threadIcon,return )
::String ChatMessage_obj::moderationReason(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza el){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_479_moderationReason)
-HXLINE( 479) return (( (::String)(::Reflect_obj::field(el->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_556_moderationReason)
+HXLINE( 556) return ::hx::IsEq( el->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5) );
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_478_moderationReason)
-HXLINE( 479) ::borogove::Stanza retracted = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXLINE( 480) if (::hx::IsNull( retracted )) {
-HXLINE( 480) return null();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_555_moderationReason)
+HXLINE( 556) ::borogove::Stanza retracted = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE( 557) if (::hx::IsNull( retracted )) {
+HXLINE( 557) return null();
}
else {
-HXLINE( 480) ::String tmp = retracted->getChildText(HX_("reason",c4,0f,9d,fc),null());
-HXDLIN( 480) if (::hx::IsNotNull( tmp )) {
-HXLINE( 480) return tmp;
+HXLINE( 557) ::String tmp = retracted->getChildText(HX_("reason",c4,0f,9d,fc),null());
+HXDLIN( 557) if (::hx::IsNotNull( tmp )) {
+HXLINE( 557) return tmp;
}
else {
-HXLINE( 480) return HX_("moderated",41,37,3b,22);
+HXLINE( 557) return HX_("moderated",41,37,3b,22);
}
}
-HXDLIN( 480) return null();
+HXDLIN( 557) return null();
}
@@ -1259,20 +1296,20 @@ HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,moderationReason,return )
::String ChatMessage_obj::callStatus(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza el){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_487_callStatus)
-HXDLIN( 487) return (( (::String)(::Reflect_obj::field(el->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_564_callStatus)
+HXDLIN( 564) return ::hx::IsEq( el->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07) );
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_487_callStatus)
-HXDLIN( 487) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 487) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 487) return tmp->name;
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_564_callStatus)
+HXDLIN( 564) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 564) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 564) return tmp->name;
}
else {
-HXDLIN( 487) return null();
+HXDLIN( 564) return null();
}
-HXDLIN( 487) return null();
+HXDLIN( 564) return null();
}
@@ -1281,371 +1318,497 @@ HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callStatus,return )
::String ChatMessage_obj::callSid(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza el){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_494_callSid)
-HXDLIN( 494) return (( (::String)(::Reflect_obj::field(el->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_571_callSid)
+HXDLIN( 571) return ::hx::IsEq( el->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07) );
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_494_callSid)
-HXDLIN( 494) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
-HXDLIN( 494) ::Dynamic tmp1;
-HXDLIN( 494) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 494) tmp1 = tmp->attr;
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_571_callSid)
+HXDLIN( 571) ::borogove::Stanza tmp = ( ( ::borogove::Stanza)(::Lambda_obj::find(this->payloads, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 571) ::haxe::ds::StringMap tmp1;
+HXDLIN( 571) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 571) tmp1 = tmp->attr;
}
else {
-HXDLIN( 494) tmp1 = null();
+HXDLIN( 571) tmp1 = null();
}
-HXDLIN( 494) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 494) return ( (::String)(::Reflect_obj::field(tmp1,HX_("id",db,5b,00,00))) );
+HXDLIN( 571) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 571) return tmp1->get_string(HX_("id",db,5b,00,00));
}
else {
-HXDLIN( 494) return null();
+HXDLIN( 571) return null();
}
-HXDLIN( 494) return null();
+HXDLIN( 571) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callSid,return )
::String ChatMessage_obj::callDuration(){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_500_callDuration)
-HXLINE( 501) if ((this->versions->length < 2)) {
-HXLINE( 501) return null();
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_577_callDuration)
+HXLINE( 578) if ((this->versions->length < 2)) {
+HXLINE( 578) return null();
}
-HXLINE( 502) ::String startedStr = this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->timestamp;
-HXLINE( 504) ::String _g = this->callStatus();
-HXDLIN( 504) if (::hx::IsNull( _g )) {
-HXLINE( 519) return null();
+HXLINE( 579) ::String startedStr = this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->timeReceived;
+HXLINE( 581) ::String _g = this->callStatus();
+HXDLIN( 581) if (::hx::IsNull( _g )) {
+HXLINE( 596) return null();
}
else {
-HXLINE( 504) ::String _hx_switch_0 = _g;
+HXLINE( 581) ::String _hx_switch_0 = _g;
if ( (_hx_switch_0==HX_("finish",53,40,7f,86)) ){
-HXLINE( 506) ::String endedStr = this->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->timestamp;
-HXLINE( 507) bool _hx_tmp;
-HXDLIN( 507) if (::hx::IsNotNull( startedStr )) {
-HXLINE( 507) _hx_tmp = ::hx::IsNull( endedStr );
+HXLINE( 583) ::String endedStr = this->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->timeReceived;
+HXLINE( 584) bool _hx_tmp;
+HXDLIN( 584) if (::hx::IsNotNull( startedStr )) {
+HXLINE( 584) _hx_tmp = ::hx::IsNull( endedStr );
}
else {
-HXLINE( 507) _hx_tmp = true;
+HXLINE( 584) _hx_tmp = true;
}
-HXDLIN( 507) if (_hx_tmp) {
-HXLINE( 507) return null();
+HXDLIN( 584) if (_hx_tmp) {
+HXLINE( 584) return null();
}
-HXLINE( 508) Float started = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
-HXLINE( 511) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started,((::datetime::utils::DateTimeUtils_obj::fromString(endedStr) - ((Float)62135596800.0)) + ((Float)62135596800.0))),HX_("%I:%S",44,2d,40,7e));
-HXLINE( 505) goto _hx_goto_64;
+HXLINE( 585) Float started = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
+HXLINE( 588) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started,((::datetime::utils::DateTimeUtils_obj::fromString(endedStr) - ((Float)62135596800.0)) + ((Float)62135596800.0))),HX_("%I:%S",44,2d,40,7e));
+HXLINE( 582) goto _hx_goto_65;
}
if ( (_hx_switch_0==HX_("proceed",2e,96,4a,f1)) ){
-HXLINE( 513) if (::hx::IsNull( startedStr )) {
-HXLINE( 513) return null();
+HXLINE( 590) if (::hx::IsNull( startedStr )) {
+HXLINE( 590) return null();
}
-HXLINE( 514) Float started1 = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
-HXLINE( 517) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started1,((( ::__hxcpp_date_now() + ((Float)62135596800.0)) - ((Float)62135596800.0)) + ((Float)62135596800.0))),HX_("%I:%S",44,2d,40,7e));
-HXLINE( 512) goto _hx_goto_64;
+HXLINE( 591) Float started1 = ::datetime::utils::DateTimeUtils_obj::fromString(startedStr);
+HXLINE( 594) return ::datetime::utils::DateTimeIntervalUtils_obj::strftime(::datetime::_DateTimeInterval::DateTimeInterval_Impl__obj::create(started1,((( ::__hxcpp_date_now() + ((Float)62135596800.0)) - ((Float)62135596800.0)) + ((Float)62135596800.0))),HX_("%I:%S",44,2d,40,7e));
+HXLINE( 589) goto _hx_goto_65;
}
/* default */{
-HXLINE( 519) return null();
+HXLINE( 596) return null();
}
- _hx_goto_64:;
+ _hx_goto_65:;
}
-HXLINE( 504) return null();
+HXLINE( 581) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,callDuration,return )
+::Dynamic ChatMessage_obj::fetchAttachment( ::borogove::ChatAttachment attachment, ::borogove::Client client,::hx::Null< bool > __o_storeIfNeeded){
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_2,bool,storeIfNeeded, ::borogove::ChatMessage,_gthis, ::borogove::Client,client,bool,hasNoHashes, ::borogove::ChatAttachment,attachment) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::ChatAttachment r){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_611_fetchAttachment)
+HXLINE( 612) bool _hx_tmp;
+HXDLIN( 612) if (hasNoHashes) {
+HXLINE( 612) _hx_tmp = (r->hashes->length > 0);
+ }
+ else {
+HXLINE( 612) _hx_tmp = false;
+ }
+HXDLIN( 612) if (_hx_tmp) {
+HXLINE( 613) if (::hx::IsNotNull( _gthis->stanza )) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatAttachment,attachment) HXARGC(1)
+ bool _hx_run( ::borogove::Stanza child){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_614_fetchAttachment)
+HXLINE( 614) ::borogove::Node _g = child->find(HX_("{urn:xmpp:sims:1}media-sharing/sources/{urn:xmpp:reference:0}reference@uri",de,d6,bd,75));
+HXDLIN( 614) if (::hx::IsNull( _g )) {
+HXLINE( 616) return false;
+ }
+ else {
+HXLINE( 614) if ((_g->_hx_getIndex() == 1)) {
+HXLINE( 615) return (_g->_hx_getString(0) == attachment->uris->__get(0));
+ }
+ else {
+HXLINE( 616) return false;
+ }
+ }
+HXLINE( 614) return false;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 614) ::borogove::Stanza sims = ( ( ::borogove::Stanza)(::Lambda_obj::find(_gthis->stanza->allTags(null(),null()), ::Dynamic(new _hx_Closure_0(attachment)))) );
+HXLINE( 618) bool _hx_tmp1;
+HXDLIN( 618) if (::hx::IsNotNull( sims )) {
+HXLINE( 618) _hx_tmp1 = ::hx::IsNotNull( _gthis->stanza );
+ }
+ else {
+HXLINE( 618) _hx_tmp1 = false;
+ }
+HXDLIN( 618) if (_hx_tmp1) {
+HXLINE( 618) _gthis->stanza->removeChild(sims);
+ }
+HXLINE( 619) if (::hx::IsNotNull( _gthis->stanza )) {
+HXLINE( 619) ::borogove::Stanza _gthis1 = _gthis->stanza;
+HXDLIN( 619) _gthis1->addChild(r->sims());
+ }
+ }
+HXLINE( 621) if (storeIfNeeded) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::ChatAttachment,r) HXARGC(1)
+ ::borogove::ChatAttachment _hx_run(::Array< ::Dynamic> _){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_621_fetchAttachment)
+HXLINE( 621) return r;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 621) return ::thenshim::_Promise::Promise_Impl__obj::then(client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,_gthis)), ::Dynamic(new _hx_Closure_1(r)),null());
+ }
+ }
+HXLINE( 623) return ::thenshim::_Promise::Promise_Impl__obj::resolve(r);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ bool storeIfNeeded = __o_storeIfNeeded.Default(true);
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_609_fetchAttachment)
+HXDLIN( 609) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 610) bool hasNoHashes = (attachment->hashes->length < 1);
+HXLINE( 611) return ::thenshim::_Promise::Promise_Impl__obj::then(client->fetchAttachment(attachment), ::Dynamic(new _hx_Closure_2(storeIfNeeded,_gthis,client,hasNoHashes,attachment)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(ChatMessage_obj,fetchAttachment,return )
+
+void ChatMessage_obj::fetchAttachment__fromC( ::borogove::ChatAttachment attachment, ::borogove::Client client,::hx::Null< bool > __o_storeIfNeeded,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ bool storeIfNeeded = __o_storeIfNeeded.Default(true);
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_365_fetchAttachment__fromC)
+HXDLIN( 365) if (::hx::IsNull( handler )) {
+HXDLIN( 365) this->fetchAttachment(attachment,client,storeIfNeeded);
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run( ::borogove::ChatAttachment v){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_365_fetchAttachment__fromC)
+HXDLIN( 365) ::cpp::Function< void (void*,void*) > handler1 = handler;
+HXLINE( 334) ::Dynamic haxeObject = v;
+HXDLIN( 334) void* ptr = haxeObject.mPtr;
+HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
+HXDLIN( 334) {
+HXLINE( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 334) if (::hx::IsNull( store )) {
+HXLINE( 334) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
+HXDLIN( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 365) handler1(ptr,handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_365_fetchAttachment__fromC)
+HXDLIN( 365) handler(null(),handler__context);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchAttachment(attachment,client,storeIfNeeded), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+ }
+ }
+
+
::borogove::Stanza ChatMessage_obj::asStanza(){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_524_asStanza)
-HXDLIN( 524) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 525) if (::hx::IsNotNull( this->stanza )) {
-HXLINE( 525) return this->stanza;
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_628_asStanza)
+HXDLIN( 628) ::borogove::ChatMessage _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 629) if (::hx::IsNotNull( this->stanza )) {
+HXLINE( 629) return this->stanza;
}
-HXLINE( 527) ::String body = this->text;
-HXLINE( 528) ::String attrs;
-HXDLIN( 528) if ((this->type == 2)) {
-HXLINE( 528) attrs = HX_("groupchat",97,1d,c8,e5);
+HXLINE( 631) ::String body = this->text;
+HXLINE( 632) ::String attrs;
+HXDLIN( 632) if ((this->type == 2)) {
+HXLINE( 632) attrs = HX_("groupchat",97,1d,c8,e5);
}
else {
-HXLINE( 528) attrs = HX_("chat",d8,5e,bf,41);
+HXLINE( 632) attrs = HX_("chat",d8,5e,bf,41);
}
-HXDLIN( 528) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN( 632) ::Dynamic attrs1 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("type",ba,f2,08,4d),attrs));
-HXLINE( 529) if (::hx::IsNotNull( this->from )) {
-HXLINE( 529) ::Reflect_obj::setField(attrs1,HX_("from",6a,a5,c2,43),this->from->asString());
+HXLINE( 633) if (::hx::IsNotNull( this->from )) {
+HXLINE( 633) ::Reflect_obj::setField(attrs1,HX_("from",6a,a5,c2,43),this->from->asString());
}
-HXLINE( 530) if (::hx::IsNotNull( this->to )) {
-HXLINE( 530) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->to->asString());
+HXLINE( 634) if (::hx::IsNotNull( this->to )) {
+HXLINE( 634) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->to->asString());
}
-HXLINE( 531) if (::hx::IsNotNull( this->localId )) {
-HXLINE( 531) ::Reflect_obj::setField(attrs1,HX_("id",db,5b,00,00),this->localId);
+HXLINE( 635) if (::hx::IsNotNull( this->localId )) {
+HXLINE( 635) ::Reflect_obj::setField(attrs1,HX_("id",db,5b,00,00),this->localId);
}
-HXLINE( 532) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),attrs1);
-HXLINE( 533) bool _hx_tmp;
-HXDLIN( 533) if ((this->versions->length > 0)) {
-HXLINE( 533) _hx_tmp = ::hx::IsNotNull( this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->localId );
+HXLINE( 636) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a),attrs1,null());
+HXLINE( 637) bool _hx_tmp;
+HXDLIN( 637) if ((this->versions->length > 0)) {
+HXLINE( 637) _hx_tmp = ::hx::IsNotNull( this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->localId );
}
else {
-HXLINE( 533) _hx_tmp = false;
+HXLINE( 637) _hx_tmp = false;
}
-HXDLIN( 533) if (_hx_tmp) {
-HXLINE( 533) stanza->tag(HX_("replace",34,48,28,ab), ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 637) if (_hx_tmp) {
+HXLINE( 637) stanza->tag(HX_("replace",34,48,28,ab), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->versions->__get((this->versions->length - 1)).StaticCast< ::borogove::ChatMessage >()->localId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-correct:0",be,10,1b,b0))))->up();
- }
-HXLINE( 534) if (::hx::IsNotNull( this->threadId )) {
-HXLINE( 534) stanza->textTag(HX_("thread",ca,7a,b9,8e),this->threadId,null());
- }
-HXLINE( 535) if ((this->recipients->length > 1)) {
-HXLINE( 536) ::borogove::Stanza addresses = stanza->tag(HX_("addresses",22,9f,12,8c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/address",c0,fd,09,ed))));
-HXLINE( 537) {
-HXLINE( 537) int _g = 0;
-HXDLIN( 537) ::Array< ::Dynamic> _g1 = this->recipients;
-HXDLIN( 537) while((_g < _g1->length)){
-HXLINE( 537) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
-HXDLIN( 537) _g = (_g + 1);
-HXLINE( 538) addresses->tag(HX_("address",b4,71,0b,9d), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-correct:0",be,10,1b,b0))),null())->up();
+ }
+HXLINE( 638) if (::hx::IsNotNull( this->threadId )) {
+HXLINE( 638) stanza->textTag(HX_("thread",ca,7a,b9,8e),this->threadId,null(),null());
+ }
+HXLINE( 639) if ((this->recipients->length > 1)) {
+HXLINE( 640) ::borogove::Stanza addresses = stanza->tag(HX_("addresses",22,9f,12,8c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/address",c0,fd,09,ed))),null());
+HXLINE( 641) {
+HXLINE( 641) int _g = 0;
+HXDLIN( 641) ::Array< ::Dynamic> _g1 = this->recipients;
+HXDLIN( 641) while((_g < _g1->length)){
+HXLINE( 641) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
+HXDLIN( 641) _g = (_g + 1);
+HXLINE( 642) addresses->tag(HX_("address",b4,71,0b,9d), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("delivered",84,e0,1c,b2),HX_("true",4e,a7,03,4d))
->setFixed(1,HX_("jid",c5,ca,50,00),recipient->asString())
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("to",7b,65,00,00))))->up();
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("to",7b,65,00,00))),null())->up();
}
}
-HXLINE( 540) addresses->up();
+HXLINE( 644) addresses->up();
}
else {
-HXLINE( 541) bool _hx_tmp1;
-HXDLIN( 541) if ((this->recipients->length == 1)) {
-HXLINE( 541) _hx_tmp1 = ::hx::IsNull( this->to );
+HXLINE( 645) bool _hx_tmp1;
+HXDLIN( 645) if ((this->recipients->length == 1)) {
+HXLINE( 645) _hx_tmp1 = ::hx::IsNull( this->to );
}
else {
-HXLINE( 541) _hx_tmp1 = false;
+HXLINE( 645) _hx_tmp1 = false;
}
-HXDLIN( 541) if (_hx_tmp1) {
-HXLINE( 542) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->recipients->__get(0).StaticCast< ::borogove::JID >()->asString());
+HXDLIN( 645) if (_hx_tmp1) {
+HXLINE( 646) ::Reflect_obj::setField(attrs1,HX_("to",7b,65,00,00),this->recipients->__get(0).StaticCast< ::borogove::JID >()->asString());
}
}
-HXLINE( 545) ::borogove::ChatMessage replyToM = this->replyToMessage;
-HXLINE( 546) if (::hx::IsNotNull( replyToM )) {
-HXLINE( 547) ::String replyId = replyToM->getReplyId();
-HXLINE( 548) if (::hx::IsNotNull( body )) {
-HXLINE( 549) ::Array< ::String > lines;
-HXDLIN( 549) ::String tmp = replyToM->text;
-HXDLIN( 549) ::Array< ::String > tmp1;
-HXDLIN( 549) if (::hx::IsNotNull( tmp )) {
-HXLINE( 549) tmp1 = tmp.split(HX_("\n",0a,00,00,00));
+HXLINE( 649) ::borogove::ChatMessage replyToM = this->replyToMessage;
+HXLINE( 650) if (::hx::IsNotNull( replyToM )) {
+HXLINE( 651) ::String replyId = replyToM->getReplyId();
+HXLINE( 652) if (::hx::IsNotNull( body )) {
+HXLINE( 653) ::Array< ::String > lines;
+HXDLIN( 653) ::String tmp = replyToM->text;
+HXDLIN( 653) ::Array< ::String > tmp1;
+HXDLIN( 653) if (::hx::IsNotNull( tmp )) {
+HXLINE( 653) tmp1 = tmp.split(HX_("\n",0a,00,00,00));
+ }
+ else {
+HXLINE( 653) tmp1 = null();
+ }
+HXDLIN( 653) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 653) lines = tmp1;
}
else {
-HXLINE( 549) tmp1 = null();
+HXLINE( 653) lines = ::Array_obj< ::String >::__new(0);
}
-HXDLIN( 549) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 549) lines = tmp1;
+HXLINE( 654) ::String reaction;
+HXDLIN( 654) if (::borogove::EmojiUtil_obj::isEmoji(::StringTools_obj::trim(body))) {
+HXLINE( 654) reaction = ::StringTools_obj::trim(::StringTools_obj::replace(body,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00)));
}
else {
-HXLINE( 549) lines = ::Array_obj< ::String >::__new(0);
+HXLINE( 654) reaction = null();
}
-HXLINE( 550) ::String quoteText = HX_("",00,00,00,00);
-HXLINE( 551) {
-HXLINE( 551) int _g2 = 0;
-HXDLIN( 551) while((_g2 < lines->length)){
-HXLINE( 551) ::String line = lines->__get(_g2);
-HXDLIN( 551) _g2 = (_g2 + 1);
-HXLINE( 552) if (!( ::EReg_obj::__alloc( HX_CTX ,HX_("^(?:> ?){3,}",7a,64,54,8e),HX_("",00,00,00,00))->match(line))) {
-HXLINE( 553) if ((line.charAt(0) == HX_(">",3e,00,00,00))) {
-HXLINE( 554) quoteText = (quoteText + ((HX_(">",3e,00,00,00) + line) + HX_("\n",0a,00,00,00)));
+HXLINE( 655) ::String quoteText = HX_("",00,00,00,00);
+HXLINE( 656) {
+HXLINE( 656) int _g2 = 0;
+HXDLIN( 656) while((_g2 < lines->length)){
+HXLINE( 656) ::String line = lines->__get(_g2);
+HXDLIN( 656) _g2 = (_g2 + 1);
+HXLINE( 657) if (!( ::EReg_obj::__alloc( HX_CTX ,HX_("^(?:> ?){3,}",7a,64,54,8e),HX_("",00,00,00,00))->match(line))) {
+HXLINE( 658) if ((line.charAt(0) == HX_(">",3e,00,00,00))) {
+HXLINE( 659) if (::hx::IsNull( reaction )) {
+HXLINE( 659) quoteText = (quoteText + ((HX_(">",3e,00,00,00) + line) + HX_("\n",0a,00,00,00)));
+ }
}
else {
-HXLINE( 556) quoteText = (quoteText + ((HX_("> ",22,36,00,00) + line) + HX_("\n",0a,00,00,00)));
+HXLINE( 661) quoteText = (quoteText + (HX_("> ",22,36,00,00) + line));
+HXLINE( 662) if (::hx::IsNotNull( reaction )) {
+HXLINE( 662) goto _hx_goto_75;
+ }
+HXLINE( 663) quoteText = (quoteText + HX_("\n",0a,00,00,00));
}
}
}
+ _hx_goto_75:;
}
-HXLINE( 560) if ((quoteText != HX_("",00,00,00,00))) {
-HXLINE( 560) quoteText = (quoteText + HX_("\n",0a,00,00,00));
- }
-HXLINE( 561) ::String reaction;
-HXDLIN( 561) if (::borogove::EmojiUtil_obj::isEmoji(::StringTools_obj::trim(body))) {
-HXLINE( 561) reaction = ::StringTools_obj::trim(::StringTools_obj::replace(body,HX_W(u"\ufe0f",fb86,00b5),HX_("",00,00,00,00)));
+HXLINE( 667) bool _hx_tmp2;
+HXDLIN( 667) if (::hx::IsNotNull( reaction )) {
+HXLINE( 667) _hx_tmp2 = (lines->length > 1);
}
else {
-HXLINE( 561) reaction = null();
+HXLINE( 667) _hx_tmp2 = false;
+ }
+HXDLIN( 667) if (_hx_tmp2) {
+HXLINE( 667) quoteText = (quoteText + HX_W(u"\u2026",ed88,00ab));
+ }
+HXLINE( 668) if (::hx::IsNotNull( reaction )) {
+HXLINE( 668) quoteText = (quoteText + HX_("\n",0a,00,00,00));
+ }
+HXLINE( 669) if ((quoteText != HX_("",00,00,00,00))) {
+HXLINE( 669) quoteText = (quoteText + HX_("\n",0a,00,00,00));
}
-HXLINE( 562) body = (quoteText + body);
-HXLINE( 563) if (::hx::IsNotNull( replyId )) {
-HXLINE( 564) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(quoteText);
-HXLINE( 565) if (::hx::IsNotNull( reaction )) {
-HXLINE( 566) ::haxe::ds::StringMap addedReactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 567) stanza->tag(HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 670) body = (quoteText + body);
+HXLINE( 671) if (::hx::IsNotNull( replyId )) {
+HXLINE( 672) ::Array< ::String > codepoints = ::borogove::StringUtil_obj::codepointArray(quoteText);
+HXLINE( 673) if (::hx::IsNotNull( reaction )) {
+HXLINE( 674) ::haxe::ds::StringMap addedReactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 675) stanza->tag(HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),replyId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reactions:0",44,fb,42,53))));
-HXLINE( 568) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction,null());
-HXLINE( 569) addedReactions->set(reaction,true);
-HXLINE( 571) {
-HXLINE( 571) ::Dynamic this1 = replyToM->reactions;
-HXDLIN( 571) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
-HXDLIN( 571) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 571) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 571) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
-HXLINE( 572) bool _hx_tmp2;
-HXDLIN( 572) ::Dynamic tmp2 = addedReactions->get(key);
-HXDLIN( 572) bool _hx_tmp3;
-HXDLIN( 572) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 572) _hx_tmp3 = ( (bool)(tmp2) );
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reactions:0",44,fb,42,53))),null());
+HXLINE( 676) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction,null(),null());
+HXLINE( 677) addedReactions->set(reaction,true);
+HXLINE( 679) {
+HXLINE( 679) ::Dynamic this1 = replyToM->reactions;
+HXDLIN( 679) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN( 679) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 679) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 679) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE( 680) bool _hx_tmp3;
+HXDLIN( 680) ::Dynamic tmp2 = addedReactions->get(key);
+HXDLIN( 680) bool _hx_tmp4;
+HXDLIN( 680) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 680) _hx_tmp4 = ( (bool)(tmp2) );
}
else {
-HXLINE( 572) _hx_tmp3 = false;
+HXLINE( 680) _hx_tmp4 = false;
}
-HXDLIN( 572) if (!(_hx_tmp3)) {
+HXDLIN( 680) if (!(_hx_tmp4)) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessage,_gthis) HXARGC(1)
bool _hx_run( ::borogove::Reaction r){
- HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_572_asStanza)
-HXLINE( 572) return (r->senderId == _gthis->senderId);
+ HX_GC_STACKFRAME(&_hx_pos_20f00185d7354fd9_680_asStanza)
+HXLINE( 680) return (r->senderId == _gthis->senderId);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 572) _hx_tmp2 = ::hx::IsNotNull( ::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis))) );
+HXLINE( 680) _hx_tmp3 = ::hx::IsNotNull( ::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis))) );
}
else {
-HXLINE( 572) _hx_tmp2 = false;
+HXLINE( 680) _hx_tmp3 = false;
}
-HXDLIN( 572) if (_hx_tmp2) {
-HXLINE( 573) addedReactions->set(key,true);
-HXLINE( 574) stanza->textTag(HX_("reaction",a9,e7,b4,f6),key,null());
+HXDLIN( 680) if (_hx_tmp3) {
+HXLINE( 681) addedReactions->set(key,true);
+HXLINE( 682) stanza->textTag(HX_("reaction",a9,e7,b4,f6),key,null(),null());
}
}
}
-HXLINE( 577) stanza->up();
-HXLINE( 578) stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 685) stanza->up();
+HXLINE( 686) stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("for",09,c7,4d,00),HX_("urn:xmpp:reactions:0",44,fb,42,53))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))))->tag(HX_("body",a2,7a,1b,41),null())->up()->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))),null())->tag(HX_("body",a2,7a,1b,41),null(),null())->up()->up();
}
-HXLINE( 581) ::borogove::Stanza _hx_tmp4 = stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 689) ::borogove::Stanza _hx_tmp5 = stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("for",09,c7,4d,00),HX_("urn:xmpp:reply:0",c4,d5,6f,90))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))));
-HXDLIN( 581) _hx_tmp4->tag(HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))),null());
+HXDLIN( 689) _hx_tmp5->tag(HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("start",62,74,0b,84),HX_("0",30,00,00,00))
- ->setFixed(1,HX_("end",db,03,4d,00),::Std_obj::string(codepoints->length))))->up()->up();
+ ->setFixed(1,HX_("end",db,03,4d,00),::Std_obj::string(codepoints->length))),null())->up()->up();
}
}
-HXLINE( 585) if (::hx::IsNotNull( replyId )) {
-HXLINE( 585) ::borogove::JID tmp3 = replyToM->from;
-HXDLIN( 585) ::String _hx_tmp5;
-HXDLIN( 585) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 585) _hx_tmp5 = tmp3->asString();
+HXLINE( 693) if (::hx::IsNotNull( replyId )) {
+HXLINE( 693) ::borogove::JID tmp3 = replyToM->from;
+HXDLIN( 693) ::String _hx_tmp6;
+HXDLIN( 693) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 693) _hx_tmp6 = tmp3->asString();
}
else {
-HXLINE( 585) _hx_tmp5 = null();
+HXLINE( 693) _hx_tmp6 = null();
}
-HXDLIN( 585) stanza->tag(HX_("reply",2a,09,c6,e6), ::Dynamic(::hx::Anon_obj::Create(3)
+HXDLIN( 693) stanza->tag(HX_("reply",2a,09,c6,e6), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),replyId)
- ->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp5)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reply:0",c4,d5,6f,90))))->up();
+ ->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp6)
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reply:0",c4,d5,6f,90))),null())->up();
}
}
-HXLINE( 588) {
-HXLINE( 588) int _g3 = 0;
-HXDLIN( 588) ::Array< ::Dynamic> _g4 = this->attachments;
-HXDLIN( 588) while((_g3 < _g4->length)){
-HXLINE( 588) ::borogove::ChatAttachment attachment = _g4->__get(_g3).StaticCast< ::borogove::ChatAttachment >();
-HXDLIN( 588) _g3 = (_g3 + 1);
-HXLINE( 589) stanza->tag(HX_("reference",cb,07,c5,5a), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("data",2a,56,63,42))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reference:0",a5,00,10,5d))))->tag(HX_("media-sharing",33,1c,0a,3d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sims:1",4f,1c,49,62))));
-HXLINE( 593) stanza->tag(HX_("file",7c,ce,bb,43), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37))));
-HXLINE( 594) if (::hx::IsNotNull( attachment->name )) {
-HXLINE( 594) stanza->textTag(HX_("name",4b,72,ff,48),attachment->name,null());
- }
-HXLINE( 595) stanza->textTag(HX_("media-type",03,ce,a4,7d),attachment->mime,null());
-HXLINE( 596) if (::hx::IsNotNull( attachment->size )) {
-HXLINE( 596) stanza->textTag(HX_("size",c1,a0,53,4c),::Std_obj::string(attachment->size),null());
- }
-HXLINE( 597) {
-HXLINE( 597) int _g5 = 0;
-HXDLIN( 597) ::Array< ::Dynamic> _g6 = attachment->hashes;
-HXDLIN( 597) while((_g5 < _g6->length)){
-HXLINE( 597) ::borogove::Hash hash = _g6->__get(_g5).StaticCast< ::borogove::Hash >();
-HXDLIN( 597) _g5 = (_g5 + 1);
-HXLINE( 598) ::String _hx_tmp6 = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(hash->hash),null());
-HXDLIN( 598) stanza->textTag(HX_("hash",ce,2f,08,45),_hx_tmp6, ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("algo",d3,ff,6f,40),hash->algorithm)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hashes:2",90,ad,87,c7))));
- }
- }
-HXLINE( 600) stanza->up();
-HXLINE( 602) stanza->tag(HX_("sources",38,0f,49,b9),null());
-HXLINE( 603) {
-HXLINE( 603) int _g7 = 0;
-HXDLIN( 603) ::Array< ::String > _g8 = attachment->uris;
-HXDLIN( 603) while((_g7 < _g8->length)){
-HXLINE( 603) ::String uri = _g8->__get(_g7);
-HXDLIN( 603) _g7 = (_g7 + 1);
-HXLINE( 604) stanza->tag(HX_("reference",cb,07,c5,5a), ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("uri",6c,2b,59,00),uri)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("data",2a,56,63,42))
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reference:0",a5,00,10,5d))))->up();
- }
- }
-HXLINE( 607) stanza->up()->up()->up();
-HXLINE( 609) if ((attachment->uris->length > 0)) {
-HXLINE( 610) stanza->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:x:oob",aa,8a,5f,ef))))->textTag(HX_("url",6f,2b,59,00),attachment->uris->__get(0),null())->up();
-HXLINE( 611) if (::hx::IsNull( body )) {
-HXLINE( 611) body = HX_("",00,00,00,00);
+HXLINE( 696) {
+HXLINE( 696) int _g3 = 0;
+HXDLIN( 696) ::Array< ::Dynamic> _g4 = this->attachments;
+HXDLIN( 696) while((_g3 < _g4->length)){
+HXLINE( 696) ::borogove::ChatAttachment attachment = _g4->__get(_g3).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN( 696) _g3 = (_g3 + 1);
+HXLINE( 697) stanza->addChild(attachment->sims());
+HXLINE( 699) if ((attachment->uris->length > 0)) {
+HXLINE( 700) stanza->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:x:oob",aa,8a,5f,ef))),null())->textTag(HX_("url",6f,2b,59,00),attachment->uris->__get(0),null(),null())->up();
+HXLINE( 701) if (::hx::IsNull( body )) {
+HXLINE( 701) body = HX_("",00,00,00,00);
}
-HXLINE( 613) int start = ::borogove::StringUtil_obj::codepointArray(body)->length;
-HXLINE( 614) int end = (start + attachment->uris->__get(0).length);
-HXLINE( 615) if ((body != HX_("",00,00,00,00))) {
-HXLINE( 616) body = (body + HX_("\n",0a,00,00,00));
-HXLINE( 617) end = (end + 1);
+HXLINE( 703) int start = ::borogove::StringUtil_obj::codepointArray(body)->length;
+HXLINE( 704) int end = (start + attachment->uris->__get(0).length);
+HXLINE( 705) if ((body != HX_("",00,00,00,00))) {
+HXLINE( 706) body = (body + HX_("\n",0a,00,00,00));
+HXLINE( 707) end = (end + 1);
}
-HXLINE( 619) body = (body + attachment->uris->__get(0));
-HXLINE( 620) ::borogove::Stanza _hx_tmp7 = stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 709) body = (body + attachment->uris->__get(0));
+HXLINE( 710) ::borogove::Stanza _hx_tmp7 = stanza->tag(HX_("fallback",22,f0,9d,2a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("for",09,c7,4d,00),HX_("jabber:x:oob",aa,8a,5f,ef))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))));
-HXLINE( 622) ::String _hx_tmp8 = ::Std_obj::string(start);
-HXLINE( 620) _hx_tmp7->tag(HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:fallback:0",74,aa,56,9b))),null());
+HXLINE( 712) ::String _hx_tmp8 = ::Std_obj::string(start);
+HXLINE( 710) _hx_tmp7->tag(HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("start",62,74,0b,84),_hx_tmp8)
- ->setFixed(1,HX_("end",db,03,4d,00),::Std_obj::string(end))))->up()->up();
+ ->setFixed(1,HX_("end",db,03,4d,00),::Std_obj::string(end))),null())->up()->up();
}
}
}
-HXLINE( 625) if (::hx::IsNotNull( body )) {
-HXLINE( 625) stanza->textTag(HX_("body",a2,7a,1b,41),body,null());
+HXLINE( 715) if (::hx::IsNotNull( body )) {
+HXLINE( 715) stanza->textTag(HX_("body",a2,7a,1b,41),body,null(),null());
}
-HXLINE( 626) {
-HXLINE( 626) int _g9 = 0;
-HXDLIN( 626) ::Array< ::Dynamic> _g10 = this->payloads;
-HXDLIN( 626) while((_g9 < _g10->length)){
-HXLINE( 626) ::borogove::Stanza payload = _g10->__get(_g9).StaticCast< ::borogove::Stanza >();
-HXDLIN( 626) _g9 = (_g9 + 1);
-HXLINE( 627) stanza->addDirectChild(::borogove::Node_obj::Element(payload));
+HXLINE( 716) {
+HXLINE( 716) int _g5 = 0;
+HXDLIN( 716) ::Array< ::Dynamic> _g6 = this->payloads;
+HXDLIN( 716) while((_g5 < _g6->length)){
+HXLINE( 716) ::borogove::Stanza payload = _g6->__get(_g5).StaticCast< ::borogove::Stanza >();
+HXDLIN( 716) _g5 = (_g5 + 1);
+HXLINE( 717) stanza->addDirectChild(::borogove::Node_obj::Element(payload));
}
}
-HXLINE( 629) if ((this->type == 0)) {
-HXLINE( 630) stanza->tag(HX_("request",4f,df,84,44), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c))))->up();
+HXLINE( 719) if ((this->type == 0)) {
+HXLINE( 720) stanza->tag(HX_("request",4f,df,84,44), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c))),null())->up();
}
-HXLINE( 632) return stanza;
+HXLINE( 722) return stanza;
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessage_obj,asStanza,return )
- ::borogove::ChatMessage ChatMessage_obj::fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext){
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_312_fromStanza)
-HXDLIN( 312) ::borogove::MessageStanza _g = ::borogove::Message_obj::fromStanza(stanza,localJid,addContext,null(),true)->parsed;
-HXDLIN( 312) if ((_g->_hx_getIndex() == 1)) {
-HXLINE( 314) return _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+ ::borogove::ChatMessage ChatMessage_obj::fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext, ::borogove::EncryptionInfo encryptionInfo){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_385_fromStanza)
+HXDLIN( 385) ::borogove::MessageStanza _g = ::borogove::Message_obj::fromStanza(stanza,localJid,addContext,encryptionInfo,true)->parsed;
+HXDLIN( 385) if ((_g->_hx_getIndex() == 1)) {
+HXLINE( 387) return _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
}
else {
-HXLINE( 316) return null();
+HXLINE( 389) return null();
}
-HXLINE( 312) return null();
+HXLINE( 385) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(ChatMessage_obj,fromStanza,return )
+
+::Array< ::Dynamic> ChatMessage_obj::combineCorrections(::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_535_combineCorrections)
+HXDLIN( 535) return ::borogove::ChatMessageCombiner_obj::combine(messages);
}
-STATIC_HX_DEFINE_DYNAMIC_FUNC3(ChatMessage_obj,fromStanza,return )
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessage_obj,combineCorrections,return )
+
+size_t ChatMessage_obj::combineCorrections__fromC(::cpp::Pointer< void* > messages,size_t messages__len,void*** outPtr){
+ HX_STACKFRAME(&_hx_pos_9b90dadd5b659bbe_363_combineCorrections__fromC)
+HXLINE( 302) ::Array< ::Dynamic> out;
+HXDLIN( 302) if (::hx::IsNull( messages )) {
+HXLINE( 302) out = ::Array_obj< ::Dynamic>::__new(0);
+ }
+ else {
+HXLINE( 302) ::cpp::Pointer< ::borogove::ChatMessage > _this = messages->reinterpret();
+HXDLIN( 302) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new();
+HXDLIN( 302) ::cpp::Pointer< ::borogove::ChatMessage > tmp = _this;
+HXDLIN( 302) result->setUnmanagedData(tmp,( (int)(messages__len) ));
+HXDLIN( 302) out = result->copy();
+ }
+HXLINE( 363) ::Array< ::Dynamic> out1 = ::borogove::ChatMessage_obj::combineCorrections(out);
+HXDLIN( 363) if (::hx::IsNotNull( outPtr )) {
+HXDLIN( 363) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
+HXDLIN( 363) _hx_tmp->set_ref(::_HaxeCBridge::HaxeArray_Impl__obj::fromNullableArrayT(out1));
+ }
+HXDLIN( 363) return ( (size_t)(out1->length) );
+ }
+
::hx::ObjectPtr< ChatMessage_obj > ChatMessage_obj::__new( ::Dynamic params) {
@@ -1675,7 +1838,8 @@ void ChatMessage_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(sortId,"sortId");
HX_MARK_MEMBER_NAME(syncPoint,"syncPoint");
HX_MARK_MEMBER_NAME(replyId,"replyId");
- HX_MARK_MEMBER_NAME(timestamp,"timestamp");
+ HX_MARK_MEMBER_NAME(timeSent,"timeSent");
+ HX_MARK_MEMBER_NAME(timeReceived,"timeReceived");
HX_MARK_MEMBER_NAME(to,"to");
HX_MARK_MEMBER_NAME(from,"from");
HX_MARK_MEMBER_NAME(recipients,"recipients");
@@ -1684,6 +1848,7 @@ void ChatMessage_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
HX_MARK_MEMBER_NAME(threadId,"threadId");
HX_MARK_MEMBER_NAME(attachments,"attachments");
+ HX_MARK_MEMBER_NAME(debug,"debug");
HX_MARK_MEMBER_NAME(reactions,"reactions");
HX_MARK_MEMBER_NAME(text,"text");
HX_MARK_MEMBER_NAME(lang,"lang");
@@ -1707,7 +1872,8 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(sortId,"sortId");
HX_VISIT_MEMBER_NAME(syncPoint,"syncPoint");
HX_VISIT_MEMBER_NAME(replyId,"replyId");
- HX_VISIT_MEMBER_NAME(timestamp,"timestamp");
+ HX_VISIT_MEMBER_NAME(timeSent,"timeSent");
+ HX_VISIT_MEMBER_NAME(timeReceived,"timeReceived");
HX_VISIT_MEMBER_NAME(to,"to");
HX_VISIT_MEMBER_NAME(from,"from");
HX_VISIT_MEMBER_NAME(recipients,"recipients");
@@ -1716,6 +1882,7 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
HX_VISIT_MEMBER_NAME(threadId,"threadId");
HX_VISIT_MEMBER_NAME(attachments,"attachments");
+ HX_VISIT_MEMBER_NAME(debug,"debug");
HX_VISIT_MEMBER_NAME(reactions,"reactions");
HX_VISIT_MEMBER_NAME(text,"text");
HX_VISIT_MEMBER_NAME(lang,"lang");
@@ -1743,6 +1910,7 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"body") ) { return ::hx::Val( body_dyn() ); }
break;
case 5:
+ if (HX_FIELD_EQ(inName,"debug") ) { return ::hx::Val( debug ); }
if (HX_FIELD_EQ(inName,"reply") ) { return ::hx::Val( reply_dyn() ); }
break;
case 6:
@@ -1761,6 +1929,7 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
break;
case 8:
if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
+ if (HX_FIELD_EQ(inName,"timeSent") ) { return ::hx::Val( timeSent ); }
if (HX_FIELD_EQ(inName,"senderId") ) { return ::hx::Val( senderId ); }
if (HX_FIELD_EQ(inName,"threadId") ) { return ::hx::Val( threadId ); }
if (HX_FIELD_EQ(inName,"versions") ) { return ::hx::Val( versions ); }
@@ -1770,7 +1939,6 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
break;
case 9:
if (HX_FIELD_EQ(inName,"syncPoint") ) { return ::hx::Val( syncPoint ); }
- if (HX_FIELD_EQ(inName,"timestamp") ) { return ::hx::Val( timestamp ); }
if (HX_FIELD_EQ(inName,"reactions") ) { return ::hx::Val( reactions ); }
if (HX_FIELD_EQ(inName,"direction") ) { return ::hx::Val( direction ); }
break;
@@ -1791,6 +1959,7 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
break;
case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { return ::hx::Val( timeReceived ); }
if (HX_FIELD_EQ(inName,"reactionKeys") ) { if (inCallProp == ::hx::paccAlways) return ::hx::Val( get_reactionKeys() ); }
if (HX_FIELD_EQ(inName,"linkMetadata") ) { return ::hx::Val( linkMetadata ); }
if (HX_FIELD_EQ(inName,"callDuration") ) { return ::hx::Val( callDuration_dyn() ); }
@@ -1805,12 +1974,13 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
break;
case 15:
if (HX_FIELD_EQ(inName,"serverId__fromC") ) { return ::hx::Val( serverId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"timeSent__fromC") ) { return ::hx::Val( timeSent__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"senderId__fromC") ) { return ::hx::Val( senderId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"threadId__fromC") ) { return ::hx::Val( threadId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"reactionDetails") ) { return ::hx::Val( reactionDetails_dyn() ); }
+ if (HX_FIELD_EQ(inName,"fetchAttachment") ) { return ::hx::Val( fetchAttachment_dyn() ); }
break;
case 16:
- if (HX_FIELD_EQ(inName,"timestamp__fromC") ) { return ::hx::Val( timestamp__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"get_reactionKeys") ) { return ::hx::Val( get_reactionKeys_dyn() ); }
if (HX_FIELD_EQ(inName,"direction__fromC") ) { return ::hx::Val( direction__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"senderMemberStub") ) { return ::hx::Val( senderMemberStub_dyn() ); }
@@ -1824,6 +1994,9 @@ void ChatMessage_obj::__Visit(HX_VISIT_PARAMS)
case 18:
if (HX_FIELD_EQ(inName,"set_replyToMessage") ) { return ::hx::Val( set_replyToMessage_dyn() ); }
break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"timeReceived__fromC") ) { return ::hx::Val( timeReceived__fromC_dyn() ); }
+ break;
case 20:
if (HX_FIELD_EQ(inName,"inlineHashReferences") ) { return ::hx::Val( inlineHashReferences_dyn() ); }
break;
@@ -1838,6 +2011,9 @@ bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
switch(inName.length) {
case 10:
if (HX_FIELD_EQ(inName,"fromStanza") ) { outValue = fromStanza_dyn(); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"combineCorrections") ) { outValue = combineCorrections_dyn(); return true; }
}
return false;
}
@@ -1854,6 +2030,9 @@ bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
if (HX_FIELD_EQ(inName,"text") ) { text=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"lang") ) { lang=inValue.Cast< ::String >(); return inValue; }
break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"debug") ) { debug=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
case 6:
if (HX_FIELD_EQ(inName,"sortId") ) { sortId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"status") ) { status=inValue.Cast< int >(); return inValue; }
@@ -1866,6 +2045,7 @@ bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
break;
case 8:
if (HX_FIELD_EQ(inName,"serverId") ) { serverId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"timeSent") ) { timeSent=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"senderId") ) { senderId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"threadId") ) { threadId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"versions") ) { versions=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
@@ -1873,7 +2053,6 @@ bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
break;
case 9:
if (HX_FIELD_EQ(inName,"syncPoint") ) { syncPoint=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"timestamp") ) { timestamp=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"reactions") ) { reactions=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
if (HX_FIELD_EQ(inName,"direction") ) { direction=inValue.Cast< int >(); return inValue; }
break;
@@ -1887,6 +2066,7 @@ bool ChatMessage_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::h
if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
break;
case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { timeReceived=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"linkMetadata") ) { linkMetadata=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
break;
case 14:
@@ -1904,7 +2084,8 @@ void ChatMessage_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("sortId",d9,7a,37,30));
outFields->push(HX_("syncPoint",f5,ff,94,98));
outFields->push(HX_("replyId",a5,67,3a,ab));
- outFields->push(HX_("timestamp",d6,d4,ce,a5));
+ outFields->push(HX_("timeSent",05,10,b2,ec));
+ outFields->push(HX_("timeReceived",4e,22,9a,7b));
outFields->push(HX_("to",7b,65,00,00));
outFields->push(HX_("from",6a,a5,c2,43));
outFields->push(HX_("recipients",7a,62,59,87));
@@ -1913,6 +2094,7 @@ void ChatMessage_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("replyToMessage",02,cf,60,a6));
outFields->push(HX_("threadId",45,81,25,cc));
outFields->push(HX_("attachments",30,df,33,e7));
+ outFields->push(HX_("debug",53,52,1f,d7));
outFields->push(HX_("reactions",aa,cc,95,e7));
outFields->push(HX_("reactionKeys",3d,7e,4c,71));
outFields->push(HX_("text",ad,cc,f9,4c));
@@ -1937,7 +2119,8 @@ static ::hx::StorageInfo ChatMessage_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(ChatMessage_obj,sortId),HX_("sortId",d9,7a,37,30)},
{::hx::fsBool,(int)offsetof(ChatMessage_obj,syncPoint),HX_("syncPoint",f5,ff,94,98)},
{::hx::fsString,(int)offsetof(ChatMessage_obj,replyId),HX_("replyId",a5,67,3a,ab)},
- {::hx::fsString,(int)offsetof(ChatMessage_obj,timestamp),HX_("timestamp",d6,d4,ce,a5)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,timeSent),HX_("timeSent",05,10,b2,ec)},
+ {::hx::fsString,(int)offsetof(ChatMessage_obj,timeReceived),HX_("timeReceived",4e,22,9a,7b)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(ChatMessage_obj,to),HX_("to",7b,65,00,00)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(ChatMessage_obj,from),HX_("from",6a,a5,c2,43)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,recipients),HX_("recipients",7a,62,59,87)},
@@ -1946,6 +2129,7 @@ static ::hx::StorageInfo ChatMessage_obj_sMemberStorageInfo[] = {
{::hx::fsObject /* ::borogove::ChatMessage */ ,(int)offsetof(ChatMessage_obj,replyToMessage),HX_("replyToMessage",02,cf,60,a6)},
{::hx::fsString,(int)offsetof(ChatMessage_obj,threadId),HX_("threadId",45,81,25,cc)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessage_obj,attachments),HX_("attachments",30,df,33,e7)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(ChatMessage_obj,debug),HX_("debug",53,52,1f,d7)},
{::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(ChatMessage_obj,reactions),HX_("reactions",aa,cc,95,e7)},
{::hx::fsString,(int)offsetof(ChatMessage_obj,text),HX_("text",ad,cc,f9,4c)},
{::hx::fsString,(int)offsetof(ChatMessage_obj,lang),HX_("lang",ee,05,ad,47)},
@@ -1974,8 +2158,10 @@ static ::String ChatMessage_obj_sMemberFields[] = {
HX_("sortId",d9,7a,37,30),
HX_("syncPoint",f5,ff,94,98),
HX_("replyId",a5,67,3a,ab),
- HX_("timestamp",d6,d4,ce,a5),
- HX_("timestamp__fromC",63,82,8b,d7),
+ HX_("timeSent",05,10,b2,ec),
+ HX_("timeSent__fromC",14,9b,98,a3),
+ HX_("timeReceived",4e,22,9a,7b),
+ HX_("timeReceived__fromC",eb,53,19,1d),
HX_("to",7b,65,00,00),
HX_("from",6a,a5,c2,43),
HX_("recipients",7a,62,59,87),
@@ -1987,6 +2173,7 @@ static ::String ChatMessage_obj_sMemberFields[] = {
HX_("threadId",45,81,25,cc),
HX_("threadId__fromC",d4,d1,81,79),
HX_("attachments",30,df,33,e7),
+ HX_("debug",53,52,1f,d7),
HX_("reactions",aa,cc,95,e7),
HX_("get_reactionKeys",c6,6a,eb,75),
HX_("reactionDetails",19,54,bb,c7),
@@ -2023,6 +2210,7 @@ static ::String ChatMessage_obj_sMemberFields[] = {
HX_("callStatus",70,be,2b,31),
HX_("callSid",10,f5,53,54),
HX_("callDuration",12,b2,d0,4c),
+ HX_("fetchAttachment",bd,6c,63,61),
HX_("asStanza",87,68,cd,94),
::String(null()) };
@@ -2030,6 +2218,7 @@ static ::String ChatMessage_obj_sMemberFields[] = {
static ::String ChatMessage_obj_sStaticFields[] = {
HX_("fromStanza",ff,62,3b,49),
+ HX_("combineCorrections",d6,f6,80,0e),
::String(null())
};
@@ -2059,9 +2248,9 @@ void ChatMessage_obj::__register()
void ChatMessage_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_114_boot)
-HXDLIN( 114) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(21)
+ HX_STACKFRAME(&_hx_pos_20f00185d7354fd9_165_boot)
+HXDLIN( 165) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(24)
->setFixed(0,HX_("serverId__fromC",bb,ba,c0,81), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(1,HX_("statusText__fromC",5a,bd,80,8c), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -2072,37 +2261,48 @@ HXDLIN( 114) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(4,HX_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(5,HX_("localId__fromC",13,27,c6,af), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(5,HX_("timeSent__fromC",14,9b,98,a3), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(6,HX_("localId__fromC",13,27,c6,af), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("reactionDetails",19,54,bb,c7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(7,HX_("reactionDetails",19,54,bb,c7), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(7,HX_("senderId__fromC",89,0f,49,cb), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(8,HX_("senderId__fromC",89,0f,49,cb), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(8,HX_("attachments__fromC",49,d7,f7,d0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(9,HX_("attachments__fromC",49,d7,f7,d0), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(9,HX_("timestamp__fromC",63,82,8b,d7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(10,HX_("fetchAttachment__fromC",5c,c5,4c,d4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(10,HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(11,HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("serverIdBy__fromC",24,52,2e,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(12,HX_("serverIdBy__fromC",24,52,2e,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(13,HX_("encryption__fromC",56,7a,b6,09), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,HX_("encryption__fromC",56,7a,b6,09), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(14,HX_("reactionDetails__fromC",80,c1,f0,09), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(13,HX_("reactionDetails__fromC",80,c1,f0,09), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(15,HX_("versions__fromC",7e,73,e8,14), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(14,HX_("versions__fromC",7e,73,e8,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(16,HX_("timeReceived__fromC",eb,53,19,1d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,HX_("linkMetadata__fromC",10,de,bf,3a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("linkMetadata__fromC",10,de,bf,3a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(16,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(18,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(17,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(18,HX_("get_reactionKeys",c6,6a,eb,75), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(20,HX_("fetchAttachment",bd,6c,63,61), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
+ ->setFixed(21,HX_("get_reactionKeys",c6,6a,eb,75), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(19,HX_("reactionKeys__fromC",dc,e3,50,76), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("reactionKeys__fromC",dc,e3,50,76), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(20,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))))
+ ->setFixed(1,HX_("statics",05,3c,65,36), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("combineCorrections",d6,f6,80,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
+ ->setFixed(1,HX_("combineCorrections__fromC",63,a0,41,7c), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp b/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp
index 2678ac6..b6d55f3 100644
--- a/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp
+++ b/Sources/c_borogove/src/borogove/ChatMessageBuilder.cpp
@@ -7,9 +7,6 @@
#ifndef INCLUDED_Lambda
#include <Lambda.h>
#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -71,8 +68,10 @@ HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_serverIdBy__fromC,"borogove.Ch
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_serverIdBy__fromC,"borogove.ChatMessageBuilder","set_serverIdBy__fromC",0x52133d32,"borogove.ChatMessageBuilder.set_serverIdBy__fromC","HaxeCBridge.hx",489,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_type__fromC,"borogove.ChatMessageBuilder","type__fromC",0x8af06f6a,"borogove.ChatMessageBuilder.type__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_type__fromC,"borogove.ChatMessageBuilder","set_type__fromC",0xb7d8b58d,"borogove.ChatMessageBuilder.set_type__fromC","HaxeCBridge.hx",489,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_timestamp__fromC,"borogove.ChatMessageBuilder","timestamp__fromC",0x36c99818,"borogove.ChatMessageBuilder.timestamp__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_timestamp__fromC,"borogove.ChatMessageBuilder","set_timestamp__fromC",0x3aa13315,"borogove.ChatMessageBuilder.set_timestamp__fromC","HaxeCBridge.hx",489,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_timeSent__fromC,"borogove.ChatMessageBuilder","timeSent__fromC",0x0b5772ff,"borogove.ChatMessageBuilder.timeSent__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_timeSent__fromC,"borogove.ChatMessageBuilder","set_timeSent__fromC",0xffe106a2,"borogove.ChatMessageBuilder.set_timeSent__fromC","HaxeCBridge.hx",489,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_timeReceived__fromC,"borogove.ChatMessageBuilder","timeReceived__fromC",0xb1b9fd56,"borogove.ChatMessageBuilder.timeReceived__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_timeReceived__fromC,"borogove.ChatMessageBuilder","set_timeReceived__fromC",0xe0599e79,"borogove.ChatMessageBuilder.set_timeReceived__fromC","HaxeCBridge.hx",489,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_426_senderId__fromC,"borogove.ChatMessageBuilder","senderId__fromC",0x3307e774,"borogove.ChatMessageBuilder.senderId__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_437_set_senderId__fromC,"borogove.ChatMessageBuilder","set_senderId__fromC",0x27917b17,"borogove.ChatMessageBuilder.set_senderId__fromC","HaxeCBridge.hx",437,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_replyToMessage__fromC,"borogove.ChatMessageBuilder","replyToMessage__fromC",0x10667fe2,"borogove.ChatMessageBuilder.replyToMessage__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -94,43 +93,46 @@ HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_478_encryption__fromC,"borogove.Ch
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_489_set_encryption__fromC,"borogove.ChatMessageBuilder","set_encryption__fromC",0x599b6564,"borogove.ChatMessageBuilder.set_encryption__fromC","HaxeCBridge.hx",489,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_467_set_linkMetadata__fromC,"borogove.ChatMessageBuilder","set_linkMetadata__fromC",0xfe00289e,"borogove.ChatMessageBuilder.set_linkMetadata__fromC","HaxeCBridge.hx",467,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e72a7715fb4723e4_452_linkMetadata__fromC,"borogove.ChatMessageBuilder","linkMetadata__fromC",0xcf60877b,"borogove.ChatMessageBuilder.linkMetadata__fromC","HaxeCBridge.hx",452,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_250_attachSims,"borogove.ChatMessageBuilder","attachSims",0x7e2cb3d6,"borogove.ChatMessageBuilder.attachSims","borogove/ChatMessageBuilder.hx",250,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_271_addAttachment,"borogove.ChatMessageBuilder","addAttachment",0xfc8ec88f,"borogove.ChatMessageBuilder.addAttachment","borogove/ChatMessageBuilder.hx",271,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_280_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",280,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_283_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",283,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_279_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",279,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_306_setSubject,"borogove.ChatMessageBuilder","setSubject",0x2e4d561f,"borogove.ChatMessageBuilder.setSubject","borogove/ChatMessageBuilder.hx",306,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_305_setSubject,"borogove.ChatMessageBuilder","setSubject",0x2e4d561f,"borogove.ChatMessageBuilder.setSubject","borogove/ChatMessageBuilder.hx",305,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_320_chatId,"borogove.ChatMessageBuilder","chatId",0x9cbed648,"borogove.ChatMessageBuilder.chatId","borogove/ChatMessageBuilder.hx",320,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_333_get_senderId,"borogove.ChatMessageBuilder","get_senderId",0x3cf1aa2e,"borogove.ChatMessageBuilder.get_senderId","borogove/ChatMessageBuilder.hx",333,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_338_isIncoming,"borogove.ChatMessageBuilder","isIncoming",0x47aa82e5,"borogove.ChatMessageBuilder.isIncoming","borogove/ChatMessageBuilder.hx",338,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_346_build,"borogove.ChatMessageBuilder","build",0xdd3caf59,"borogove.ChatMessageBuilder.build","borogove/ChatMessageBuilder.hx",346,0xd0295864)
-HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_218_makeModerated,"borogove.ChatMessageBuilder","makeModerated",0xcfb6a69e,"borogove.ChatMessageBuilder.makeModerated","borogove/ChatMessageBuilder.hx",218,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_307_attachSims,"borogove.ChatMessageBuilder","attachSims",0x7e2cb3d6,"borogove.ChatMessageBuilder.attachSims","borogove/ChatMessageBuilder.hx",307,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_328_addAttachment,"borogove.ChatMessageBuilder","addAttachment",0xfc8ec88f,"borogove.ChatMessageBuilder.addAttachment","borogove/ChatMessageBuilder.hx",328,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_338_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",338,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_341_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",341,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_336_setBody,"borogove.ChatMessageBuilder","setBody",0xc02f304f,"borogove.ChatMessageBuilder.setBody","borogove/ChatMessageBuilder.hx",336,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_365_setSubject,"borogove.ChatMessageBuilder","setSubject",0x2e4d561f,"borogove.ChatMessageBuilder.setSubject","borogove/ChatMessageBuilder.hx",365,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_363_setSubject,"borogove.ChatMessageBuilder","setSubject",0x2e4d561f,"borogove.ChatMessageBuilder.setSubject","borogove/ChatMessageBuilder.hx",363,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_379_chatId,"borogove.ChatMessageBuilder","chatId",0x9cbed648,"borogove.ChatMessageBuilder.chatId","borogove/ChatMessageBuilder.hx",379,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_392_get_senderId,"borogove.ChatMessageBuilder","get_senderId",0x3cf1aa2e,"borogove.ChatMessageBuilder.get_senderId","borogove/ChatMessageBuilder.hx",392,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_397_isIncoming,"borogove.ChatMessageBuilder","isIncoming",0x47aa82e5,"borogove.ChatMessageBuilder.isIncoming","borogove/ChatMessageBuilder.hx",397,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_405_build,"borogove.ChatMessageBuilder","build",0xdd3caf59,"borogove.ChatMessageBuilder.build","borogove/ChatMessageBuilder.hx",405,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_238_fromMessage,"borogove.ChatMessageBuilder","fromMessage",0x29d55fe8,"borogove.ChatMessageBuilder.fromMessage","borogove/ChatMessageBuilder.hx",238,0xd0295864)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_273_makeModerated,"borogove.ChatMessageBuilder","makeModerated",0xcfb6a69e,"borogove.ChatMessageBuilder.makeModerated","borogove/ChatMessageBuilder.hx",273,0xd0295864)
HX_LOCAL_STACK_FRAME(_hx_pos_c7017726c326afec_31_boot,"borogove.ChatMessageBuilder","boot",0x7f409e67,"borogove.ChatMessageBuilder.boot","borogove/ChatMessageBuilder.hx",31,0xd0295864)
namespace borogove{
void ChatMessageBuilder_obj::__construct(){
HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_31_new)
-HXLINE( 152) this->stanza = null();
-HXLINE( 146) this->linkMetadata = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 135) this->payloads = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 132) this->versions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 127) this->statusText = null();
-HXLINE( 122) this->status = 0;
-HXLINE( 117) this->direction = 1;
-HXLINE( 112) this->lang = null();
-HXLINE( 107) this->text = null();
-HXLINE( 101) this->reactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 95) this->attachments = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 90) this->threadId = null();
-HXLINE( 85) this->replyToMessage = null();
-HXLINE( 80) this->senderId = null();
-HXLINE( 75) this->replyTo = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 73) this->recipients = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 71) this->sender = null();
-HXLINE( 69) this->from = null();
-HXLINE( 67) this->to = null();
-HXLINE( 64) this->timestamp = null();
+HXLINE( 166) this->stanza = null();
+HXLINE( 160) this->linkMetadata = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 149) this->payloads = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 146) this->versions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 141) this->statusText = null();
+HXLINE( 136) this->status = 0;
+HXLINE( 131) this->direction = 1;
+HXLINE( 126) this->lang = null();
+HXLINE( 121) this->text = null();
+HXLINE( 114) this->reactions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 108) this->debug = null();
+HXLINE( 105) this->attachments = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 100) this->threadId = null();
+HXLINE( 95) this->replyToMessage = null();
+HXLINE( 90) this->senderId = null();
+HXLINE( 85) this->replyTo = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 83) this->recipients = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 81) this->sender = null();
+HXLINE( 79) this->from = null();
+HXLINE( 77) this->to = null();
+HXLINE( 74) this->timeReceived = null();
+HXLINE( 66) this->timeSent = null();
HXLINE( 59) this->replyId = null();
HXLINE( 56) this->syncPoint = false;
HXLINE( 53) this->type = 0;
@@ -219,21 +221,37 @@ HXDLIN( 489) this->type = value;
HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_type__fromC,(void))
-::String ChatMessageBuilder_obj::timestamp__fromC(){
- HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_478_timestamp__fromC)
-HXDLIN( 478) return this->timestamp;
+::String ChatMessageBuilder_obj::timeSent__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_478_timeSent__fromC)
+HXDLIN( 478) return this->timeSent;
}
-HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,timestamp__fromC,return )
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,timeSent__fromC,return )
-void ChatMessageBuilder_obj::set_timestamp__fromC(::String value){
- HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_489_set_timestamp__fromC)
-HXDLIN( 489) this->timestamp = value;
+void ChatMessageBuilder_obj::set_timeSent__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_489_set_timeSent__fromC)
+HXDLIN( 489) this->timeSent = value;
}
-HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_timestamp__fromC,(void))
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_timeSent__fromC,(void))
+
+::String ChatMessageBuilder_obj::timeReceived__fromC(){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_478_timeReceived__fromC)
+HXDLIN( 478) return this->timeReceived;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,timeReceived__fromC,return )
+
+void ChatMessageBuilder_obj::set_timeReceived__fromC(::String value){
+ HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_489_set_timeReceived__fromC)
+HXDLIN( 489) this->timeReceived = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,set_timeReceived__fromC,(void))
::String ChatMessageBuilder_obj::senderId__fromC(){
HX_STACKFRAME(&_hx_pos_e72a7715fb4723e4_426_senderId__fromC)
@@ -421,122 +439,122 @@ HXDLIN( 452) return ( (size_t)(x->length) );
void ChatMessageBuilder_obj::attachSims( ::borogove::Stanza sims){
- HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_250_attachSims)
-HXLINE( 251) ::String mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#",f7,02,ad,24));
-HXLINE( 252) if (::hx::IsNull( mime )) {
-HXLINE( 252) mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#",39,5c,52,9f));
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_307_attachSims)
+HXLINE( 308) ::String mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/media-type#",f7,02,ad,24));
+HXLINE( 309) if (::hx::IsNull( mime )) {
+HXLINE( 309) mime = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/media-type#",39,5c,52,9f));
}
-HXLINE( 253) if (::hx::IsNull( mime )) {
-HXLINE( 253) mime = HX_("application/octet-stream",5d,f8,82,30);
+HXLINE( 310) if (::hx::IsNull( mime )) {
+HXLINE( 310) mime = HX_("application/octet-stream",5d,f8,82,30);
}
-HXLINE( 254) ::String name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/name#",6f,0a,d5,d2));
-HXLINE( 255) if (::hx::IsNull( name )) {
-HXLINE( 255) name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/name#",31,26,70,60));
+HXLINE( 311) ::String name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/name#",6f,0a,d5,d2));
+HXLINE( 312) if (::hx::IsNull( name )) {
+HXLINE( 312) name = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/name#",31,26,70,60));
}
-HXLINE( 256) ::String size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/size#",39,83,29,b9));
-HXLINE( 257) if (::hx::IsNull( size )) {
-HXLINE( 257) size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/size#",fb,9e,c4,46));
+HXLINE( 313) ::String size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:5}/size#",39,83,29,b9));
+HXLINE( 314) if (::hx::IsNull( size )) {
+HXLINE( 314) size = sims->findText(HX_("{urn:xmpp:jingle:apps:file-transfer:3}/size#",fb,9e,c4,46));
}
-HXLINE( 258) ::Array< ::Dynamic> _this;
-HXDLIN( 258) ::borogove::Stanza tmp;
-HXDLIN( 258) ::borogove::Stanza tmp1 = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37));
-HXDLIN( 258) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 258) tmp = tmp1;
+HXLINE( 315) ::Array< ::Dynamic> _this;
+HXDLIN( 315) ::borogove::Stanza tmp;
+HXDLIN( 315) ::borogove::Stanza tmp1 = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:5",9c,81,0d,37));
+HXDLIN( 315) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 315) tmp = tmp1;
}
else {
-HXLINE( 258) tmp = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:3",9a,81,0d,37));
+HXLINE( 315) tmp = sims->getChild(HX_("file",7c,ce,bb,43),HX_("urn:xmpp:jingle:apps:file-transfer:3",9a,81,0d,37));
}
-HXDLIN( 258) ::Array< ::Dynamic> tmp2;
-HXDLIN( 258) if (::hx::IsNotNull( tmp )) {
-HXLINE( 258) tmp2 = tmp->allTags(HX_("hash",ce,2f,08,45),HX_("urn:xmpp:hashes:2",90,ad,87,c7));
+HXDLIN( 315) ::Array< ::Dynamic> tmp2;
+HXDLIN( 315) if (::hx::IsNotNull( tmp )) {
+HXLINE( 315) tmp2 = tmp->allTags(HX_("hash",ce,2f,08,45),HX_("urn:xmpp:hashes:2",90,ad,87,c7));
}
else {
-HXLINE( 258) tmp2 = null();
+HXLINE( 315) tmp2 = null();
}
-HXDLIN( 258) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 258) _this = tmp2;
+HXDLIN( 315) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 315) _this = tmp2;
}
else {
-HXLINE( 258) _this = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 315) _this = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 258) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 258) {
-HXLINE( 258) int _g = 0;
-HXDLIN( 258) int _g1 = _this->length;
-HXDLIN( 258) while((_g < _g1)){
-HXLINE( 258) _g = (_g + 1);
-HXDLIN( 258) int i = (_g - 1);
-HXDLIN( 258) {
-HXLINE( 259) ::borogove::Stanza hash = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 259) ::String inValue;
-HXDLIN( 259) ::String tmp3 = ( (::String)(::Reflect_obj::field(hash->attr,HX_("algo",d3,ff,6f,40))) );
-HXDLIN( 259) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 259) inValue = tmp3;
+HXDLIN( 315) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 315) {
+HXLINE( 315) int _g = 0;
+HXDLIN( 315) int _g1 = _this->length;
+HXDLIN( 315) while((_g < _g1)){
+HXLINE( 315) _g = (_g + 1);
+HXDLIN( 315) int i = (_g - 1);
+HXDLIN( 315) {
+HXLINE( 316) ::borogove::Stanza hash = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 316) ::String inValue;
+HXDLIN( 316) ::String tmp3 = hash->attr->get_string(HX_("algo",d3,ff,6f,40));
+HXDLIN( 316) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 316) inValue = tmp3;
}
else {
-HXLINE( 259) inValue = HX_("",00,00,00,00);
+HXLINE( 316) inValue = HX_("",00,00,00,00);
}
-HXLINE( 258) ::borogove::Hash inValue1 = ::borogove::Hash_obj::__alloc( HX_CTX ,inValue,::haxe::crypto::Base64_obj::decode(hash->getText(),null())->b);
-HXDLIN( 258) result->__unsafe_set(i,inValue1);
+HXLINE( 315) ::borogove::Hash inValue1 = ::borogove::Hash_obj::__alloc( HX_CTX ,inValue,::haxe::crypto::Base64_obj::decode(hash->getText(),null())->b);
+HXDLIN( 315) result->__unsafe_set(i,inValue1);
}
}
}
-HXLINE( 260) ::borogove::Stanza sources = sims->getChild(HX_("sources",38,0f,49,b9),null());
-HXLINE( 261) ::Array< ::Dynamic> _this1;
-HXDLIN( 261) ::Array< ::Dynamic> tmp4;
-HXDLIN( 261) if (::hx::IsNotNull( sources )) {
-HXLINE( 261) tmp4 = sources->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
+HXLINE( 317) ::borogove::Stanza sources = sims->getChild(HX_("sources",38,0f,49,b9),null());
+HXLINE( 318) ::Array< ::Dynamic> _this1;
+HXDLIN( 318) ::Array< ::Dynamic> tmp4;
+HXDLIN( 318) if (::hx::IsNotNull( sources )) {
+HXLINE( 318) tmp4 = sources->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
}
else {
-HXLINE( 261) tmp4 = null();
+HXLINE( 318) tmp4 = null();
}
-HXDLIN( 261) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 261) _this1 = tmp4;
+HXDLIN( 318) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 318) _this1 = tmp4;
}
else {
-HXLINE( 261) _this1 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 318) _this1 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 261) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 261) {
-HXLINE( 261) int _g2 = 0;
-HXDLIN( 261) int _g3 = _this1->length;
-HXDLIN( 261) while((_g2 < _g3)){
-HXLINE( 261) _g2 = (_g2 + 1);
-HXDLIN( 261) int i1 = (_g2 - 1);
-HXDLIN( 261) {
-HXLINE( 261) ::String inValue2;
-HXDLIN( 261) ::String tmp5 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("uri",6c,2b,59,00))) );
-HXDLIN( 261) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 261) inValue2 = tmp5;
+HXDLIN( 318) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 318) {
+HXLINE( 318) int _g2 = 0;
+HXDLIN( 318) int _g3 = _this1->length;
+HXDLIN( 318) while((_g2 < _g3)){
+HXLINE( 318) _g2 = (_g2 + 1);
+HXDLIN( 318) int i1 = (_g2 - 1);
+HXDLIN( 318) {
+HXLINE( 318) ::String inValue2;
+HXDLIN( 318) ::String tmp5 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr->get_string(HX_("uri",6c,2b,59,00));
+HXDLIN( 318) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 318) inValue2 = tmp5;
}
else {
-HXLINE( 261) inValue2 = HX_("",00,00,00,00);
+HXLINE( 318) inValue2 = HX_("",00,00,00,00);
}
-HXDLIN( 261) result1->__unsafe_set(i1,inValue2);
+HXDLIN( 318) result1->__unsafe_set(i1,inValue2);
}
}
}
-HXDLIN( 261) ::Array< ::String > _g4 = ::Array_obj< ::String >::__new(0);
-HXDLIN( 261) {
-HXLINE( 261) int _g5 = 0;
-HXDLIN( 261) while((_g5 < result1->length)){
-HXLINE( 261) ::String v = result1->__get(_g5);
-HXDLIN( 261) _g5 = (_g5 + 1);
-HXDLIN( 261) if ((v != HX_("",00,00,00,00))) {
-HXLINE( 261) _g4->push(v);
+HXDLIN( 318) ::Array< ::String > _g4 = ::Array_obj< ::String >::__new(0);
+HXDLIN( 318) {
+HXLINE( 318) int _g5 = 0;
+HXDLIN( 318) while((_g5 < result1->length)){
+HXLINE( 318) ::String v = result1->__get(_g5);
+HXDLIN( 318) _g5 = (_g5 + 1);
+HXDLIN( 318) if ((v != HX_("",00,00,00,00))) {
+HXLINE( 318) _g4->push(v);
}
}
}
-HXLINE( 262) if ((_g4->length > 0)) {
-HXLINE( 262) ::Array< ::Dynamic> _hx_tmp = this->attachments;
-HXDLIN( 262) ::Dynamic _hx_tmp1;
-HXDLIN( 262) if (::hx::IsNull( size )) {
-HXLINE( 262) _hx_tmp1 = null();
+HXLINE( 319) if ((_g4->length > 0)) {
+HXLINE( 319) ::Array< ::Dynamic> _hx_tmp = this->attachments;
+HXDLIN( 319) ::Dynamic _hx_tmp1;
+HXDLIN( 319) if (::hx::IsNull( size )) {
+HXLINE( 319) _hx_tmp1 = null();
}
else {
-HXLINE( 262) _hx_tmp1 = ::Std_obj::parseInt(size);
+HXLINE( 319) _hx_tmp1 = ::Std_obj::parseInt(size);
}
-HXDLIN( 262) _hx_tmp->push( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp1,_g4,result));
+HXDLIN( 319) _hx_tmp->push( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,name,mime,_hx_tmp1,_g4,result));
}
}
@@ -544,8 +562,8 @@ HXDLIN( 262) _hx_tmp->push( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,n
HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,attachSims,(void))
void ChatMessageBuilder_obj::addAttachment( ::borogove::ChatAttachment attachment){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_271_addAttachment)
-HXDLIN( 271) this->attachments->push(attachment);
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_328_addAttachment)
+HXDLIN( 328) this->attachments->push(attachment);
}
@@ -554,57 +572,59 @@ HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,addAttachment,(void))
void ChatMessageBuilder_obj::setBody( ::borogove::Html html){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_280_setBody)
-HXLINE( 280) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce))) {
-HXLINE( 280) return (p->name == HX_("html",6b,95,16,45));
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_338_setBody)
+HXLINE( 338) if (::hx::IsEq( p->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce) )) {
+HXLINE( 338) return (p->name == HX_("html",6b,95,16,45));
}
else {
-HXLINE( 280) return false;
+HXLINE( 338) return false;
}
-HXDLIN( 280) return false;
+HXDLIN( 338) return false;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_283_setBody)
-HXLINE( 283) if ((( (::String)(::Reflect_obj::field(p->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:styling:0",48,d3,aa,fb))) {
-HXLINE( 283) return (p->name == HX_("unstyled",2c,15,1a,18));
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_341_setBody)
+HXLINE( 341) if (::hx::IsEq( p->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:styling:0",48,d3,aa,fb) )) {
+HXLINE( 341) return (p->name == HX_("unstyled",2c,15,1a,18));
}
else {
-HXLINE( 283) return false;
+HXLINE( 341) return false;
}
-HXDLIN( 283) return false;
+HXDLIN( 341) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_279_setBody)
-HXLINE( 280) int htmlIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
-HXLINE( 281) if ((htmlIdx >= 0)) {
-HXLINE( 281) this->payloads->removeRange(htmlIdx,1);
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_336_setBody)
+HXLINE( 337) this->stanza = null();
+HXLINE( 338) int htmlIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
+HXLINE( 339) if ((htmlIdx >= 0)) {
+HXLINE( 339) this->payloads->removeRange(htmlIdx,1);
}
-HXLINE( 283) int unstyledIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_1()));
-HXLINE( 284) if ((unstyledIdx >= 0)) {
-HXLINE( 284) this->payloads->removeRange(unstyledIdx,1);
+HXLINE( 341) int unstyledIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_1()));
+HXLINE( 342) if ((unstyledIdx >= 0)) {
+HXLINE( 342) this->payloads->removeRange(unstyledIdx,1);
}
-HXLINE( 286) if (::hx::IsNull( html )) {
-HXLINE( 287) this->text = null();
+HXLINE( 344) if (::hx::IsNull( html )) {
+HXLINE( 345) this->text = null();
}
else {
-HXLINE( 289) if (html->isPlainText()) {
-HXLINE( 290) this->payloads->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("unstyled",2c,15,1a,18), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:styling:0",48,d3,aa,fb)))));
+HXLINE( 347) if (html->isPlainText()) {
+HXLINE( 348) ::Array< ::Dynamic> _hx_tmp = this->payloads;
+HXDLIN( 348) _hx_tmp->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("unstyled",2c,15,1a,18), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:styling:0",48,d3,aa,fb))),null()));
}
else {
-HXLINE( 292) ::borogove::Stanza htmlEl = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("html",6b,95,16,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce))));
-HXLINE( 293) ::borogove::Stanza body = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8))));
-HXLINE( 294) htmlEl->addChild(body);
-HXLINE( 295) body->addChildNodes(html->xml);
-HXLINE( 296) this->payloads->push(htmlEl);
+HXLINE( 350) ::borogove::Stanza htmlEl = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("html",6b,95,16,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce))),null());
+HXLINE( 351) ::borogove::Stanza body = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("body",a2,7a,1b,41), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8))),null());
+HXLINE( 352) htmlEl->addChild(body);
+HXLINE( 353) body->addChildNodes(html->xml);
+HXLINE( 354) this->payloads->push(htmlEl);
}
-HXLINE( 298) this->text = html->toPlainText();
+HXLINE( 356) this->text = html->toPlainText();
}
}
@@ -614,236 +634,294 @@ HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,setBody,(void))
void ChatMessageBuilder_obj::setSubject(::String subject){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Stanza p){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_306_setSubject)
-HXLINE( 306) return (p->name == HX_("subject",ac,01,88,29));
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_365_setSubject)
+HXLINE( 365) return (p->name == HX_("subject",ac,01,88,29));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_305_setSubject)
-HXLINE( 306) int subjectIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
-HXLINE( 307) if ((subjectIdx >= 0)) {
-HXLINE( 307) this->payloads->removeRange(subjectIdx,1);
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_363_setSubject)
+HXLINE( 364) this->stanza = null();
+HXLINE( 365) int subjectIdx = ::Lambda_obj::findIndex(this->payloads, ::Dynamic(new _hx_Closure_0()));
+HXLINE( 366) if ((subjectIdx >= 0)) {
+HXLINE( 366) this->payloads->removeRange(subjectIdx,1);
}
-HXLINE( 309) if (::hx::IsNull( subject )) {
-HXLINE( 309) return;
+HXLINE( 368) if (::hx::IsNull( subject )) {
+HXLINE( 368) return;
}
-HXLINE( 311) ::Array< ::Dynamic> _hx_tmp = this->payloads;
-HXDLIN( 311) _hx_tmp->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("subject",ac,01,88,29),null())->text(subject));
+HXLINE( 370) ::Array< ::Dynamic> _hx_tmp = this->payloads;
+HXDLIN( 370) _hx_tmp->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("subject",ac,01,88,29),null(),null())->text(subject));
}
HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,setSubject,(void))
::String ChatMessageBuilder_obj::chatId(){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_320_chatId)
-HXDLIN( 320) if (this->isIncoming()) {
-HXLINE( 321) ::Array< ::Dynamic> _this = this->replyTo;
-HXDLIN( 321) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 321) {
-HXLINE( 321) int _g = 0;
-HXDLIN( 321) int _g1 = _this->length;
-HXDLIN( 321) while((_g < _g1)){
-HXLINE( 321) _g = (_g + 1);
-HXDLIN( 321) int i = (_g - 1);
-HXDLIN( 321) {
-HXLINE( 321) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
-HXDLIN( 321) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_379_chatId)
+HXDLIN( 379) if (this->isIncoming()) {
+HXLINE( 380) ::Array< ::Dynamic> _this = this->replyTo;
+HXDLIN( 380) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 380) {
+HXLINE( 380) int _g = 0;
+HXDLIN( 380) int _g1 = _this->length;
+HXDLIN( 380) while((_g < _g1)){
+HXLINE( 380) _g = (_g + 1);
+HXDLIN( 380) int i = (_g - 1);
+HXDLIN( 380) {
+HXLINE( 380) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
+HXDLIN( 380) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 321) return result->join(HX_("\n",0a,00,00,00));
+HXDLIN( 380) return result->join(HX_("\n",0a,00,00,00));
}
else {
-HXLINE( 323) ::Array< ::Dynamic> _this1 = this->recipients;
-HXDLIN( 323) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 323) {
-HXLINE( 323) int _g2 = 0;
-HXDLIN( 323) int _g3 = _this1->length;
-HXDLIN( 323) while((_g2 < _g3)){
-HXLINE( 323) _g2 = (_g2 + 1);
-HXDLIN( 323) int i1 = (_g2 - 1);
-HXDLIN( 323) {
-HXLINE( 323) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
-HXDLIN( 323) result1->__unsafe_set(i1,inValue1);
+HXLINE( 382) ::Array< ::Dynamic> _this1 = this->recipients;
+HXDLIN( 382) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 382) {
+HXLINE( 382) int _g2 = 0;
+HXDLIN( 382) int _g3 = _this1->length;
+HXDLIN( 382) while((_g2 < _g3)){
+HXLINE( 382) _g2 = (_g2 + 1);
+HXDLIN( 382) int i1 = (_g2 - 1);
+HXDLIN( 382) {
+HXLINE( 382) ::String inValue1 = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this1,i1)) )->asString();
+HXDLIN( 382) result1->__unsafe_set(i1,inValue1);
}
}
}
-HXDLIN( 323) return result1->join(HX_("\n",0a,00,00,00));
+HXDLIN( 382) return result1->join(HX_("\n",0a,00,00,00));
}
-HXLINE( 320) return null();
+HXLINE( 379) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,chatId,return )
::String ChatMessageBuilder_obj::get_senderId(){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_333_get_senderId)
-HXDLIN( 333) ::String tmp = this->senderId;
-HXDLIN( 333) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 333) return tmp;
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_392_get_senderId)
+HXDLIN( 392) ::String tmp = this->senderId;
+HXDLIN( 392) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 392) return tmp;
}
else {
-HXDLIN( 333) ::borogove::JID tmp1 = this->sender;
-HXDLIN( 333) if (::hx::IsNotNull( tmp1 )) {
-HXDLIN( 333) return tmp1->asString();
+HXDLIN( 392) ::borogove::JID tmp1 = this->sender;
+HXDLIN( 392) if (::hx::IsNotNull( tmp1 )) {
+HXDLIN( 392) return tmp1->asString();
}
else {
-HXDLIN( 333) return null();
+HXDLIN( 392) return null();
}
}
-HXDLIN( 333) return null();
+HXDLIN( 392) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,get_senderId,return )
bool ChatMessageBuilder_obj::isIncoming(){
- HX_STACKFRAME(&_hx_pos_c7017726c326afec_338_isIncoming)
-HXDLIN( 338) return (this->direction == 0);
+ HX_STACKFRAME(&_hx_pos_c7017726c326afec_397_isIncoming)
+HXDLIN( 397) return (this->direction == 0);
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,isIncoming,return )
::borogove::ChatMessage ChatMessageBuilder_obj::build(){
- HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_346_build)
-HXLINE( 347) bool _hx_tmp;
-HXDLIN( 347) if (::hx::IsNull( this->serverId )) {
-HXLINE( 347) _hx_tmp = ::hx::IsNull( this->localId );
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_405_build)
+HXLINE( 406) bool _hx_tmp;
+HXDLIN( 406) if (::hx::IsNull( this->serverId )) {
+HXLINE( 406) _hx_tmp = ::hx::IsNull( this->localId );
}
else {
-HXLINE( 347) _hx_tmp = false;
+HXLINE( 406) _hx_tmp = false;
}
-HXDLIN( 347) if (_hx_tmp) {
-HXLINE( 347) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no id",ff,b8,88,e6));
+HXDLIN( 406) if (_hx_tmp) {
+HXLINE( 406) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no id",ff,b8,88,e6));
}
-HXLINE( 348) ::borogove::JID to;
-HXDLIN( 348) ::borogove::JID tmp = this->to;
-HXDLIN( 348) if (::hx::IsNotNull( tmp )) {
-HXLINE( 348) to = tmp;
+HXLINE( 407) ::borogove::JID to;
+HXDLIN( 407) ::borogove::JID tmp = this->to;
+HXDLIN( 407) if (::hx::IsNotNull( tmp )) {
+HXLINE( 407) to = tmp;
}
else {
-HXLINE( 348) if (this->isIncoming()) {
-HXLINE( 348) to = ::borogove::JID_obj::__alloc( HX_CTX ,null(),HX_("inbound.to.me.example.com",05,22,96,fc),null(),null());
+HXLINE( 407) if (this->isIncoming()) {
+HXLINE( 407) to = ::borogove::JID_obj::__alloc( HX_CTX ,null(),HX_("inbound.to.me.example.com",05,22,96,fc),null(),null());
}
else {
-HXLINE( 348) to = null();
+HXLINE( 407) to = null();
}
}
-HXLINE( 349) if (::hx::IsNull( to )) {
-HXLINE( 349) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no to",9f,c2,88,e6));
+HXLINE( 408) if (::hx::IsNull( to )) {
+HXLINE( 408) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no to",9f,c2,88,e6));
}
-HXLINE( 350) ::String senderId = this->get_senderId();
-HXLINE( 351) if (::hx::IsNull( senderId )) {
-HXLINE( 351) HX_STACK_DO_THROW(HX_("Cannot builder a ChatMessage with no sender",0c,5e,21,85));
+HXLINE( 409) ::String senderId = this->get_senderId();
+HXLINE( 410) if (::hx::IsNull( senderId )) {
+HXLINE( 410) HX_STACK_DO_THROW(HX_("Cannot builder a ChatMessage with no sender",0c,5e,21,85));
}
-HXLINE( 352) ::borogove::JID from;
-HXDLIN( 352) ::borogove::JID tmp1 = this->from;
-HXDLIN( 352) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 352) from = tmp1;
+HXLINE( 411) ::borogove::JID from;
+HXDLIN( 411) ::borogove::JID tmp1 = this->from;
+HXDLIN( 411) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 411) from = tmp1;
}
else {
-HXLINE( 352) if (::hx::IsNull( senderId )) {
-HXLINE( 352) from = null();
+HXLINE( 411) if (::hx::IsNull( senderId )) {
+HXLINE( 411) from = null();
}
else {
-HXLINE( 352) from = ::borogove::JID_obj::parse(senderId);
+HXLINE( 411) from = ::borogove::JID_obj::parse(senderId);
}
}
-HXLINE( 353) if (::hx::IsNull( from )) {
-HXLINE( 353) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no from",8e,93,f7,22));
+HXLINE( 412) if (::hx::IsNull( from )) {
+HXLINE( 412) HX_STACK_DO_THROW(HX_("Cannot build a ChatMessage with no from",8e,93,f7,22));
+ }
+HXLINE( 413) if (::hx::IsNull( this->sender )) {
+HXLINE( 413) from->asBare();
+ }
+HXLINE( 415) ::String _hx_tmp1 = this->localId;
+HXLINE( 416) ::String _hx_tmp2 = this->serverId;
+HXLINE( 417) ::String _hx_tmp3 = this->serverIdBy;
+HXLINE( 418) ::String _hx_tmp4 = this->sortId;
+HXLINE( 419) ::Dynamic _hx_tmp5 = this->type;
+HXLINE( 420) ::Dynamic _hx_tmp6 = this->syncPoint;
+HXLINE( 421) ::String _hx_tmp7 = this->replyId;
+HXLINE( 422) ::String _hx_tmp8;
+HXDLIN( 422) ::String tmp2 = this->timeReceived;
+HXDLIN( 422) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 422) _hx_tmp8 = tmp2;
+ }
+ else {
+HXLINE( 422) _hx_tmp8 = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXLINE( 423) ::String tmp3 = this->timeSent;
+HXDLIN( 423) ::String tmp4;
+HXDLIN( 423) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 423) tmp4 = tmp3;
}
-HXLINE( 354) if (::hx::IsNull( this->sender )) {
-HXLINE( 354) from->asBare();
+ else {
+HXLINE( 423) tmp4 = this->timeReceived;
}
-HXLINE( 356) ::String _hx_tmp1 = this->localId;
-HXLINE( 357) ::String _hx_tmp2 = this->serverId;
-HXLINE( 358) ::String _hx_tmp3 = this->serverIdBy;
-HXLINE( 359) ::String _hx_tmp4 = this->sortId;
-HXLINE( 360) ::Dynamic _hx_tmp5 = this->type;
-HXLINE( 361) ::Dynamic _hx_tmp6 = this->syncPoint;
-HXLINE( 362) ::String _hx_tmp7 = this->replyId;
-HXLINE( 363) ::String tmp2 = this->timestamp;
-HXDLIN( 363) ::String _hx_tmp8;
-HXDLIN( 363) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 363) _hx_tmp8 = tmp2;
+HXDLIN( 423) ::String _hx_tmp9;
+HXDLIN( 423) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 423) _hx_tmp9 = tmp4;
}
else {
-HXLINE( 363) _hx_tmp8 = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE( 423) _hx_tmp9 = ::borogove::Date_obj::format(::Date_obj::now());
}
-HXLINE( 355) return ::borogove::ChatMessage_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(27)
+HXLINE( 414) return ::borogove::ChatMessage_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(29)
->setFixed(0,HX_("recipients",7a,62,59,87),this->recipients)
->setFixed(1,HX_("syncPoint",f5,ff,94,98),_hx_tmp6)
->setFixed(2,HX_("payloads",25,dd,d1,a1),this->payloads)
- ->setFixed(3,HX_("timestamp",d6,d4,ce,a5),_hx_tmp8)
- ->setFixed(4,HX_("replyToMessage",02,cf,60,a6),this->replyToMessage)
- ->setFixed(5,HX_("replyId",a5,67,3a,ab),_hx_tmp7)
- ->setFixed(6,HX_("replyTo",45,71,3a,ab),this->replyTo)
- ->setFixed(7,HX_("statusText",ff,60,57,b1),this->statusText)
- ->setFixed(8,HX_("threadId",45,81,25,cc),this->threadId)
- ->setFixed(9,HX_("versions",5b,4e,b8,d6),this->versions)
+ ->setFixed(3,HX_("replyToMessage",02,cf,60,a6),this->replyToMessage)
+ ->setFixed(4,HX_("replyId",a5,67,3a,ab),_hx_tmp7)
+ ->setFixed(5,HX_("replyTo",45,71,3a,ab),this->replyTo)
+ ->setFixed(6,HX_("statusText",ff,60,57,b1),this->statusText)
+ ->setFixed(7,HX_("threadId",45,81,25,cc),this->threadId)
+ ->setFixed(8,HX_("versions",5b,4e,b8,d6),this->versions)
+ ->setFixed(9,HX_("debug",53,52,1f,d7),this->debug)
->setFixed(10,HX_("serverId",7e,01,b2,e2),_hx_tmp2)
->setFixed(11,HX_("attachments",30,df,33,e7),this->attachments)
->setFixed(12,HX_("reactions",aa,cc,95,e7),this->reactions)
->setFixed(13,HX_("senderId",f0,1e,0e,ec),senderId)
- ->setFixed(14,HX_("to",7b,65,00,00),to)
- ->setFixed(15,HX_("stanza",f5,5d,f7,05),this->stanza)
- ->setFixed(16,HX_("status",32,e7,fb,05),this->status)
- ->setFixed(17,HX_("direction",3f,62,40,10),this->direction)
- ->setFixed(18,HX_("localId",26,7a,c6,2d),_hx_tmp1)
- ->setFixed(19,HX_("sortId",d9,7a,37,30),_hx_tmp4)
- ->setFixed(20,HX_("from",6a,a5,c2,43),from)
- ->setFixed(21,HX_("lang",ee,05,ad,47),this->lang)
- ->setFixed(22,HX_("text",ad,cc,f9,4c),this->text)
- ->setFixed(23,HX_("type",ba,f2,08,4d),_hx_tmp5)
- ->setFixed(24,HX_("encryption",83,dc,39,4f),this->encryption)
- ->setFixed(25,HX_("serverIdBy",f5,16,54,74),_hx_tmp3)
- ->setFixed(26,HX_("linkMetadata",89,45,ae,7c),this->linkMetadata)));
+ ->setFixed(14,HX_("timeSent",05,10,b2,ec),_hx_tmp9)
+ ->setFixed(15,HX_("to",7b,65,00,00),to)
+ ->setFixed(16,HX_("stanza",f5,5d,f7,05),this->stanza)
+ ->setFixed(17,HX_("status",32,e7,fb,05),this->status)
+ ->setFixed(18,HX_("direction",3f,62,40,10),this->direction)
+ ->setFixed(19,HX_("localId",26,7a,c6,2d),_hx_tmp1)
+ ->setFixed(20,HX_("sortId",d9,7a,37,30),_hx_tmp4)
+ ->setFixed(21,HX_("from",6a,a5,c2,43),from)
+ ->setFixed(22,HX_("lang",ee,05,ad,47),this->lang)
+ ->setFixed(23,HX_("text",ad,cc,f9,4c),this->text)
+ ->setFixed(24,HX_("type",ba,f2,08,4d),_hx_tmp5)
+ ->setFixed(25,HX_("encryption",83,dc,39,4f),this->encryption)
+ ->setFixed(26,HX_("serverIdBy",f5,16,54,74),_hx_tmp3)
+ ->setFixed(27,HX_("timeReceived",4e,22,9a,7b),_hx_tmp8)
+ ->setFixed(28,HX_("linkMetadata",89,45,ae,7c),this->linkMetadata)));
}
HX_DEFINE_DYNAMIC_FUNC0(ChatMessageBuilder_obj,build,return )
- ::borogove::ChatMessage ChatMessageBuilder_obj::makeModerated( ::borogove::ChatMessage m,::String timestamp,::String moderatorId,::String reason){
- HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_218_makeModerated)
-HXLINE( 219) ::borogove::ChatMessageBuilder builder = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 220) builder->localId = m->localId;
-HXLINE( 221) builder->serverId = m->serverId;
-HXLINE( 222) builder->serverIdBy = m->serverIdBy;
-HXLINE( 223) builder->sortId = m->sortId;
-HXLINE( 224) builder->type = m->type;
-HXLINE( 225) builder->syncPoint = m->syncPoint;
-HXLINE( 226) builder->replyId = m->replyId;
-HXLINE( 227) builder->timestamp = m->timestamp;
-HXLINE( 228) builder->to = m->to;
-HXLINE( 229) builder->from = m->from;
-HXLINE( 230) builder->senderId = m->senderId;
-HXLINE( 231) builder->recipients = ::Lambda_obj::array(m->recipients);
-HXLINE( 232) builder->replyTo = ::Lambda_obj::array(m->replyTo);
-HXLINE( 233) builder->replyToMessage = m->replyToMessage;
-HXLINE( 234) builder->threadId = m->threadId;
-HXLINE( 235) builder->reactions = m->reactions;
-HXLINE( 236) builder->direction = m->direction;
-HXLINE( 237) builder->status = m->status;
-HXLINE( 238) ::borogove::ChatMessage cleanedStub = builder->build();
-HXLINE( 239) ::borogove::Stanza payload = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("retracted",a0,7c,77,08), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("stamp",03,70,0b,84),timestamp)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5))));
-HXLINE( 240) if (::hx::IsNotNull( reason )) {
-HXLINE( 240) payload->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
+ ::borogove::ChatMessageBuilder ChatMessageBuilder_obj::fromMessage( ::borogove::ChatMessage m){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_238_fromMessage)
+HXLINE( 239) ::borogove::ChatMessageBuilder builder = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 240) builder->localId = m->localId;
+HXLINE( 241) builder->serverId = m->serverId;
+HXLINE( 242) builder->serverIdBy = m->serverIdBy;
+HXLINE( 243) builder->sortId = m->sortId;
+HXLINE( 244) builder->type = m->type;
+HXLINE( 245) builder->syncPoint = m->syncPoint;
+HXLINE( 246) builder->replyId = m->replyId;
+HXLINE( 247) builder->timeSent = m->timeSent;
+HXLINE( 248) builder->timeReceived = m->timeReceived;
+HXLINE( 249) builder->to = m->to;
+HXLINE( 250) builder->from = m->from;
+HXLINE( 251) builder->senderId = m->senderId;
+HXLINE( 252) builder->recipients = ::Lambda_obj::array(m->recipients);
+HXLINE( 253) builder->replyTo = ::Lambda_obj::array(m->replyTo);
+HXLINE( 254) builder->replyToMessage = m->replyToMessage;
+HXLINE( 255) builder->threadId = m->threadId;
+HXLINE( 256) builder->attachments = ::Lambda_obj::array(m->attachments);
+HXLINE( 257) builder->debug = m->debug;
+HXLINE( 258) builder->reactions = m->reactions;
+HXLINE( 259) builder->direction = m->direction;
+HXLINE( 260) builder->status = m->status;
+HXLINE( 261) builder->statusText = m->statusText;
+HXLINE( 262) builder->versions = ::Lambda_obj::array(m->versions);
+HXLINE( 263) builder->payloads = ::Lambda_obj::array(m->payloads);
+HXLINE( 264) builder->encryption = m->encryption;
+HXLINE( 265) builder->linkMetadata = ::Lambda_obj::array(m->linkMetadata);
+HXLINE( 266) builder->stanza = m->stanza;
+HXLINE( 267) builder->text = m->text;
+HXLINE( 268) builder->lang = m->lang;
+HXLINE( 269) return builder;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessageBuilder_obj,fromMessage,return )
+
+ ::borogove::ChatMessage ChatMessageBuilder_obj::makeModerated( ::borogove::ChatMessage m,::String timeSent,::String timeReceived,::String moderatorId,::String reason){
+ HX_GC_STACKFRAME(&_hx_pos_c7017726c326afec_273_makeModerated)
+HXLINE( 274) ::borogove::ChatMessageBuilder builder = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 275) builder->localId = m->localId;
+HXLINE( 276) builder->serverId = m->serverId;
+HXLINE( 277) builder->serverIdBy = m->serverIdBy;
+HXLINE( 278) builder->sortId = m->sortId;
+HXLINE( 279) builder->type = m->type;
+HXLINE( 280) builder->syncPoint = m->syncPoint;
+HXLINE( 281) builder->replyId = m->replyId;
+HXLINE( 282) builder->timeSent = m->timeSent;
+HXLINE( 283) builder->timeReceived = m->timeReceived;
+HXLINE( 284) builder->to = m->to;
+HXLINE( 285) builder->from = m->from;
+HXLINE( 286) builder->senderId = m->senderId;
+HXLINE( 287) builder->recipients = ::Lambda_obj::array(m->recipients);
+HXLINE( 288) builder->replyTo = ::Lambda_obj::array(m->replyTo);
+HXLINE( 289) builder->replyToMessage = m->replyToMessage;
+HXLINE( 290) builder->threadId = m->threadId;
+HXLINE( 291) builder->debug = m->debug;
+HXLINE( 292) builder->reactions = m->reactions;
+HXLINE( 293) builder->direction = m->direction;
+HXLINE( 294) builder->status = m->status;
+HXLINE( 295) ::borogove::ChatMessage cleanedStub = builder->build();
+HXLINE( 296) ::borogove::Stanza payload = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("retracted",a0,7c,77,08), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("stamp",03,70,0b,84),timeSent)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5))),null());
+HXLINE( 297) if (::hx::IsNotNull( reason )) {
+HXLINE( 297) payload->textTag(HX_("reason",c4,0f,9d,fc),reason,null(),null());
}
-HXLINE( 241) payload->tag(HX_("moderated",41,37,3b,22), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 298) payload->tag(HX_("moderated",41,37,3b,22), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("by",d7,55,00,00),moderatorId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))))->up();
-HXLINE( 242) builder->payloads->push(payload);
-HXLINE( 243) builder->timestamp = timestamp;
-HXLINE( 244) builder->versions = ::Array_obj< ::Dynamic>::__new(2)->init(0,builder->build())->init(1,cleanedStub);
-HXLINE( 245) builder->timestamp = m->timestamp;
-HXLINE( 246) return builder->build();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:message-moderate:1",5c,30,1a,b9))),null())->up();
+HXLINE( 299) builder->payloads->push(payload);
+HXLINE( 300) builder->timeSent = timeSent;
+HXLINE( 301) builder->timeReceived = timeReceived;
+HXLINE( 302) builder->versions = ::Array_obj< ::Dynamic>::__new(2)->init(0,builder->build())->init(1,cleanedStub);
+HXLINE( 303) return builder->build();
}
-STATIC_HX_DEFINE_DYNAMIC_FUNC4(ChatMessageBuilder_obj,makeModerated,return )
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(ChatMessageBuilder_obj,makeModerated,return )
::hx::ObjectPtr< ChatMessageBuilder_obj > ChatMessageBuilder_obj::__new() {
@@ -873,7 +951,8 @@ void ChatMessageBuilder_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(type,"type");
HX_MARK_MEMBER_NAME(syncPoint,"syncPoint");
HX_MARK_MEMBER_NAME(replyId,"replyId");
- HX_MARK_MEMBER_NAME(timestamp,"timestamp");
+ HX_MARK_MEMBER_NAME(timeSent,"timeSent");
+ HX_MARK_MEMBER_NAME(timeReceived,"timeReceived");
HX_MARK_MEMBER_NAME(to,"to");
HX_MARK_MEMBER_NAME(from,"from");
HX_MARK_MEMBER_NAME(sender,"sender");
@@ -883,6 +962,7 @@ void ChatMessageBuilder_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(replyToMessage,"replyToMessage");
HX_MARK_MEMBER_NAME(threadId,"threadId");
HX_MARK_MEMBER_NAME(attachments,"attachments");
+ HX_MARK_MEMBER_NAME(debug,"debug");
HX_MARK_MEMBER_NAME(reactions,"reactions");
HX_MARK_MEMBER_NAME(text,"text");
HX_MARK_MEMBER_NAME(lang,"lang");
@@ -906,7 +986,8 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(type,"type");
HX_VISIT_MEMBER_NAME(syncPoint,"syncPoint");
HX_VISIT_MEMBER_NAME(replyId,"replyId");
- HX_VISIT_MEMBER_NAME(timestamp,"timestamp");
+ HX_VISIT_MEMBER_NAME(timeSent,"timeSent");
+ HX_VISIT_MEMBER_NAME(timeReceived,"timeReceived");
HX_VISIT_MEMBER_NAME(to,"to");
HX_VISIT_MEMBER_NAME(from,"from");
HX_VISIT_MEMBER_NAME(sender,"sender");
@@ -916,6 +997,7 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(replyToMessage,"replyToMessage");
HX_VISIT_MEMBER_NAME(threadId,"threadId");
HX_VISIT_MEMBER_NAME(attachments,"attachments");
+ HX_VISIT_MEMBER_NAME(debug,"debug");
HX_VISIT_MEMBER_NAME(reactions,"reactions");
HX_VISIT_MEMBER_NAME(text,"text");
HX_VISIT_MEMBER_NAME(lang,"lang");
@@ -942,6 +1024,7 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"lang") ) { return ::hx::Val( lang ); }
break;
case 5:
+ if (HX_FIELD_EQ(inName,"debug") ) { return ::hx::Val( debug ); }
if (HX_FIELD_EQ(inName,"build") ) { return ::hx::Val( build_dyn() ); }
break;
case 6:
@@ -959,6 +1042,7 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
break;
case 8:
if (HX_FIELD_EQ(inName,"serverId") ) { return ::hx::Val( serverId ); }
+ if (HX_FIELD_EQ(inName,"timeSent") ) { return ::hx::Val( timeSent ); }
if (HX_FIELD_EQ(inName,"senderId") ) { return ::hx::Val( inCallProp == ::hx::paccAlways ? get_senderId() : senderId ); }
if (HX_FIELD_EQ(inName,"threadId") ) { return ::hx::Val( threadId ); }
if (HX_FIELD_EQ(inName,"versions") ) { return ::hx::Val( versions ); }
@@ -966,7 +1050,6 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
break;
case 9:
if (HX_FIELD_EQ(inName,"syncPoint") ) { return ::hx::Val( syncPoint ); }
- if (HX_FIELD_EQ(inName,"timestamp") ) { return ::hx::Val( timestamp ); }
if (HX_FIELD_EQ(inName,"reactions") ) { return ::hx::Val( reactions ); }
if (HX_FIELD_EQ(inName,"direction") ) { return ::hx::Val( direction ); }
break;
@@ -985,6 +1068,7 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"lang__fromC") ) { return ::hx::Val( lang__fromC_dyn() ); }
break;
case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { return ::hx::Val( timeReceived ); }
if (HX_FIELD_EQ(inName,"linkMetadata") ) { return ::hx::Val( linkMetadata ); }
if (HX_FIELD_EQ(inName,"get_senderId") ) { return ::hx::Val( get_senderId_dyn() ); }
break;
@@ -999,12 +1083,12 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
case 15:
if (HX_FIELD_EQ(inName,"serverId__fromC") ) { return ::hx::Val( serverId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_type__fromC") ) { return ::hx::Val( set_type__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"timeSent__fromC") ) { return ::hx::Val( timeSent__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"senderId__fromC") ) { return ::hx::Val( senderId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"threadId__fromC") ) { return ::hx::Val( threadId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_lang__fromC") ) { return ::hx::Val( set_lang__fromC_dyn() ); }
break;
case 16:
- if (HX_FIELD_EQ(inName,"timestamp__fromC") ) { return ::hx::Val( timestamp__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"direction__fromC") ) { return ::hx::Val( direction__fromC_dyn() ); }
break;
case 17:
@@ -1018,12 +1102,13 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
break;
case 19:
if (HX_FIELD_EQ(inName,"set_serverId__fromC") ) { return ::hx::Val( set_serverId__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"set_timeSent__fromC") ) { return ::hx::Val( set_timeSent__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"timeReceived__fromC") ) { return ::hx::Val( timeReceived__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_senderId__fromC") ) { return ::hx::Val( set_senderId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_threadId__fromC") ) { return ::hx::Val( set_threadId__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_versions__fromC") ) { return ::hx::Val( set_versions__fromC_dyn() ); }
break;
case 20:
- if (HX_FIELD_EQ(inName,"set_timestamp__fromC") ) { return ::hx::Val( set_timestamp__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_direction__fromC") ) { return ::hx::Val( set_direction__fromC_dyn() ); }
break;
case 21:
@@ -1033,6 +1118,7 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"set_encryption__fromC") ) { return ::hx::Val( set_encryption__fromC_dyn() ); }
break;
case 23:
+ if (HX_FIELD_EQ(inName,"set_timeReceived__fromC") ) { return ::hx::Val( set_timeReceived__fromC_dyn() ); }
if (HX_FIELD_EQ(inName,"set_linkMetadata__fromC") ) { return ::hx::Val( set_linkMetadata__fromC_dyn() ); }
break;
case 25:
@@ -1044,6 +1130,9 @@ void ChatMessageBuilder_obj::__Visit(HX_VISIT_PARAMS)
bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
+ case 11:
+ if (HX_FIELD_EQ(inName,"fromMessage") ) { outValue = fromMessage_dyn(); return true; }
+ break;
case 13:
if (HX_FIELD_EQ(inName,"makeModerated") ) { outValue = makeModerated_dyn(); return true; }
}
@@ -1062,6 +1151,9 @@ bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outVal
if (HX_FIELD_EQ(inName,"text") ) { text=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"lang") ) { lang=inValue.Cast< ::String >(); return inValue; }
break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"debug") ) { debug=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
case 6:
if (HX_FIELD_EQ(inName,"sortId") ) { sortId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"sender") ) { sender=inValue.Cast< ::borogove::JID >(); return inValue; }
@@ -1075,6 +1167,7 @@ bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outVal
break;
case 8:
if (HX_FIELD_EQ(inName,"serverId") ) { serverId=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"timeSent") ) { timeSent=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"senderId") ) { senderId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"threadId") ) { threadId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"versions") ) { versions=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
@@ -1082,7 +1175,6 @@ bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outVal
break;
case 9:
if (HX_FIELD_EQ(inName,"syncPoint") ) { syncPoint=inValue.Cast< bool >(); return inValue; }
- if (HX_FIELD_EQ(inName,"timestamp") ) { timestamp=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"reactions") ) { reactions=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
if (HX_FIELD_EQ(inName,"direction") ) { direction=inValue.Cast< int >(); return inValue; }
break;
@@ -1096,6 +1188,7 @@ bool ChatMessageBuilder_obj::__GetStatic(const ::String &inName, Dynamic &outVal
if (HX_FIELD_EQ(inName,"attachments") ) { attachments=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
break;
case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { timeReceived=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"linkMetadata") ) { linkMetadata=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
break;
case 14:
@@ -1113,7 +1206,8 @@ void ChatMessageBuilder_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("type",ba,f2,08,4d));
outFields->push(HX_("syncPoint",f5,ff,94,98));
outFields->push(HX_("replyId",a5,67,3a,ab));
- outFields->push(HX_("timestamp",d6,d4,ce,a5));
+ outFields->push(HX_("timeSent",05,10,b2,ec));
+ outFields->push(HX_("timeReceived",4e,22,9a,7b));
outFields->push(HX_("to",7b,65,00,00));
outFields->push(HX_("from",6a,a5,c2,43));
outFields->push(HX_("sender",b5,c7,84,6b));
@@ -1123,6 +1217,7 @@ void ChatMessageBuilder_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("replyToMessage",02,cf,60,a6));
outFields->push(HX_("threadId",45,81,25,cc));
outFields->push(HX_("attachments",30,df,33,e7));
+ outFields->push(HX_("debug",53,52,1f,d7));
outFields->push(HX_("reactions",aa,cc,95,e7));
outFields->push(HX_("text",ad,cc,f9,4c));
outFields->push(HX_("lang",ee,05,ad,47));
@@ -1146,7 +1241,8 @@ static ::hx::StorageInfo ChatMessageBuilder_obj_sMemberStorageInfo[] = {
{::hx::fsInt,(int)offsetof(ChatMessageBuilder_obj,type),HX_("type",ba,f2,08,4d)},
{::hx::fsBool,(int)offsetof(ChatMessageBuilder_obj,syncPoint),HX_("syncPoint",f5,ff,94,98)},
{::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,replyId),HX_("replyId",a5,67,3a,ab)},
- {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,timestamp),HX_("timestamp",d6,d4,ce,a5)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,timeSent),HX_("timeSent",05,10,b2,ec)},
+ {::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,timeReceived),HX_("timeReceived",4e,22,9a,7b)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(ChatMessageBuilder_obj,to),HX_("to",7b,65,00,00)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(ChatMessageBuilder_obj,from),HX_("from",6a,a5,c2,43)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(ChatMessageBuilder_obj,sender),HX_("sender",b5,c7,84,6b)},
@@ -1156,6 +1252,7 @@ static ::hx::StorageInfo ChatMessageBuilder_obj_sMemberStorageInfo[] = {
{::hx::fsObject /* ::borogove::ChatMessage */ ,(int)offsetof(ChatMessageBuilder_obj,replyToMessage),HX_("replyToMessage",02,cf,60,a6)},
{::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,threadId),HX_("threadId",45,81,25,cc)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(ChatMessageBuilder_obj,attachments),HX_("attachments",30,df,33,e7)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(ChatMessageBuilder_obj,debug),HX_("debug",53,52,1f,d7)},
{::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(ChatMessageBuilder_obj,reactions),HX_("reactions",aa,cc,95,e7)},
{::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,text),HX_("text",ad,cc,f9,4c)},
{::hx::fsString,(int)offsetof(ChatMessageBuilder_obj,lang),HX_("lang",ee,05,ad,47)},
@@ -1188,9 +1285,12 @@ static ::String ChatMessageBuilder_obj_sMemberFields[] = {
HX_("set_type__fromC",a2,dd,19,50),
HX_("syncPoint",f5,ff,94,98),
HX_("replyId",a5,67,3a,ab),
- HX_("timestamp",d6,d4,ce,a5),
- HX_("timestamp__fromC",63,82,8b,d7),
- HX_("set_timestamp__fromC",e0,9e,ad,c2),
+ HX_("timeSent",05,10,b2,ec),
+ HX_("timeSent__fromC",14,9b,98,a3),
+ HX_("set_timeSent__fromC",37,5d,40,6b),
+ HX_("timeReceived",4e,22,9a,7b),
+ HX_("timeReceived__fromC",eb,53,19,1d),
+ HX_("set_timeReceived__fromC",8e,63,d0,27),
HX_("to",7b,65,00,00),
HX_("from",6a,a5,c2,43),
HX_("sender",b5,c7,84,6b),
@@ -1206,6 +1306,7 @@ static ::String ChatMessageBuilder_obj_sMemberFields[] = {
HX_("threadId__fromC",d4,d1,81,79),
HX_("set_threadId__fromC",f7,93,29,41),
HX_("attachments",30,df,33,e7),
+ HX_("debug",53,52,1f,d7),
HX_("reactions",aa,cc,95,e7),
HX_("text",ad,cc,f9,4c),
HX_("lang",ee,05,ad,47),
@@ -1242,6 +1343,7 @@ static ::String ChatMessageBuilder_obj_sMemberFields[] = {
::hx::Class ChatMessageBuilder_obj::__mClass;
static ::String ChatMessageBuilder_obj_sStaticFields[] = {
+ HX_("fromMessage",7d,99,51,32),
HX_("makeModerated",73,2f,e4,1a),
::String(null())
};
@@ -1274,7 +1376,7 @@ void ChatMessageBuilder_obj::__boot()
{
HX_STACKFRAME(&_hx_pos_c7017726c326afec_31_boot)
HXDLIN( 31) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(32)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(34)
->setFixed(0,HX_("serverId__fromC",bb,ba,c0,81), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(1,HX_("statusText__fromC",5a,bd,80,8c), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -1287,9 +1389,9 @@ HXDLIN( 31) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(5,HX_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("localId__fromC",13,27,c6,af), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(6,HX_("timeSent__fromC",14,9b,98,a3), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,HX_("set_timestamp__fromC",e0,9e,ad,c2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(7,HX_("localId__fromC",13,27,c6,af), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(8,HX_("set_status__fromC",ea,96,03,cb), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -1299,45 +1401,49 @@ HXDLIN( 31) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(11,HX_("set_serverIdBy__fromC",07,23,e5,d4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(12,HX_("timestamp__fromC",63,82,8b,d7), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(13,HX_("set_encryption__fromC",39,4b,6d,dc), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(12,HX_("set_encryption__fromC",39,4b,6d,dc), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(14,HX_("set_versions__fromC",a1,35,90,dc), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(13,HX_("set_versions__fromC",a1,35,90,dc), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(14,HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(16,HX_("serverIdBy__fromC",24,52,2e,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(15,HX_("serverIdBy__fromC",24,52,2e,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(16,HX_("set_replyToMessage__fromC",1a,e4,8c,05), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(17,HX_("encryption__fromC",56,7a,b6,09), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(18,HX_("set_lang__fromC",ee,58,ad,0e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(17,HX_("set_replyToMessage__fromC",1a,e4,8c,05), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("versions__fromC",7e,73,e8,14), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(18,HX_("encryption__fromC",56,7a,b6,09), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(20,HX_("timeReceived__fromC",eb,53,19,1d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(19,HX_("set_lang__fromC",ee,58,ad,0e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("set_timeReceived__fromC",8e,63,d0,27), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(20,HX_("versions__fromC",7e,73,e8,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("set_localId__fromC",50,3a,0f,28), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(21,HX_("set_localId__fromC",50,3a,0f,28), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("set_direction__fromC",97,80,e8,36), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(22,HX_("set_direction__fromC",97,80,e8,36), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(24,HX_("linkMetadata__fromC",10,de,bf,3a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(23,HX_("linkMetadata__fromC",10,de,bf,3a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(25,HX_("set_threadId__fromC",f7,93,29,41), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(24,HX_("set_threadId__fromC",f7,93,29,41), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(26,HX_("set_linkMetadata__fromC",b3,ed,76,45), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(25,HX_("set_linkMetadata__fromC",b3,ed,76,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("set_serverId__fromC",de,7c,68,49), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(26,HX_("set_serverId__fromC",de,7c,68,49), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(27,HX_("direction__fromC",1a,64,c6,4b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("set_type__fromC",a2,dd,19,50), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(28,HX_("set_type__fromC",a2,dd,19,50), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(29,HX_("lang__fromC",4b,24,00,52), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("set_statusText__fromC",3d,8e,37,5f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(30,HX_("set_statusText__fromC",3d,8e,37,5f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("set_timeSent__fromC",37,5d,40,6b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(31,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(33,HX_("threadId__fromC",d4,d1,81,79), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/ChatMessageCombiner.cpp b/Sources/c_borogove/src/borogove/ChatMessageCombiner.cpp
new file mode 100644
index 0000000..921c1b1
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/ChatMessageCombiner.cpp
@@ -0,0 +1,296 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Lambda
+#include <Lambda.h>
+#endif
+#ifndef INCLUDED_Reflect
+#include <Reflect.h>
+#endif
+#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
+#include <_UUIDv7/UUIDv7_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessage
+#include <borogove/ChatMessage.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageBuilder
+#include <borogove/ChatMessageBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_ChatMessageCombiner
+#include <borogove/ChatMessageCombiner.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_8_combine,"borogove.ChatMessageCombiner","combine",0x14970d26,"borogove.ChatMessageCombiner.combine","borogove/ChatMessageCombiner.hx",8,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_10_combine,"borogove.ChatMessageCombiner","combine",0x14970d26,"borogove.ChatMessageCombiner.combine","borogove/ChatMessageCombiner.hx",10,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_21_correctionKey,"borogove.ChatMessageCombiner","correctionKey",0x48c16e88,"borogove.ChatMessageCombiner.correctionKey","borogove/ChatMessageCombiner.hx",21,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_31_combineMessages,"borogove.ChatMessageCombiner","combineMessages",0xa4713812,"borogove.ChatMessageCombiner.combineMessages","borogove/ChatMessageCombiner.hx",31,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_28_combineMessages,"borogove.ChatMessageCombiner","combineMessages",0xa4713812,"borogove.ChatMessageCombiner.combineMessages","borogove/ChatMessageCombiner.hx",28,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_74_combineVersions,"borogove.ChatMessageCombiner","combineVersions",0x462bada1,"borogove.ChatMessageCombiner.combineVersions","borogove/ChatMessageCombiner.hx",74,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_59_combineVersions,"borogove.ChatMessageCombiner","combineVersions",0x462bada1,"borogove.ChatMessageCombiner.combineVersions","borogove/ChatMessageCombiner.hx",59,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_64_combineVersions,"borogove.ChatMessageCombiner","combineVersions",0x462bada1,"borogove.ChatMessageCombiner.combineVersions","borogove/ChatMessageCombiner.hx",64,0x7ca3428a)
+HX_LOCAL_STACK_FRAME(_hx_pos_da01083279145f06_79_identity,"borogove.ChatMessageCombiner","identity",0x3a8cb4b7,"borogove.ChatMessageCombiner.identity","borogove/ChatMessageCombiner.hx",79,0x7ca3428a)
+namespace borogove{
+
+void ChatMessageCombiner_obj::__construct() { }
+
+Dynamic ChatMessageCombiner_obj::__CreateEmpty() { return new ChatMessageCombiner_obj; }
+
+void *ChatMessageCombiner_obj::_hx_vtable = 0;
+
+Dynamic ChatMessageCombiner_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ChatMessageCombiner_obj > _hx_result = new ChatMessageCombiner_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool ChatMessageCombiner_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x79f82ba1;
+}
+
+::Array< ::Dynamic> ChatMessageCombiner_obj::combine(::Array< ::Dynamic> messages){
+ HX_GC_STACKFRAME(&_hx_pos_da01083279145f06_8_combine)
+HXDLIN( 8) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 8) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
+ ::haxe::ds::StringMap _hx_run( ::borogove::ChatMessage message, ::haxe::ds::StringMap grouped){
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_10_combine)
+HXLINE( 11) ::String key = ::borogove::ChatMessageCombiner_obj::correctionKey(message);
+HXLINE( 12) ::Array< ::Dynamic> messages;
+HXDLIN( 12) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(grouped->get(key)) );
+HXDLIN( 12) if (::hx::IsNotNull( tmp )) {
+HXLINE( 12) messages = tmp;
+ }
+ else {
+HXLINE( 12) messages = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 13) grouped->set(key,messages->concat(::Array_obj< ::Dynamic>::__new(1)->init(0,message)));
+HXLINE( 14) return grouped;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXDLIN( 8) ::Dynamic x = ::Lambda_obj::fold(messages, ::Dynamic(new _hx_Closure_0()), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 8) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 8) _g->push(::borogove::ChatMessageCombiner_obj::combineMessages(( (::Array< ::Dynamic>)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
+ }
+ }
+HXDLIN( 8) return _g;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessageCombiner_obj,combine,return )
+
+::String ChatMessageCombiner_obj::correctionKey( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_21_correctionKey)
+HXLINE( 22) if (::hx::IsNull( message->localId )) {
+HXLINE( 22) return ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+ }
+HXLINE( 24) ::String sender;
+HXDLIN( 24) if ((message->type == 1)) {
+HXLINE( 24) sender = HX_("call",9e,18,ba,41);
+ }
+ else {
+HXLINE( 24) sender = message->senderId;
+ }
+HXLINE( 25) ::String _hx_tmp = (message->localId + HX_("\n",0a,00,00,00));
+HXDLIN( 25) return (((_hx_tmp + message->chatId()) + HX_("\n",0a,00,00,00)) + sender);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessageCombiner_obj,correctionKey,return )
+
+ ::borogove::ChatMessage ChatMessageCombiner_obj::combineMessages(::Array< ::Dynamic> messages){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_31_combineMessages)
+HXLINE( 31) return (message->versions->length == 0);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_28_combineMessages)
+HXLINE( 29) if ((messages->length == 1)) {
+HXLINE( 29) return messages->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+HXLINE( 31) ::borogove::ChatMessage original;
+HXDLIN( 31) ::borogove::ChatMessage tmp = ( ( ::borogove::ChatMessage)(::Lambda_obj::find(messages, ::Dynamic(new _hx_Closure_0()))) );
+HXDLIN( 31) if (::hx::IsNotNull( tmp )) {
+HXLINE( 31) original = tmp;
+ }
+ else {
+HXLINE( 31) original = messages->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+HXLINE( 32) ::Array< ::Dynamic> combinedVersions = ::borogove::ChatMessageCombiner_obj::combineVersions(original,messages);
+HXLINE( 35) ::borogove::ChatMessageBuilder builder = ::borogove::ChatMessageBuilder_obj::fromMessage(combinedVersions->__get(0).StaticCast< ::borogove::ChatMessage >());
+HXLINE( 36) builder->localId = original->localId;
+HXLINE( 37) builder->serverId = original->serverId;
+HXLINE( 38) builder->serverIdBy = original->serverIdBy;
+HXLINE( 39) builder->sortId = original->sortId;
+HXLINE( 40) builder->timeSent = original->timeSent;
+HXLINE( 41) builder->timeReceived = original->timeReceived;
+HXLINE( 42) builder->replyId = original->replyId;
+HXLINE( 43) builder->reactions = original->reactions;
+HXLINE( 44) if ((original->type == 1)) {
+HXLINE( 45) builder->direction = original->direction;
+HXLINE( 46) builder->senderId = original->senderId;
+HXLINE( 47) builder->from = original->from;
+HXLINE( 48) builder->to = original->to;
+HXLINE( 49) builder->replyTo = ::Lambda_obj::array(original->replyTo);
+HXLINE( 50) builder->recipients = ::Lambda_obj::array(original->recipients);
+ }
+HXLINE( 52) builder->versions = combinedVersions;
+HXLINE( 53) return builder->build();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessageCombiner_obj,combineMessages,return )
+
+::Array< ::Dynamic> ChatMessageCombiner_obj::combineVersions( ::borogove::ChatMessage original,::Array< ::Dynamic> messages){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
+ int _hx_run( ::borogove::ChatMessage a, ::borogove::ChatMessage b){
+ HX_GC_STACKFRAME(&_hx_pos_da01083279145f06_74_combineVersions)
+HXLINE( 74) return ::Reflect_obj::compare(b->timeReceived,a->timeReceived);
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_da01083279145f06_59_combineVersions)
+HXLINE( 60) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 60) {
+HXLINE( 60) int _g_current = 0;
+HXDLIN( 60) while((_g_current < messages->length)){
+HXLINE( 60) _g_current = (_g_current + 1);
+HXDLIN( 60) _g->push(::Lambda_obj::array(messages->__get((_g_current - 1)).StaticCast< ::borogove::ChatMessage >()->versions));
+ }
+ }
+HXDLIN( 60) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 60) {
+HXLINE( 60) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 60) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 60) ::Dynamic x = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 60) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 60) _g1->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+HXLINE( 61) if ((original->versions->length == 0)) {
+HXLINE( 61) _g1->push(original);
+ }
+HXLINE( 63) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 63) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
+ ::haxe::ds::StringMap _hx_run( ::borogove::ChatMessage version, ::haxe::ds::StringMap uniqueVersions){
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_64_combineVersions)
+HXLINE( 65) ::String id = ::borogove::ChatMessageCombiner_obj::identity(version);
+HXLINE( 66) ::borogove::ChatMessage previous = ( ( ::borogove::ChatMessage)(uniqueVersions->get(id)) );
+HXLINE( 67) bool it;
+HXDLIN( 67) if (::hx::IsNotNull( previous )) {
+HXLINE( 67) it = (version->timeReceived > previous->timeReceived);
+ }
+ else {
+HXLINE( 67) it = true;
+ }
+HXDLIN( 67) if (it) {
+HXLINE( 68) uniqueVersions->set(id,version);
+ }
+HXLINE( 70) return uniqueVersions;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 63) ::Dynamic x1 = ::Lambda_obj::fold(_g1, ::Dynamic(new _hx_Closure_0()), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 63) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 63) _g2->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+HXLINE( 74) _g2->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 75) return _g2;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(ChatMessageCombiner_obj,combineVersions,return )
+
+::String ChatMessageCombiner_obj::identity( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_da01083279145f06_79_identity)
+HXDLIN( 79) if (::hx::IsNull( message->serverId )) {
+HXLINE( 80) return (HX_("local:",6f,74,bf,59) + message->localId);
+ }
+ else {
+HXLINE( 81) return (((HX_("server:",17,20,2a,02) + message->serverId) + HX_("\n",0a,00,00,00)) + message->serverIdBy);
+ }
+HXLINE( 79) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ChatMessageCombiner_obj,identity,return )
+
+
+ChatMessageCombiner_obj::ChatMessageCombiner_obj()
+{
+}
+
+bool ChatMessageCombiner_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"combine") ) { outValue = combine_dyn(); return true; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"identity") ) { outValue = identity_dyn(); return true; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"correctionKey") ) { outValue = correctionKey_dyn(); return true; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"combineMessages") ) { outValue = combineMessages_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"combineVersions") ) { outValue = combineVersions_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *ChatMessageCombiner_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *ChatMessageCombiner_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class ChatMessageCombiner_obj::__mClass;
+
+static ::String ChatMessageCombiner_obj_sStaticFields[] = {
+ HX_("combine",7f,2a,2e,7a),
+ HX_("correctionKey",a1,94,02,dd),
+ HX_("combineMessages",6b,d6,da,a7),
+ HX_("combineVersions",fa,4b,95,49),
+ HX_("identity",3e,45,2f,b9),
+ ::String(null())
+};
+
+void ChatMessageCombiner_obj::__register()
+{
+ ChatMessageCombiner_obj _hx_dummy;
+ ChatMessageCombiner_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.ChatMessageCombiner",15,c4,26,9b);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ChatMessageCombiner_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ChatMessageCombiner_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< ChatMessageCombiner_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ChatMessageCombiner_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ChatMessageCombiner_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Client.cpp b/Sources/c_borogove/src/borogove/Client.cpp
index 4eb65ac..b2b5112 100644
--- a/Sources/c_borogove/src/borogove/Client.cpp
+++ b/Sources/c_borogove/src/borogove/Client.cpp
@@ -34,6 +34,9 @@
#ifndef INCLUDED_borogove_AttachmentSource
#include <borogove/AttachmentSource.h>
#endif
+#ifndef INCLUDED_borogove_AttachmentUploadError
+#include <borogove/AttachmentUploadError.h>
+#endif
#ifndef INCLUDED_borogove_AvailableChat
#include <borogove/AvailableChat.h>
#endif
@@ -49,6 +52,9 @@
#ifndef INCLUDED_borogove_Channel
#include <borogove/Channel.h>
#endif
+#ifndef INCLUDED_borogove_ChannelPinger
+#include <borogove/ChannelPinger.h>
+#endif
#ifndef INCLUDED_borogove_Chat
#include <borogove/Chat.h>
#endif
@@ -73,9 +79,6 @@
#ifndef INCLUDED_borogove_EncryptionInfo
#include <borogove/EncryptionInfo.h>
#endif
-#ifndef INCLUDED_borogove_EncryptionPolicy
-#include <borogove/EncryptionPolicy.h>
-#endif
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
@@ -91,6 +94,9 @@
#ifndef INCLUDED_borogove_Identity
#include <borogove/Identity.h>
#endif
+#ifndef INCLUDED_borogove_IncrementalHash
+#include <borogove/IncrementalHash.h>
+#endif
#ifndef INCLUDED_borogove_IqRequestType
#include <borogove/IqRequestType.h>
#endif
@@ -118,6 +124,9 @@
#ifndef INCLUDED_borogove_ModerationAction
#include <borogove/ModerationAction.h>
#endif
+#ifndef INCLUDED_borogove_OutboxItem
+#include <borogove/OutboxItem.h>
+#endif
#ifndef INCLUDED_borogove_Persistence
#include <borogove/Persistence.h>
#endif
@@ -148,9 +157,15 @@
#ifndef INCLUDED_borogove__Chat_Chat_Fields_
#include <borogove/_Chat/Chat_Fields_.h>
#endif
+#ifndef INCLUDED_borogove__Source_Source_Impl_
+#include <borogove/_Source/Source_Impl_.h>
+#endif
#ifndef INCLUDED_borogove__Util_Util_Fields_
#include <borogove/_Util/Util_Fields_.h>
#endif
+#ifndef INCLUDED_borogove__XEP0454_XEP0454_Fields_
+#include <borogove/_XEP0454/XEP0454_Fields_.h>
+#endif
#ifndef INCLUDED_borogove_calls_IncomingProposedSession
#include <borogove/calls/IncomingProposedSession.h>
#endif
@@ -232,9 +247,6 @@
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Sha256
-#include <haxe/crypto/Sha256.h>
-#endif
#ifndef INCLUDED_haxe_ds_Either
#include <haxe/ds/Either.h>
#endif
@@ -244,9 +256,15 @@
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
+#ifndef INCLUDED_haxe_io_BytesOutput
+#include <haxe/io/BytesOutput.h>
+#endif
#ifndef INCLUDED_haxe_io_Input
#include <haxe/io/Input.h>
#endif
+#ifndef INCLUDED_haxe_io_Output
+#include <haxe/io/Output.h>
+#endif
#ifndef INCLUDED_sys_io_File
#include <sys/io/File.h>
#endif
@@ -283,6 +301,12 @@
#ifndef INCLUDED_tink__Url_Url_Impl_
#include <tink/_Url/Url_Impl_.h>
#endif
+#ifndef INCLUDED_tink_chunk_ByteChunk
+#include <tink/chunk/ByteChunk.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ChunkBase
+#include <tink/chunk/ChunkBase.h>
+#endif
#ifndef INCLUDED_tink_chunk_ChunkObject
#include <tink/chunk/ChunkObject.h>
#endif
@@ -301,6 +325,24 @@
#ifndef INCLUDED_tink_core__Future_FutureObject
#include <tink/core/_Future/FutureObject.h>
#endif
+#ifndef INCLUDED_tink_core__Lazy_Computable
+#include <tink/core/_Lazy/Computable.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyConst
+#include <tink/core/_Lazy/LazyConst.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyObject
+#include <tink/core/_Lazy/LazyObject.h>
+#endif
+#ifndef INCLUDED_tink_http_ClientObject
+#include <tink/http/ClientObject.h>
+#endif
+#ifndef INCLUDED_tink_http_ClientType
+#include <tink/http/ClientType.h>
+#endif
+#ifndef INCLUDED_tink_http_ContentType
+#include <tink/http/ContentType.h>
+#endif
#ifndef INCLUDED_tink_http_Fetch
#include <tink/http/Fetch.h>
#endif
@@ -310,21 +352,30 @@
#ifndef INCLUDED_tink_http_HeaderField
#include <tink/http/HeaderField.h>
#endif
+#ifndef INCLUDED_tink_http_IncomingResponse
+#include <tink/http/IncomingResponse.h>
+#endif
#ifndef INCLUDED_tink_http_Message
#include <tink/http/Message.h>
#endif
#ifndef INCLUDED_tink_http_ResponseHeaderBase
#include <tink/http/ResponseHeaderBase.h>
#endif
-#ifndef INCLUDED_tink_http__Fetch_FetchResponse_Impl_
-#include <tink/http/_Fetch/FetchResponse_Impl_.h>
-#endif
#ifndef INCLUDED_tink_http__Header_HeaderValue_Impl_
#include <tink/http/_Header/HeaderValue_Impl_.h>
#endif
+#ifndef INCLUDED_tink_io_PipeResult
+#include <tink/io/PipeResult.h>
+#endif
#ifndef INCLUDED_tink_io_RealSourceTools
#include <tink/io/RealSourceTools.h>
#endif
+#ifndef INCLUDED_tink_io_SinkBase
+#include <tink/io/SinkBase.h>
+#endif
+#ifndef INCLUDED_tink_io_SinkObject
+#include <tink/io/SinkObject.h>
+#endif
#ifndef INCLUDED_tink_io_WorkerObject
#include <tink/io/WorkerObject.h>
#endif
@@ -337,14 +388,14 @@
#ifndef INCLUDED_tink_io_std_InputSource
#include <tink/io/std/InputSource.h>
#endif
-#ifndef INCLUDED_tink_streams_Conclusion
-#include <tink/streams/Conclusion.h>
+#ifndef INCLUDED_tink_io_std_OutputSink
+#include <tink/io/std/OutputSink.h>
#endif
#ifndef INCLUDED_tink_streams_Generator
#include <tink/streams/Generator.h>
#endif
-#ifndef INCLUDED_tink_streams_Handled
-#include <tink/streams/Handled.h>
+#ifndef INCLUDED_tink_streams_Single
+#include <tink/streams/Single.h>
#endif
#ifndef INCLUDED_tink_streams_StreamBase
#include <tink/streams/StreamBase.h>
@@ -352,314 +403,360 @@
#ifndef INCLUDED_tink_streams_StreamObject
#include <tink/streams/StreamObject.h>
#endif
-#ifndef INCLUDED_tink_streams__Stream_Handler_Impl_
-#include <tink/streams/_Stream/Handler_Impl_.h>
+#ifndef INCLUDED_tink_streams__Stream_Mapping_Impl_
+#include <tink/streams/_Stream/Mapping_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_153_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",153,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_157_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",157,0x8e157d85)
HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_163_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",163,0x8e157d85)
HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_168_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",168,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_174_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",174,0x8e157d85)
HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_179_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",179,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_173_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",173,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_189_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",189,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_183_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",183,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_193_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",193,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_226_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",226,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_279_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",279,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_282_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",282,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_309_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",309,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_324_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",324,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_347_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",347,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_362_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",362,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_368_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",368,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_374_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",374,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_402_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",402,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_412_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",412,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_406_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",406,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_438_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",438,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_439_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",439,0x8e157d85)
-HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_62_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",62,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_190_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",190,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_184_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",184,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_200_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",200,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_194_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",194,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_204_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",204,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_238_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",238,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_291_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",291,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_294_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",294,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_325_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",325,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_340_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",340,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_363_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",363,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_378_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",378,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_384_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",384,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_390_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",390,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_418_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",418,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_428_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",428,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_422_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",422,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_454_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",454,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_455_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",455,0x8e157d85)
+HX_DEFINE_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_61_new,"borogove.Client","new",0x43de690a,"borogove.Client.new","borogove/Client.hx",61,0x8e157d85)
static const ::String _hx_array_data_c0e6dc18_32[] = {
HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b),HX_("http://jabber.org/protocol/caps",95,d0,90,e2),HX_("urn:xmpp:caps",3d,5a,a1,f4),HX_("urn:xmpp:receipts",d7,40,8f,8c),HX_("urn:xmpp:avatar:metadata+notify",e0,89,c6,db),HX_("http://jabber.org/protocol/nick+notify",fd,dd,65,10),HX_("http://jabber.org/protocol/activity+notify",51,ff,f6,c6),HX_("urn:xmpp:bookmarks:1+notify",dc,4b,f7,cc),HX_("urn:xmpp:mds:displayed:0+notify",17,ae,91,a8),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07),HX_("urn:xmpp:jingle:1",44,c4,fe,f7),HX_("urn:xmpp:jingle:apps:dtls:0",a8,cb,02,66),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c),HX_("urn:xmpp:jingle:apps:rtp:audio",0f,8b,54,6c),HX_("urn:xmpp:jingle:apps:rtp:video",b4,26,d0,7b),HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53),
};
+static const int _hx_array_data_c0e6dc18_33[] = {
+ (int)1,
+};
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_437_set_sendAvailable__fromC,"borogove.Client","set_sendAvailable__fromC",0xf96cb54b,"borogove.Client.set_sendAvailable__fromC","HaxeCBridge.hx",437,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_474_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",474,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_463_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",463,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_478_blockIncomingWithoutE2EE__fromC,"borogove.Client","blockIncomingWithoutE2EE__fromC",0x6b3794c1,"borogove.Client.blockIncomingWithoutE2EE__fromC","HaxeCBridge.hx",478,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_489_set_blockIncomingWithoutE2EE__fromC,"borogove.Client","set_blockIncomingWithoutE2EE__fromC",0xcb6529e4,"borogove.Client.set_blockIncomingWithoutE2EE__fromC","HaxeCBridge.hx",489,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_494_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",494,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_479_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",479,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_571_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",571,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_527_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",527,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_495_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",495,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_490_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",490,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_509_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",509,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_519_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",519,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_516_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",516,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_610_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",610,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_638_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",638,0x8e157d85)
-static const ::String _hx_array_data_c0e6dc18_49[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_521_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",521,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_543_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",543,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_554_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",554,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_551_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",551,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_588_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",588,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_668_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",668,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_695_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",695,0x8e157d85)
+static const ::String _hx_array_data_c0e6dc18_55[] = {
HX_("image/png",b5,cc,c1,16),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_662_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",662,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_671_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",671,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_666_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",666,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_708_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",708,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_710_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",710,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_714_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",714,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_739_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",739,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_742_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",742,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_743_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",743,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_750_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",750,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_740_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",740,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_736_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",736,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_774_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",774,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_778_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",778,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_787_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",787,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_786_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",786,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_795_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",795,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_769_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",769,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_719_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",719,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_728_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",728,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_723_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",723,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_765_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",765,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_767_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",767,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_771_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",771,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_786_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",786,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_797_processLiveMessage,"borogove.Client","processLiveMessage",0x7e93a8a2,"borogove.Client.processLiveMessage","borogove/Client.hx",797,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_828_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",828,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_831_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",831,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_832_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",832,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_839_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",839,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_829_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",829,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_825_start,"borogove.Client","start",0xb1ed0b8c,"borogove.Client.start","borogove/Client.hx",825,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_863_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",863,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_867_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",867,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_877_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",877,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_883_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",883,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_876_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",876,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_892_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",892,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_858_startOffline,"borogove.Client","startOffline",0x284974b7,"borogove.Client.startOffline","borogove/Client.hx",858,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_365_startOffline__fromC,"borogove.Client","startOffline__fromC",0x928910a2,"borogove.Client.startOffline__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_818_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",818,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_814_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",814,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_830_usePassword,"borogove.Client","usePassword",0xeb0d7d2c,"borogove.Client.usePassword","borogove/Client.hx",830,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_839_accountId,"borogove.Client","accountId",0x0c21f612,"borogove.Client.accountId","borogove/Client.hx",839,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_848_displayName,"borogove.Client","displayName",0x79246457,"borogove.Client.displayName","borogove/Client.hx",848,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_858_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",858,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_857_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",857,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_869_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",869,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_899_setStatus,"borogove.Client","setStatus",0x4870d09e,"borogove.Client.setStatus","borogove/Client.hx",899,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_916_updateDisplayName,"borogove.Client","updateDisplayName",0x8c586c4e,"borogove.Client.updateDisplayName","borogove/Client.hx",916,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_957_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",957,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_974_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",974,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_963_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",963,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_961_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",961,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_924_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",924,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1018_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1018,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1021_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1021,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1015_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1015,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1014_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1014,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_916_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",916,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_911_logout,"borogove.Client","logout",0x53f1a420,"borogove.Client.logout","borogove/Client.hx",911,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_928_usePassword,"borogove.Client","usePassword",0xeb0d7d2c,"borogove.Client.usePassword","borogove/Client.hx",928,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_937_accountId,"borogove.Client","accountId",0x0c21f612,"borogove.Client.accountId","borogove/Client.hx",937,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_946_displayName,"borogove.Client","displayName",0x79246457,"borogove.Client.displayName","borogove/Client.hx",946,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_955_setPhoto,"borogove.Client","setPhoto",0xafe1f0c6,"borogove.Client.setPhoto","borogove/Client.hx",955,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_959_setPhoto,"borogove.Client","setPhoto",0xafe1f0c6,"borogove.Client.setPhoto","borogove/Client.hx",959,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1005_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",1005,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1004_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",1004,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1016_setProfile,"borogove.Client","setProfile",0xd7209e3d,"borogove.Client.setProfile","borogove/Client.hx",1016,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1046_setStatus,"borogove.Client","setStatus",0x4870d09e,"borogove.Client.setStatus","borogove/Client.hx",1046,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1063_updateDisplayName,"borogove.Client","updateDisplayName",0x8c586c4e,"borogove.Client.updateDisplayName","borogove/Client.hx",1063,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1077_preferE2ee,"borogove.Client","preferE2ee",0xf6fd5093,"borogove.Client.preferE2ee","borogove/Client.hx",1077,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1089_banE2ee,"borogove.Client","banE2ee",0xd2807ce6,"borogove.Client.banE2ee","borogove/Client.hx",1089,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1137_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1137,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1185_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1185,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1155_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1155,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1143_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1143,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1141_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1141,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1092_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1092,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1119_onConnected,"borogove.Client","onConnected",0x0d6c1854,"borogove.Client.onConnected","borogove/Client.hx",1119,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1203_fetchAttachment,"borogove.Client","fetchAttachment",0x68455c67,"borogove.Client.fetchAttachment","borogove/Client.hx",1203,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1199_fetchAttachment,"borogove.Client","fetchAttachment",0x68455c67,"borogove.Client.fetchAttachment","borogove/Client.hx",1199,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1212_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1212,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1219_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1219,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1220_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1220,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1230_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1230,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1241_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1241,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1251_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1251,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1252_fetchUris,"borogove.Client","fetchUris",0x07252d0b,"borogove.Client.fetchUris","borogove/Client.hx",1252,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1273_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1273,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1282_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1282,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1299_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1299,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1270_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1270,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1291_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1291,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1296_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1296,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1269_prepareAttachment,"borogove.Client","prepareAttachment",0x49481a74,"borogove.Client.prepareAttachment","borogove/Client.hx",1269,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_365_prepareAttachment__fromC,"borogove.Client","prepareAttachment__fromC",0x6b174c85,"borogove.Client.prepareAttachment__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1039_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1039,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1044_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1044,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1045_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1045,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1032_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1032,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1060_getChats,"borogove.Client","getChats",0x85446d3b,"borogove.Client.getChats","borogove/Client.hx",1060,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1314_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1314,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1324_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1324,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1334_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1334,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1313_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1313,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1303_prepareAttachmentFor,"borogove.Client","prepareAttachmentFor",0x302664f5,"borogove.Client.prepareAttachmentFor","borogove/Client.hx",1303,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1354_putAttachment,"borogove.Client","putAttachment",0x410c78bc,"borogove.Client.putAttachment","borogove/Client.hx",1354,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1356_putAttachment,"borogove.Client","putAttachment",0x410c78bc,"borogove.Client.putAttachment","borogove/Client.hx",1356,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1358_putAttachment,"borogove.Client","putAttachment",0x410c78bc,"borogove.Client.putAttachment","borogove/Client.hx",1358,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1351_putAttachment,"borogove.Client","putAttachment",0x410c78bc,"borogove.Client.putAttachment","borogove/Client.hx",1351,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1350_putAttachment,"borogove.Client","putAttachment",0x410c78bc,"borogove.Client.putAttachment","borogove/Client.hx",1350,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1380_tryNextAttachmentService,"borogove.Client","tryNextAttachmentService",0x03b2ddfa,"borogove.Client.tryNextAttachmentService","borogove/Client.hx",1380,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1367_tryNextAttachmentService,"borogove.Client","tryNextAttachmentService",0x03b2ddfa,"borogove.Client.tryNextAttachmentService","borogove/Client.hx",1367,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1403_getChats,"borogove.Client","getChats",0x85446d3b,"borogove.Client.getChats","borogove/Client.hx",1403,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_363_getChats__fromC,"borogove.Client","getChats__fromC",0x855ff09e,"borogove.Client.getChats__fromC","HaxeCBridge.hx",363,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1070_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",1070,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1124_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1124,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1076_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1076,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1086_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1086,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1087_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1087,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1095_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1095,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1100_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1100,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1099_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1099,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1407_getChannels,"borogove.Client","getChannels",0xd914bfb0,"borogove.Client.getChannels","borogove/Client.hx",1407,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1417_findAvailableChats,"borogove.Client","findAvailableChats",0x0a9648c1,"borogove.Client.findAvailableChats","borogove/Client.hx",1417,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1471_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1471,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1423_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1423,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1433_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1433,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1434_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1434,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1442_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1442,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1447_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1447,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1446_availableChatSources,"borogove.Client","availableChatSources",0x1292dc0d,"borogove.Client.availableChatSources","borogove/Client.hx",1446,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_365_availableChatSources__fromC,"borogove.Client","availableChatSources__fromC",0xf63ce00c,"borogove.Client.availableChatSources__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1139_startChat,"borogove.Client","startChat",0xdd804c84,"borogove.Client.startChat","borogove/Client.hx",1139,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1174_getChat,"borogove.Client","getChat",0xaf174438,"borogove.Client.getChat","borogove/Client.hx",1174,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1180_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1180,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1178_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1178,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1195_getDirectChat,"borogove.Client","getDirectChat",0xe2d04c01,"borogove.Client.getDirectChat","borogove/Client.hx",1195,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1256_enablePush,"borogove.Client","enablePush",0x34a71a93,"borogove.Client.enablePush","borogove/Client.hx",1256,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1486_startChat,"borogove.Client","startChat",0xdd804c84,"borogove.Client.startChat","borogove/Client.hx",1486,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1524_getChat,"borogove.Client","getChat",0xaf174438,"borogove.Client.getChat","borogove/Client.hx",1524,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1539_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1539,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1537_moderateMessage,"borogove.Client","moderateMessage",0xdbd387ee,"borogove.Client.moderateMessage","borogove/Client.hx",1537,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1554_getDirectChat,"borogove.Client","getDirectChat",0xe2d04c01,"borogove.Client.getDirectChat","borogove/Client.hx",1554,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1616_enablePush,"borogove.Client","enablePush",0x34a71a93,"borogove.Client.enablePush","borogove/Client.hx",1616,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_354_enablePush__fromC,"borogove.Client","enablePush__fromC",0x26b41e46,"borogove.Client.enablePush__fromC","HaxeCBridge.hx",354,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1289_updatePushIfEnabled,"borogove.Client","updatePushIfEnabled",0x94fc7dcb,"borogove.Client.updatePushIfEnabled","borogove/Client.hx",1289,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1302_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1302,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1301_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1301,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1649_updatePushIfEnabled,"borogove.Client","updatePushIfEnabled",0x94fc7dcb,"borogove.Client.updatePushIfEnabled","borogove/Client.hx",1649,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1662_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1662,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1661_addPasswordNeededListener,"borogove.Client","addPasswordNeededListener",0xe674476f,"borogove.Client.addPasswordNeededListener","borogove/Client.hx",1661,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addPasswordNeededListener__fromC,"borogove.Client","addPasswordNeededListener__fromC",0xcb7e84ea,"borogove.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addPasswordNeededListener__fromC,"borogove.Client","addPasswordNeededListener__fromC",0xcb7e84ea,"borogove.Client.addPasswordNeededListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1316_addStatusOnlineListener,"borogove.Client","addStatusOnlineListener",0xbe432964,"borogove.Client.addStatusOnlineListener","borogove/Client.hx",1316,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1676_addStatusOnlineListener,"borogove.Client","addStatusOnlineListener",0xbe432964,"borogove.Client.addStatusOnlineListener","borogove/Client.hx",1676,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_269_addStatusOnlineListener__fromC,"borogove.Client","addStatusOnlineListener__fromC",0xbd04fb95,"borogove.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",269,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addStatusOnlineListener__fromC,"borogove.Client","addStatusOnlineListener__fromC",0xbd04fb95,"borogove.Client.addStatusOnlineListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1330_addStatusOfflineListener,"borogove.Client","addStatusOfflineListener",0xbdd8ce9a,"borogove.Client.addStatusOfflineListener","borogove/Client.hx",1330,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1690_addStatusOfflineListener,"borogove.Client","addStatusOfflineListener",0xbdd8ce9a,"borogove.Client.addStatusOfflineListener","borogove/Client.hx",1690,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_269_addStatusOfflineListener__fromC,"borogove.Client","addStatusOfflineListener__fromC",0x9e42091f,"borogove.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",269,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addStatusOfflineListener__fromC,"borogove.Client","addStatusOfflineListener__fromC",0x9e42091f,"borogove.Client.addStatusOfflineListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1344_addConnectionFailedListener,"borogove.Client","addConnectionFailedListener",0xa4e943fa,"borogove.Client.addConnectionFailedListener","borogove/Client.hx",1344,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1704_addConnectionFailedListener,"borogove.Client","addConnectionFailedListener",0xa4e943fa,"borogove.Client.addConnectionFailedListener","borogove/Client.hx",1704,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_269_addConnectionFailedListener__fromC,"borogove.Client","addConnectionFailedListener__fromC",0x3a44ffbf,"borogove.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",269,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addConnectionFailedListener__fromC,"borogove.Client","addConnectionFailedListener__fromC",0x3a44ffbf,"borogove.Client.addConnectionFailedListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1359_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1359,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1358_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1358,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1719_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1719,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1718_addTlsCheckListener,"borogove.Client","addTlsCheckListener",0x84ae154c,"borogove.Client.addTlsCheckListener","borogove/Client.hx",1718,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addTlsCheckListener__fromC,"borogove.Client","addTlsCheckListener__fromC",0x1c54dcad,"borogove.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addTlsCheckListener__fromC,"borogove.Client","addTlsCheckListener__fromC",0x1c54dcad,"borogove.Client.addTlsCheckListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1397_addChatMessageListener,"borogove.Client","addChatMessageListener",0x08596558,"borogove.Client.addChatMessageListener","borogove/Client.hx",1397,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1757_addChatMessageListener,"borogove.Client","addChatMessageListener",0x08596558,"borogove.Client.addChatMessageListener","borogove/Client.hx",1757,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addChatMessageListener__fromC,"borogove.Client","addChatMessageListener__fromC",0xa610e621,"borogove.Client.addChatMessageListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addChatMessageListener__fromC,"borogove.Client","addChatMessageListener__fromC",0xa610e621,"borogove.Client.addChatMessageListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1412_addSyncMessageListener,"borogove.Client","addSyncMessageListener",0xfdfc7535,"borogove.Client.addSyncMessageListener","borogove/Client.hx",1412,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1772_addSyncMessageListener,"borogove.Client","addSyncMessageListener",0xfdfc7535,"borogove.Client.addSyncMessageListener","borogove/Client.hx",1772,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addSyncMessageListener__fromC,"borogove.Client","addSyncMessageListener__fromC",0x500a3be4,"borogove.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addSyncMessageListener__fromC,"borogove.Client","addSyncMessageListener__fromC",0x500a3be4,"borogove.Client.addSyncMessageListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1429_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1429,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1439_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1439,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1445_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1445,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1443_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1443,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1425_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1425,0x8e157d85)
-static const Float _hx_array_data_c0e6dc18_174[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1789_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1789,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1808_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1808,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1785_addChatsUpdatedListener,"borogove.Client","addChatsUpdatedListener",0x9716ffdf,"borogove.Client.addChatsUpdatedListener","borogove/Client.hx",1785,0x8e157d85)
+static const Float _hx_array_data_c0e6dc18_218[] = {
-1.0,
};
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addChatsUpdatedListener__fromC,"borogove.Client","addChatsUpdatedListener__fromC",0x9b34ba7a,"borogove.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addChatsUpdatedListener__fromC,"borogove.Client","addChatsUpdatedListener__fromC",0x9b34ba7a,"borogove.Client.addChatsUpdatedListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1463_addCallRingListener,"borogove.Client","addCallRingListener",0x113612ed,"borogove.Client.addCallRingListener","borogove/Client.hx",1463,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1832_addCallRingListener,"borogove.Client","addCallRingListener",0x113612ed,"borogove.Client.addCallRingListener","borogove/Client.hx",1832,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallRingListener__fromC,"borogove.Client","addCallRingListener__fromC",0x1230452c,"borogove.Client.addCallRingListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallRingListener__fromC,"borogove.Client","addCallRingListener__fromC",0x1230452c,"borogove.Client.addCallRingListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1477_addCallRetractListener,"borogove.Client","addCallRetractListener",0x367d108c,"borogove.Client.addCallRetractListener","borogove/Client.hx",1477,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1846_addCallRetractListener,"borogove.Client","addCallRetractListener",0x367d108c,"borogove.Client.addCallRetractListener","borogove/Client.hx",1846,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallRetractListener__fromC,"borogove.Client","addCallRetractListener__fromC",0x22c7c96d,"borogove.Client.addCallRetractListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallRetractListener__fromC,"borogove.Client","addCallRetractListener__fromC",0x22c7c96d,"borogove.Client.addCallRetractListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1491_addCallRingingListener,"borogove.Client","addCallRingingListener",0x5f59e2bd,"borogove.Client.addCallRingingListener","borogove/Client.hx",1491,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1860_addCallRingingListener,"borogove.Client","addCallRingingListener",0x5f59e2bd,"borogove.Client.addCallRingingListener","borogove/Client.hx",1860,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallRingingListener__fromC,"borogove.Client","addCallRingingListener__fromC",0x61b10f5c,"borogove.Client.addCallRingingListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallRingingListener__fromC,"borogove.Client","addCallRingingListener__fromC",0x61b10f5c,"borogove.Client.addCallRingingListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1505_addCallUpdateStatusListener,"borogove.Client","addCallUpdateStatusListener",0x64a47558,"borogove.Client.addCallUpdateStatusListener","borogove/Client.hx",1505,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1874_addCallUpdateStatusListener,"borogove.Client","addCallUpdateStatusListener",0x64a47558,"borogove.Client.addCallUpdateStatusListener","borogove/Client.hx",1874,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallUpdateStatusListener__fromC,"borogove.Client","addCallUpdateStatusListener__fromC",0x6047d621,"borogove.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallUpdateStatusListener__fromC,"borogove.Client","addCallUpdateStatusListener__fromC",0x6047d621,"borogove.Client.addCallUpdateStatusListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1521_addCallMediaListener,"borogove.Client","addCallMediaListener",0x7c3a52af,"borogove.Client.addCallMediaListener","borogove/Client.hx",1521,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1890_addCallMediaListener,"borogove.Client","addCallMediaListener",0x7c3a52af,"borogove.Client.addCallMediaListener","borogove/Client.hx",1890,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallMediaListener__fromC,"borogove.Client","addCallMediaListener__fromC",0x91fc61aa,"borogove.Client.addCallMediaListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallMediaListener__fromC,"borogove.Client","addCallMediaListener__fromC",0x91fc61aa,"borogove.Client.addCallMediaListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1536_addCallTrackListener,"borogove.Client","addCallTrackListener",0xf44a5b56,"borogove.Client.addCallTrackListener","borogove/Client.hx",1536,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1905_addCallTrackListener,"borogove.Client","addCallTrackListener",0xf44a5b56,"borogove.Client.addCallTrackListener","borogove/Client.hx",1905,0x8e157d85)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_282_addCallTrackListener__fromC,"borogove.Client","addCallTrackListener__fromC",0x1f65cbe3,"borogove.Client.addCallTrackListener__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_afe14372debdebc6_367_addCallTrackListener__fromC,"borogove.Client","addCallTrackListener__fromC",0x1f65cbe3,"borogove.Client.addCallTrackListener__fromC","HaxeCBridge.hx",367,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1546_setInForeground,"borogove.Client","setInForeground",0x844deb74,"borogove.Client.setInForeground","borogove/Client.hx",1546,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1554_setNotInForeground,"borogove.Client","setNotInForeground",0xe4d7a7cf,"borogove.Client.setNotInForeground","borogove/Client.hx",1554,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1564_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1564,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1560_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1560,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1575_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1575,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1580_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1580,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1573_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1573,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1584_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1584,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1570_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1570,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1567_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1567,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1596_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1596,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1589_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1589,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1595_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1595,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1607_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",1607,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1606_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",1606,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1618_nextSortId,"borogove.Client","nextSortId",0x76615cc2,"borogove.Client.nextSortId","borogove/Client.hx",1618,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1626_storeMessageBuilder,"borogove.Client","storeMessageBuilder",0x1804807f,"borogove.Client.storeMessageBuilder","borogove/Client.hx",1626,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1624_storeMessageBuilder,"borogove.Client","storeMessageBuilder",0x1804807f,"borogove.Client.storeMessageBuilder","borogove/Client.hx",1624,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1631_storeMessages,"borogove.Client","storeMessages",0x6129c2f7,"borogove.Client.storeMessages","borogove/Client.hx",1631,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1636_sendQuery,"borogove.Client","sendQuery",0x0127bcca,"borogove.Client.sendQuery","borogove/Client.hx",1636,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1643_sendNextLazyQuery,"borogove.Client","sendNextLazyQuery",0x9ace2e43,"borogove.Client.sendNextLazyQuery","borogove/Client.hx",1643,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1641_sendNextLazyQuery,"borogove.Client","sendNextLazyQuery",0x9ace2e43,"borogove.Client.sendNextLazyQuery","borogove/Client.hx",1641,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1655_sendQueryLazy,"borogove.Client","sendQueryLazy",0xf72d265e,"borogove.Client.sendQueryLazy","borogove/Client.hx",1655,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1667_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1667,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1677_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1677,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1661_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",1661,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1689_sendStanza,"borogove.Client","sendStanza",0x3845b5f3,"borogove.Client.sendStanza","borogove/Client.hx",1689,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1695_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",1695,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1703_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",1703,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1710_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",1710,0x8e157d85)
-static const ::String _hx_array_data_c0e6dc18_234[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1915_setInForeground,"borogove.Client","setInForeground",0x844deb74,"borogove.Client.setInForeground","borogove/Client.hx",1915,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1923_setNotInForeground,"borogove.Client","setNotInForeground",0xe4d7a7cf,"borogove.Client.setNotInForeground","borogove/Client.hx",1923,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1933_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1933,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1929_fetchMediaByHash,"borogove.Client","fetchMediaByHash",0x85d7c445,"borogove.Client.fetchMediaByHash","borogove/Client.hx",1929,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1958_maybeAutodownloadAttachments,"borogove.Client","maybeAutodownloadAttachments",0xe69b61c7,"borogove.Client.maybeAutodownloadAttachments","borogove/Client.hx",1958,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1937_maybeAutodownloadAttachments,"borogove.Client","maybeAutodownloadAttachments",0xe69b61c7,"borogove.Client.maybeAutodownloadAttachments","borogove/Client.hx",1937,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1947_maybeAutodownloadAttachments,"borogove.Client","maybeAutodownloadAttachments",0xe69b61c7,"borogove.Client.maybeAutodownloadAttachments","borogove/Client.hx",1947,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1948_maybeAutodownloadAttachments,"borogove.Client","maybeAutodownloadAttachments",0xe69b61c7,"borogove.Client.maybeAutodownloadAttachments","borogove/Client.hx",1948,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1969_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1969,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1974_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1974,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1967_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1967,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1978_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1978,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1964_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1964,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1961_fetchMediaByHashOneCounterpart,"borogove.Client","fetchMediaByHashOneCounterpart",0x7939134e,"borogove.Client.fetchMediaByHashOneCounterpart","borogove/Client.hx",1961,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1990_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1990,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1983_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1983,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1989_chatActivity,"borogove.Client","chatActivity",0xdc37e2dd,"borogove.Client.chatActivity","borogove/Client.hx",1989,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2001_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",2001,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2000_sortChats,"borogove.Client","sortChats",0x30f4e687,"borogove.Client.sortChats","borogove/Client.hx",2000,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2012_nextSortId,"borogove.Client","nextSortId",0x76615cc2,"borogove.Client.nextSortId","borogove/Client.hx",2012,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2029_storeMessageBuilder,"borogove.Client","storeMessageBuilder",0x1804807f,"borogove.Client.storeMessageBuilder","borogove/Client.hx",2029,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2018_storeMessageBuilder,"borogove.Client","storeMessageBuilder",0x1804807f,"borogove.Client.storeMessageBuilder","borogove/Client.hx",2018,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2050_storeMessages,"borogove.Client","storeMessages",0x6129c2f7,"borogove.Client.storeMessages","borogove/Client.hx",2050,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2033_storeMessages,"borogove.Client","storeMessages",0x6129c2f7,"borogove.Client.storeMessages","borogove/Client.hx",2033,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2036_storeMessages,"borogove.Client","storeMessages",0x6129c2f7,"borogove.Client.storeMessages","borogove/Client.hx",2036,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2059_checkForResends,"borogove.Client","checkForResends",0x3b210021,"borogove.Client.checkForResends","borogove/Client.hx",2059,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2062_checkForResends,"borogove.Client","checkForResends",0x3b210021,"borogove.Client.checkForResends","borogove/Client.hx",2062,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2053_checkForResends,"borogove.Client","checkForResends",0x3b210021,"borogove.Client.checkForResends","borogove/Client.hx",2053,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2085_sendQuery,"borogove.Client","sendQuery",0x0127bcca,"borogove.Client.sendQuery","borogove/Client.hx",2085,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2092_sendNextLazyQuery,"borogove.Client","sendNextLazyQuery",0x9ace2e43,"borogove.Client.sendNextLazyQuery","borogove/Client.hx",2092,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2090_sendNextLazyQuery,"borogove.Client","sendNextLazyQuery",0x9ace2e43,"borogove.Client.sendNextLazyQuery","borogove/Client.hx",2090,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2104_sendQueryLazy,"borogove.Client","sendQueryLazy",0xf72d265e,"borogove.Client.sendQueryLazy","borogove/Client.hx",2104,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2119_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",2119,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2129_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",2129,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2110_publishWithOptions,"borogove.Client","publishWithOptions",0x33815b3f,"borogove.Client.publishWithOptions","borogove/Client.hx",2110,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2141_sendStanza,"borogove.Client","sendStanza",0x3845b5f3,"borogove.Client.sendStanza","borogove/Client.hx",2141,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2148_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",2148,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2156_sendPresence,"borogove.Client","sendPresence",0x8b6a25b9,"borogove.Client.sendPresence","borogove/Client.hx",2156,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2163_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",2163,0x8e157d85)
+static const ::String _hx_array_data_c0e6dc18_291[] = {
HX_("stun",3a,f5,5b,4c),HX_("stuns",f9,9d,1a,84),HX_("turn",7d,eb,05,4d),HX_("turns",56,22,28,18),
};
-static const ::String _hx_array_data_c0e6dc18_235[] = {
+static const ::String _hx_array_data_c0e6dc18_292[] = {
HX_("turn",7d,eb,05,4d),HX_("turns",56,22,28,18),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1708_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",1708,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1740_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1740,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1743_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1743,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1737_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",1737,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1752_notifyMessageHandlers,"borogove.Client","notifyMessageHandlers",0x88b574b1,"borogove.Client.notifyMessageHandlers","borogove/Client.hx",1752,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1767_notifySyncMessageHandlers,"borogove.Client","notifySyncMessageHandlers",0x1628e516,"borogove.Client.notifySyncMessageHandlers","borogove/Client.hx",1767,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1784_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",1784,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1782_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",1782,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1799_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",1799,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1797_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",1797,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1833_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1833,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1835_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1835,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1836_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",1836,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1858_serverBlocked,"borogove.Client","serverBlocked",0x86ce5793,"borogove.Client.serverBlocked","borogove/Client.hx",1858,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1867_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1867,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1874_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1874,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1881_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1881,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1883_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1883,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1893_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1893,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1901_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1901,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1912_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1912,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1864_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",1864,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1927_checkForReceipts,"borogove.Client","checkForReceipts",0x18c46212,"borogove.Client.checkForReceipts","borogove/Client.hx",1927,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1936_checkForReceipts,"borogove.Client","checkForReceipts",0x18c46212,"borogove.Client.checkForReceipts","borogove/Client.hx",1936,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1941_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",1941,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1945_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",1945,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1950_onMAMJMI,"borogove.Client","onMAMJMI",0xf47696c2,"borogove.Client.onMAMJMI","borogove/Client.hx",1950,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1975_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1975,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2013_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2013,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2039_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2039,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1980_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1980,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2002_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2002,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1994_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1994,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1990_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1990,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2045_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2045,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_1964_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",1964,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2057_pingAllChannels,"borogove.Client","pingAllChannels",0x95268ee9,"borogove.Client.pingAllChannels","borogove/Client.hx",2057,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2064_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2064,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2069_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2069,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2073_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2073,0x8e157d85)
-HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_62_boot,"borogove.Client","boot",0x16d68048,"borogove.Client.boot","borogove/Client.hx",62,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2161_getIceServers,"borogove.Client","getIceServers",0xa62741a5,"borogove.Client.getIceServers","borogove/Client.hx",2161,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2193_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",2193,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2196_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",2196,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2190_discoverServices,"borogove.Client","discoverServices",0xca86abfd,"borogove.Client.discoverServices","borogove/Client.hx",2190,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2205_notifyMessageHandlers,"borogove.Client","notifyMessageHandlers",0x88b574b1,"borogove.Client.notifyMessageHandlers","borogove/Client.hx",2205,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2220_notifySyncMessageHandlers,"borogove.Client","notifySyncMessageHandlers",0x1628e516,"borogove.Client.notifySyncMessageHandlers","borogove/Client.hx",2220,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2237_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",2237,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2235_rosterGet,"borogove.Client","rosterGet",0x21c107f5,"borogove.Client.rosterGet","borogove/Client.hx",2235,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2259_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",2259,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2257_startChatWith,"borogove.Client","startChatWith",0x4c4c80aa,"borogove.Client.startChatWith","borogove/Client.hx",2257,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2300_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",2300,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2302_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",2302,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2303_mucInvite,"borogove.Client","mucInvite",0xc0e2a44e,"borogove.Client.mucInvite","borogove/Client.hx",2303,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2325_serverBlocked,"borogove.Client","serverBlocked",0x86ce5793,"borogove.Client.serverBlocked","borogove/Client.hx",2325,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2334_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2334,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2341_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2341,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2348_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2348,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2350_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2350,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2360_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2360,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2368_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2368,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2379_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2379,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2331_bookmarksGet,"borogove.Client","bookmarksGet",0x13a4e3af,"borogove.Client.bookmarksGet","borogove/Client.hx",2331,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2394_checkForReceipts,"borogove.Client","checkForReceipts",0x18c46212,"borogove.Client.checkForReceipts","borogove/Client.hx",2394,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2405_checkForReceipts,"borogove.Client","checkForReceipts",0x18c46212,"borogove.Client.checkForReceipts","borogove/Client.hx",2405,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2410_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",2410,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2414_sync,"borogove.Client","sync",0x221ab671,"borogove.Client.sync","borogove/Client.hx",2414,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2419_onMAMJMI,"borogove.Client","onMAMJMI",0xf47696c2,"borogove.Client.onMAMJMI","borogove/Client.hx",2419,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2448_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2448,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2497_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2497,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2499_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2499,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2525_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2525,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2453_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2453,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2488_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2488,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2471_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2471,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2480_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2480,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2476_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2476,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2531_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2531,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2433_doSync,"borogove.Client","doSync",0x13e60d1c,"borogove.Client.doSync","borogove/Client.hx",2433,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2543_pingAllChannels,"borogove.Client","pingAllChannels",0x95268ee9,"borogove.Client.pingAllChannels","borogove/Client.hx",2543,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2549_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2549,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2552_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2552,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_2556_joinAllChannels,"borogove.Client","joinAllChannels",0x16ca5071,"borogove.Client.joinAllChannels","borogove/Client.hx",2556,0x8e157d85)
+HX_LOCAL_STACK_FRAME(_hx_pos_a492fd7f83fa2dd6_61_boot,"borogove.Client","boot",0x16d68048,"borogove.Client.boot","borogove/Client.hx",61,0x8e157d85)
namespace borogove{
void Client_obj::__construct(::String accountId,::Dynamic persistence){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_153_new)
-HXLINE( 153) return _gthis->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_163_new)
+HXLINE( 164) _gthis->channelPinger->stopTimer();
+HXLINE( 165) return _gthis->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_157_new)
-HXLINE( 158) _gthis->token = ( (::String)(data->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
-HXLINE( 159) ::Dynamic persistence1 = persistence;
-HXDLIN( 159) ::String _hx_tmp = _gthis->jid->asBare()->asString();
-HXDLIN( 159) ::String _hx_tmp1;
-HXDLIN( 159) ::String tmp = _gthis->stream->clientId;
-HXDLIN( 159) if (::hx::IsNotNull( tmp )) {
-HXLINE( 159) _hx_tmp1 = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_168_new)
+HXLINE( 169) _gthis->token = ( (::String)(data->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
+HXLINE( 170) ::Dynamic persistence1 = persistence;
+HXDLIN( 170) ::String _hx_tmp = _gthis->jid->asBare()->asString();
+HXDLIN( 170) ::String _hx_tmp1;
+HXDLIN( 170) ::String tmp = _gthis->stream->clientId;
+HXDLIN( 170) if (::hx::IsNotNull( tmp )) {
+HXLINE( 170) _hx_tmp1 = tmp;
}
else {
-HXLINE( 159) _hx_tmp1 = _gthis->jid->resource;
+HXLINE( 170) _hx_tmp1 = _gthis->jid->resource;
}
-HXDLIN( 159) ::String _hx_tmp2 = _gthis->displayName();
-HXDLIN( 159) ::borogove::Persistence_obj::storeLogin(persistence1,_hx_tmp,_hx_tmp1,_hx_tmp2,_gthis->token);
-HXLINE( 160) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXDLIN( 170) ::String _hx_tmp2 = _gthis->displayName();
+HXDLIN( 170) ::borogove::Persistence_obj::storeLogin(persistence1,_hx_tmp,_hx_tmp1,_hx_tmp2,_gthis->rosterVer,_gthis->token);
+HXLINE( 171) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(1)
::borogove::EventResult _hx_run(::Array< ::Dynamic> data){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_163_new)
-HXLINE( 164) ::Array< ::Dynamic> it = _gthis->chats;
-HXDLIN( 164) bool result = false;
-HXDLIN( 164) {
-HXLINE( 164) int _g = 0;
-HXDLIN( 164) while((_g < it->length)){
-HXLINE( 164) ::borogove::Chat x = it->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN( 164) _g = (_g + 1);
-HXDLIN( 164) bool _hx_tmp;
-HXDLIN( 164) if ((x->uiState != 2)) {
-HXLINE( 164) _hx_tmp = x->syncing();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_174_new)
+HXLINE( 175) ::Array< ::Dynamic> it = _gthis->chats;
+HXDLIN( 175) bool result = false;
+HXDLIN( 175) {
+HXLINE( 175) int _g = 0;
+HXDLIN( 175) while((_g < it->length)){
+HXLINE( 175) ::borogove::Chat x = it->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 175) _g = (_g + 1);
+HXDLIN( 175) bool _hx_tmp;
+HXDLIN( 175) if ((x->uiState != 2)) {
+HXLINE( 175) _hx_tmp = x->syncing();
}
else {
-HXLINE( 164) _hx_tmp = false;
+HXLINE( 175) _hx_tmp = false;
}
-HXDLIN( 164) if (_hx_tmp) {
-HXLINE( 164) result = true;
-HXDLIN( 164) goto _hx_goto_0;
+HXDLIN( 175) if (_hx_tmp) {
+HXLINE( 175) result = true;
+HXDLIN( 175) goto _hx_goto_0;
}
}
_hx_goto_0:;
}
-HXDLIN( 164) _gthis->stream->emitSMupdates = !(result);
-HXLINE( 165) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXDLIN( 175) _gthis->stream->emitSMupdates = !(result);
+HXLINE( 176) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_168_new)
-HXLINE( 169) ::Dynamic persistence1 = persistence;
-HXDLIN( 169) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 169) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 169) if (_gthis->stream->emitSMupdates) {
-HXLINE( 169) _hx_tmp1 = ( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_179_new)
+HXLINE( 180) ::Dynamic persistence1 = persistence;
+HXDLIN( 180) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 180) ::Array< unsigned char > _hx_tmp1;
+HXDLIN( 180) if (_gthis->stream->emitSMupdates) {
+HXLINE( 180) _hx_tmp1 = ( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) );
}
else {
-HXLINE( 169) _hx_tmp1 = null();
+HXLINE( 180) _hx_tmp1 = null();
}
-HXDLIN( 169) ::borogove::Persistence_obj::storeStreamManagement(persistence1,_hx_tmp,_hx_tmp1,_gthis->sortId);
-HXLINE( 170) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXDLIN( 180) ::borogove::Persistence_obj::storeStreamManagement(persistence1,_hx_tmp,_hx_tmp1,_gthis->sortId);
+HXLINE( 181) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
@@ -667,23 +764,23 @@ HXLINE( 170) return ::borogove::EventResult_obj::EventHandled_dyn();
::borogove::EventResult _hx_run( ::Dynamic data){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_179_new)
-HXLINE( 179) _gthis->notifyMessageHandlers(m,3);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_190_new)
+HXLINE( 190) _gthis->notifyMessageHandlers(m,3);
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_179_new)
-HXLINE( 179) return null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_190_new)
+HXLINE( 190) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_173_new)
-HXLINE( 174) ::Dynamic persistence1 = persistence;
-HXLINE( 175) ::String _hx_tmp = _gthis->accountId();
-HXLINE( 174) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),1,null()), ::Dynamic(new _hx_Closure_4(_gthis)), ::Dynamic(new _hx_Closure_5()));
-HXLINE( 180) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_184_new)
+HXLINE( 185) ::Dynamic persistence1 = persistence;
+HXLINE( 186) ::String _hx_tmp = _gthis->accountId();
+HXLINE( 185) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),1,null()), ::Dynamic(new _hx_Closure_4(_gthis)), ::Dynamic(new _hx_Closure_5()));
+HXLINE( 191) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
@@ -691,106 +788,106 @@ HXLINE( 180) return ::borogove::EventResult_obj::EventHandled_dyn();
::borogove::EventResult _hx_run( ::Dynamic data){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_189_new)
-HXLINE( 189) _gthis->notifyMessageHandlers(m,3);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_200_new)
+HXLINE( 200) _gthis->notifyMessageHandlers(m,3);
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_8) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_189_new)
-HXLINE( 189) return null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_200_new)
+HXLINE( 200) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_183_new)
-HXLINE( 184) ::Dynamic persistence1 = persistence;
-HXLINE( 185) ::String _hx_tmp = _gthis->accountId();
-HXLINE( 184) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),3,null()), ::Dynamic(new _hx_Closure_7(_gthis)), ::Dynamic(new _hx_Closure_8()));
-HXLINE( 190) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_194_new)
+HXLINE( 195) ::Dynamic persistence1 = persistence;
+HXLINE( 196) ::String _hx_tmp = _gthis->accountId();
+HXLINE( 195) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(persistence1,_hx_tmp, ::Dynamic(data->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)),3,null()), ::Dynamic(new _hx_Closure_7(_gthis)), ::Dynamic(new _hx_Closure_8()));
+HXLINE( 201) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_10, ::borogove::Client,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_193_new)
-HXLINE( 194) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 196) if (::hx::IsNotNull( stanza->getChild(HX_("result",dd,68,84,08),HX_("urn:xmpp:mam:2",f5,ef,8c,da)) )) {
-HXLINE( 198) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_204_new)
+HXLINE( 205) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 207) if (::hx::IsNotNull( stanza->getChild(HX_("result",dd,68,84,08),HX_("urn:xmpp:mam:2",f5,ef,8c,da)) )) {
+HXLINE( 209) return ::borogove::EventResult_obj::EventUnhandled_dyn();
}
-HXLINE( 201) ::borogove::JID from;
-HXDLIN( 201) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 201) from = null();
+HXLINE( 212) ::borogove::JID from;
+HXDLIN( 212) if (::hx::IsNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 212) from = null();
}
else {
-HXLINE( 201) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 212) from = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
}
-HXLINE( 202) ::borogove::Stanza fwd = null();
-HXLINE( 203) bool _hx_tmp;
-HXDLIN( 203) if (::hx::IsNotNull( from )) {
-HXLINE( 203) ::String _hx_tmp1 = from->asBare()->asString();
-HXDLIN( 203) _hx_tmp = (_hx_tmp1 == _gthis->accountId());
+HXLINE( 213) ::borogove::Stanza fwd = null();
+HXLINE( 214) bool _hx_tmp;
+HXDLIN( 214) if (::hx::IsNotNull( from )) {
+HXLINE( 214) ::String _hx_tmp1 = from->asBare()->asString();
+HXDLIN( 214) _hx_tmp = (_hx_tmp1 == _gthis->accountId());
}
else {
-HXLINE( 203) _hx_tmp = false;
+HXLINE( 214) _hx_tmp = false;
}
-HXDLIN( 203) if (_hx_tmp) {
-HXLINE( 204) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
-HXLINE( 205) if (::hx::IsNull( carbon )) {
-HXLINE( 205) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+HXDLIN( 214) if (_hx_tmp) {
+HXLINE( 215) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+HXLINE( 216) if (::hx::IsNull( carbon )) {
+HXLINE( 216) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
}
-HXLINE( 206) if (::hx::IsNotNull( carbon )) {
-HXLINE( 207) ::borogove::Stanza tmp = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
-HXDLIN( 207) if (::hx::IsNotNull( tmp )) {
-HXLINE( 207) fwd = tmp->getFirstChild();
+HXLINE( 217) if (::hx::IsNotNull( carbon )) {
+HXLINE( 218) ::borogove::Stanza tmp = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+HXDLIN( 218) if (::hx::IsNotNull( tmp )) {
+HXLINE( 218) fwd = tmp->getFirstChild();
}
else {
-HXLINE( 207) fwd = null();
+HXLINE( 218) fwd = null();
}
}
}
-HXLINE( 221) _gthis->processLiveMessage(stanza,fwd,null());
-HXLINE( 222) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 233) _gthis->processLiveMessage(stanza,fwd,null());
+HXLINE( 234) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_11, ::borogove::Client,_gthis) HXARGC(1)
::borogove::IqResult _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_226_new)
-HXLINE( 227) ::borogove::JID from;
-HXDLIN( 227) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 227) from = null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_238_new)
+HXLINE( 239) ::borogove::JID from;
+HXDLIN( 239) if (::hx::IsNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 239) from = null();
}
else {
-HXLINE( 227) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
- }
-HXLINE( 228) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
-HXLINE( 229) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 229) ::borogove::DirectChat chat = _gthis1->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 230) ::Dynamic this1 = chat->jingleSessions;
-HXDLIN( 230) ::Dynamic session = ( ( ::haxe::ds::StringMap)(this1) )->get(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
-HXLINE( 232) if ((( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-initiate",70,2d,30,f7))) {
-HXLINE( 233) if (::hx::IsNotNull( session )) {
-HXLINE( 234) try {
+HXLINE( 239) from = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+ }
+HXLINE( 240) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+HXLINE( 241) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 241) ::borogove::DirectChat chat = _gthis1->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 242) ::Dynamic this1 = chat->jingleSessions;
+HXDLIN( 242) ::Dynamic session = ( ( ::haxe::ds::StringMap)(this1) )->get(jingle->attr->get(HX_("sid",0e,9f,57,00)));
+HXLINE( 244) if (::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("session-initiate",70,2d,30,f7) )) {
+HXLINE( 245) if (::hx::IsNotNull( session )) {
+HXLINE( 246) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 235) ::Dynamic this2 = chat->jingleSessions;
-HXDLIN( 235) ::String key = ::borogove::calls::Session_obj::get_sid(session);
-HXDLIN( 235) ( ( ::haxe::ds::StringMap)(this2) )->set(key,::borogove::calls::Session_obj::initiate(session,stanza));
+HXLINE( 247) ::Dynamic this2 = chat->jingleSessions;
+HXDLIN( 247) ::String key = ::borogove::calls::Session_obj::get_sid(session);
+HXDLIN( 247) ( ( ::haxe::ds::StringMap)(this2) )->set(key,::borogove::calls::Session_obj::initiate(session,stanza));
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE( 236) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
-HXDLIN( 236) {
-HXLINE( 237) ::haxe::Log_obj::trace(HX_("Bad session-inititate",c5,d7,64,3f), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE( 248) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXDLIN( 248) {
+HXLINE( 249) ::haxe::Log_obj::trace(HX_("Bad session-inititate",c5,d7,64,3f), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_g1))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),237)));
-HXLINE( 238) {
-HXLINE( 238) ::Dynamic this3 = chat->jingleSessions;
-HXDLIN( 238) ( ( ::haxe::ds::StringMap)(this3) )->remove(::borogove::calls::Session_obj::get_sid(session));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),249)));
+HXLINE( 250) {
+HXLINE( 250) ::Dynamic this3 = chat->jingleSessions;
+HXDLIN( 250) ( ( ::haxe::ds::StringMap)(this3) )->remove(::borogove::calls::Session_obj::get_sid(session));
}
}
}
@@ -800,625 +897,646 @@ HXDLIN( 238) ( ( ::haxe::ds::StringMap)(this3) )->remove(::borogove::cal
}
}
else {
-HXLINE( 241) ::borogove::calls::InitiatedSession newSession = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(_gthis,stanza);
-HXLINE( 242) {
-HXLINE( 242) ::Dynamic this4 = chat->jingleSessions;
-HXDLIN( 242) ( ( ::haxe::ds::StringMap)(this4) )->set(newSession->get_sid(),newSession);
+HXLINE( 253) ::borogove::calls::InitiatedSession newSession = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(_gthis,stanza);
+HXLINE( 254) {
+HXLINE( 254) ::Dynamic this4 = chat->jingleSessions;
+HXDLIN( 254) ( ( ::haxe::ds::StringMap)(this4) )->set(newSession->get_sid(),newSession);
}
-HXLINE( 243) _gthis->chatActivity(chat,null());
-HXLINE( 244) newSession->ring();
+HXLINE( 255) _gthis->chatActivity(chat,null());
+HXLINE( 256) newSession->ring();
}
}
-HXLINE( 248) bool _hx_tmp;
-HXDLIN( 248) if (::hx::IsNotNull( session )) {
-HXLINE( 248) _hx_tmp = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-accept",5f,92,e7,a8));
+HXLINE( 260) bool _hx_tmp;
+HXDLIN( 260) if (::hx::IsNotNull( session )) {
+HXLINE( 260) _hx_tmp = ::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("session-accept",5f,92,e7,a8) );
}
else {
-HXLINE( 248) _hx_tmp = false;
+HXLINE( 260) _hx_tmp = false;
}
-HXDLIN( 248) if (_hx_tmp) {
-HXLINE( 249) try {
+HXDLIN( 260) if (_hx_tmp) {
+HXLINE( 261) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 250) ::Dynamic this5 = chat->jingleSessions;
-HXDLIN( 250) ::String key1 = ::borogove::calls::Session_obj::get_sid(session);
-HXDLIN( 250) ( ( ::haxe::ds::StringMap)(this5) )->set(key1,::borogove::calls::Session_obj::initiate(session,stanza));
+HXLINE( 262) ::Dynamic this5 = chat->jingleSessions;
+HXDLIN( 262) ::String key1 = ::borogove::calls::Session_obj::get_sid(session);
+HXDLIN( 262) ( ( ::haxe::ds::StringMap)(this5) )->set(key1,::borogove::calls::Session_obj::initiate(session,stanza));
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g2 = _hx_e;
-HXLINE( 251) ::haxe::Exception _g3 = ::haxe::Exception_obj::caught(_g2);
-HXLINE( 252) ::haxe::Log_obj::trace(HX_("session-accept failed",5e,a5,74,6b), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE( 263) ::haxe::Exception _g3 = ::haxe::Exception_obj::caught(_g2);
+HXLINE( 264) ::haxe::Log_obj::trace(HX_("session-accept failed",5e,a5,74,6b), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_g3))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),252)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),264)));
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
}
-HXLINE( 256) bool _hx_tmp1;
-HXDLIN( 256) if (::hx::IsNotNull( session )) {
-HXLINE( 256) _hx_tmp1 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("session-terminate",6a,23,dc,12));
+HXLINE( 268) bool _hx_tmp1;
+HXDLIN( 268) if (::hx::IsNotNull( session )) {
+HXLINE( 268) _hx_tmp1 = ::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("session-terminate",6a,23,dc,12) );
}
else {
-HXLINE( 256) _hx_tmp1 = false;
+HXLINE( 268) _hx_tmp1 = false;
}
-HXDLIN( 256) if (_hx_tmp1) {
-HXLINE( 257) ::borogove::calls::Session_obj::terminate(session);
-HXLINE( 258) {
-HXLINE( 258) ::Dynamic this6 = chat->jingleSessions;
-HXDLIN( 258) ( ( ::haxe::ds::StringMap)(this6) )->remove(( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) ));
+HXDLIN( 268) if (_hx_tmp1) {
+HXLINE( 269) ::borogove::calls::Session_obj::terminate(session);
+HXLINE( 270) {
+HXLINE( 270) ::Dynamic this6 = chat->jingleSessions;
+HXDLIN( 270) ( ( ::haxe::ds::StringMap)(this6) )->remove(jingle->attr->get_string(HX_("sid",0e,9f,57,00)));
}
}
-HXLINE( 261) bool _hx_tmp2;
-HXDLIN( 261) if (::hx::IsNotNull( session )) {
-HXLINE( 261) _hx_tmp2 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-add",cd,a9,a1,10));
+HXLINE( 273) bool _hx_tmp2;
+HXDLIN( 273) if (::hx::IsNotNull( session )) {
+HXLINE( 273) _hx_tmp2 = ::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("content-add",cd,a9,a1,10) );
}
else {
-HXLINE( 261) _hx_tmp2 = false;
+HXLINE( 273) _hx_tmp2 = false;
}
-HXDLIN( 261) if (_hx_tmp2) {
-HXLINE( 262) ::borogove::calls::Session_obj::contentAdd(session,stanza);
+HXDLIN( 273) if (_hx_tmp2) {
+HXLINE( 274) ::borogove::calls::Session_obj::contentAdd(session,stanza);
}
-HXLINE( 265) bool _hx_tmp3;
-HXDLIN( 265) if (::hx::IsNotNull( session )) {
-HXLINE( 265) _hx_tmp3 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("content-accept",dc,ee,cb,f2));
+HXLINE( 277) bool _hx_tmp3;
+HXDLIN( 277) if (::hx::IsNotNull( session )) {
+HXLINE( 277) _hx_tmp3 = ::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("content-accept",dc,ee,cb,f2) );
}
else {
-HXLINE( 265) _hx_tmp3 = false;
+HXLINE( 277) _hx_tmp3 = false;
}
-HXDLIN( 265) if (_hx_tmp3) {
-HXLINE( 266) ::borogove::calls::Session_obj::contentAccept(session,stanza);
+HXDLIN( 277) if (_hx_tmp3) {
+HXLINE( 278) ::borogove::calls::Session_obj::contentAccept(session,stanza);
}
-HXLINE( 269) bool _hx_tmp4;
-HXDLIN( 269) if (::hx::IsNotNull( session )) {
-HXLINE( 269) _hx_tmp4 = (( (::String)(::Reflect_obj::field(jingle->attr,HX_("action",b6,3b,46,16))) ) == HX_("transport-info",d2,9e,05,1c));
+HXLINE( 281) bool _hx_tmp4;
+HXDLIN( 281) if (::hx::IsNotNull( session )) {
+HXLINE( 281) _hx_tmp4 = ::hx::IsEq( jingle->attr->get(HX_("action",b6,3b,46,16)),HX_("transport-info",d2,9e,05,1c) );
}
else {
-HXLINE( 269) _hx_tmp4 = false;
+HXLINE( 281) _hx_tmp4 = false;
}
-HXDLIN( 269) if (_hx_tmp4) {
-HXLINE( 270) ::borogove::calls::Session_obj::transportInfo(session,stanza);
+HXDLIN( 281) if (_hx_tmp4) {
+HXLINE( 282) ::borogove::calls::Session_obj::transportInfo(session,stanza);
}
-HXLINE( 274) return ::borogove::IqResult_obj::IqResult_dyn();
+HXLINE( 286) return ::borogove::IqResult_obj::IqResult_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_12, ::borogove::Client,_gthis) HXARGC(1)
::borogove::IqResult _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_279_new)
-HXLINE( 279) return ::borogove::IqResult_obj::IqResultElement(_gthis->caps->discoReply());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_291_new)
+HXLINE( 291) return ::borogove::IqResult_obj::IqResultElement(_gthis->caps->discoReply());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_13, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
::borogove::IqResult _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_282_new)
-HXLINE( 284) bool _hx_tmp;
-HXDLIN( 284) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 285) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 284) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_294_new)
+HXLINE( 296) bool _hx_tmp;
+HXDLIN( 296) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 297) ::String _hx_tmp1 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXLINE( 296) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
}
else {
-HXLINE( 284) _hx_tmp = false;
- }
-HXLINE( 283) if (_hx_tmp) {
-HXLINE( 287) return ::borogove::IqResult_obj::IqNoResult_dyn();
+HXLINE( 296) _hx_tmp = false;
+ }
+HXLINE( 295) if (_hx_tmp) {
+HXLINE( 299) return ::borogove::IqResult_obj::IqNoResult_dyn();
+ }
+HXLINE( 302) ::borogove::queries::RosterGet roster = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,null());
+HXLINE( 303) roster->handleResponse(stanza);
+HXLINE( 304) ::Array< ::Dynamic> items = roster->getResult();
+HXLINE( 305) if (::hx::IsNotNull( roster->ver )) {
+HXLINE( 306) _gthis->rosterVer = roster->ver;
+HXLINE( 307) ::Dynamic persistence1 = persistence;
+HXDLIN( 307) ::String _hx_tmp2 = _gthis->accountId();
+HXDLIN( 307) ::String _hx_tmp3;
+HXDLIN( 307) ::String tmp = _gthis->stream->clientId;
+HXDLIN( 307) if (::hx::IsNotNull( tmp )) {
+HXLINE( 307) _hx_tmp3 = tmp;
+ }
+ else {
+HXLINE( 307) _hx_tmp3 = _gthis->jid->resource;
+ }
+HXDLIN( 307) ::String _hx_tmp4 = _gthis->displayName();
+HXDLIN( 307) ::borogove::Persistence_obj::storeLogin(persistence1,_hx_tmp2,_hx_tmp3,_hx_tmp4,_gthis->rosterVer,null());
}
-HXLINE( 290) ::borogove::queries::RosterGet roster = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,null());
-HXLINE( 291) roster->handleResponse(stanza);
-HXLINE( 292) ::Array< ::Dynamic> items = roster->getResult();
-HXLINE( 293) if ((items->length == 0)) {
-HXLINE( 293) return ::borogove::IqResult_obj::IqNoResult_dyn();
+HXLINE( 309) if ((items->length == 0)) {
+HXLINE( 309) return ::borogove::IqResult_obj::IqNoResult_dyn();
}
-HXLINE( 295) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 296) {
-HXLINE( 296) int _g = 0;
-HXDLIN( 296) while((_g < items->length)){
-HXLINE( 296) ::Dynamic item = items->__get(_g);
-HXDLIN( 296) _g = (_g + 1);
-HXLINE( 297) if (::hx::IsNotEq( item->__Field(HX_("subscription",1d,ff,00,36),::hx::paccDynamic),HX_("remove",44,9c,88,04) )) {
-HXLINE( 298) ::borogove::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
-HXLINE( 299) chat->updateFromRoster(item);
-HXLINE( 300) chatsToUpdate->push(chat);
+HXLINE( 311) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 312) {
+HXLINE( 312) int _g = 0;
+HXDLIN( 312) while((_g < items->length)){
+HXLINE( 312) ::borogove::Stanza item = items->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 312) _g = (_g + 1);
+HXLINE( 313) if (::hx::IsNotEq( item->attr->get(HX_("subscription",1d,ff,00,36)),HX_("remove",44,9c,88,04) )) {
+HXLINE( 314) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 314) ::borogove::DirectChat chat = _gthis1->getDirectChat(item->attr->get_string(HX_("jid",c5,ca,50,00)),false);
+HXLINE( 315) chat->updateFromRoster(item);
+HXLINE( 316) chatsToUpdate->push(chat);
}
}
}
-HXLINE( 303) ::Dynamic persistence1 = persistence;
-HXDLIN( 303) ::borogove::Persistence_obj::storeChats(persistence1,_gthis->accountId(),chatsToUpdate);
-HXLINE( 304) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
-HXLINE( 306) return ::borogove::IqResult_obj::IqResult_dyn();
+HXLINE( 319) ::Dynamic persistence2 = persistence;
+HXDLIN( 319) ::borogove::Persistence_obj::storeChats(persistence2,_gthis->accountId(),chatsToUpdate);
+HXLINE( 320) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
+HXLINE( 322) return ::borogove::IqResult_obj::IqResult_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_14, ::borogove::Client,_gthis) HXARGC(1)
::borogove::IqResult _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_309_new)
-HXLINE( 311) bool _hx_tmp;
-HXDLIN( 311) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 312) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 311) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_325_new)
+HXLINE( 327) bool _hx_tmp;
+HXDLIN( 327) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 328) ::String _hx_tmp1 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXLINE( 327) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
}
else {
-HXLINE( 311) _hx_tmp = false;
+HXLINE( 327) _hx_tmp = false;
}
-HXLINE( 310) if (_hx_tmp) {
-HXLINE( 314) return ::borogove::IqResult_obj::IqNoResult_dyn();
+HXLINE( 326) if (_hx_tmp) {
+HXLINE( 330) return ::borogove::IqResult_obj::IqNoResult_dyn();
}
-HXLINE( 317) {
-HXLINE( 317) int _g = 0;
-HXDLIN( 317) ::Array< ::Dynamic> _g1;
-HXDLIN( 317) ::borogove::Stanza tmp = stanza->getChild(HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3));
-HXDLIN( 317) ::Array< ::Dynamic> tmp1;
-HXDLIN( 317) if (::hx::IsNotNull( tmp )) {
-HXLINE( 317) tmp1 = tmp->allTags(HX_("item",13,c5,bf,45),null());
+HXLINE( 333) {
+HXLINE( 333) int _g = 0;
+HXDLIN( 333) ::Array< ::Dynamic> _g1;
+HXDLIN( 333) ::borogove::Stanza tmp = stanza->getChild(HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3));
+HXDLIN( 333) ::Array< ::Dynamic> tmp1;
+HXDLIN( 333) if (::hx::IsNotNull( tmp )) {
+HXLINE( 333) tmp1 = tmp->allTags(HX_("item",13,c5,bf,45),null());
}
else {
-HXLINE( 317) tmp1 = null();
+HXLINE( 333) tmp1 = null();
}
-HXDLIN( 317) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 317) _g1 = tmp1;
+HXDLIN( 333) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 333) _g1 = tmp1;
}
else {
-HXLINE( 317) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 333) _g1 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN( 317) while((_g < _g1->length)){
-HXLINE( 317) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN( 317) _g = (_g + 1);
-HXLINE( 318) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
-HXLINE( 318) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 318) _gthis1->serverBlocked(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
+HXDLIN( 333) while((_g < _g1->length)){
+HXLINE( 333) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 333) _g = (_g + 1);
+HXLINE( 334) if (::hx::IsNotNull( item->attr->get(HX_("jid",c5,ca,50,00)) )) {
+HXLINE( 334) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 334) _gthis1->serverBlocked(item->attr->get_string(HX_("jid",c5,ca,50,00)));
}
}
}
-HXLINE( 321) return ::borogove::IqResult_obj::IqResult_dyn();
+HXLINE( 337) return ::borogove::IqResult_obj::IqResult_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_15, ::borogove::Client,_gthis) HXARGC(1)
::borogove::IqResult _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_324_new)
-HXLINE( 326) bool _hx_tmp;
-HXDLIN( 326) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 327) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 326) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_340_new)
+HXLINE( 342) bool _hx_tmp;
+HXDLIN( 342) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 343) ::String _hx_tmp1 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXLINE( 342) _hx_tmp = (_hx_tmp1 != _gthis->jid->domain);
}
else {
-HXLINE( 326) _hx_tmp = false;
+HXLINE( 342) _hx_tmp = false;
}
-HXLINE( 325) if (_hx_tmp) {
-HXLINE( 329) return ::borogove::IqResult_obj::IqNoResult_dyn();
+HXLINE( 341) if (_hx_tmp) {
+HXLINE( 345) return ::borogove::IqResult_obj::IqNoResult_dyn();
}
-HXLINE( 332) ::borogove::Stanza tmp = stanza->getChild(HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3));
-HXDLIN( 332) ::Array< ::Dynamic> unblocks;
-HXDLIN( 332) if (::hx::IsNotNull( tmp )) {
-HXLINE( 332) unblocks = tmp->allTags(HX_("item",13,c5,bf,45),null());
+HXLINE( 348) ::borogove::Stanza tmp = stanza->getChild(HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3));
+HXDLIN( 348) ::Array< ::Dynamic> unblocks;
+HXDLIN( 348) if (::hx::IsNotNull( tmp )) {
+HXLINE( 348) unblocks = tmp->allTags(HX_("item",13,c5,bf,45),null());
}
else {
-HXLINE( 332) unblocks = null();
+HXLINE( 348) unblocks = null();
}
-HXLINE( 333) if (::hx::IsNull( unblocks )) {
-HXLINE( 335) int _g = 0;
-HXDLIN( 335) ::Array< ::Dynamic> _g1 = _gthis->chats;
-HXDLIN( 335) while((_g < _g1->length)){
-HXLINE( 335) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN( 335) _g = (_g + 1);
-HXLINE( 336) if (chat->isBlocked) {
-HXLINE( 336) chat->unblock(false);
+HXLINE( 349) if (::hx::IsNull( unblocks )) {
+HXLINE( 351) int _g = 0;
+HXDLIN( 351) ::Array< ::Dynamic> _g1 = _gthis->chats;
+HXDLIN( 351) while((_g < _g1->length)){
+HXLINE( 351) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 351) _g = (_g + 1);
+HXLINE( 352) if (chat->isBlocked) {
+HXLINE( 352) chat->unblock(false);
}
}
}
else {
-HXLINE( 339) int _g2 = 0;
-HXDLIN( 339) while((_g2 < unblocks->length)){
-HXLINE( 339) ::borogove::Stanza item = unblocks->__get(_g2).StaticCast< ::borogove::Stanza >();
-HXDLIN( 339) _g2 = (_g2 + 1);
-HXLINE( 340) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ) )) {
-HXLINE( 340) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 340) ::borogove::Chat tmp1 = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) ));
-HXDLIN( 340) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 340) tmp1->unblock(false);
+HXLINE( 355) int _g2 = 0;
+HXDLIN( 355) while((_g2 < unblocks->length)){
+HXLINE( 355) ::borogove::Stanza item = unblocks->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 355) _g2 = (_g2 + 1);
+HXLINE( 356) if (::hx::IsNotNull( item->attr->get(HX_("jid",c5,ca,50,00)) )) {
+HXLINE( 356) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 356) ::borogove::Chat tmp1 = _gthis1->getChat(item->attr->get_string(HX_("jid",c5,ca,50,00)));
+HXDLIN( 356) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 356) tmp1->unblock(false);
}
}
}
}
-HXLINE( 344) return ::borogove::IqResult_obj::IqResult_dyn();
+HXLINE( 360) return ::borogove::IqResult_obj::IqResult_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_24, ::borogove::Client,_gthis,::Dynamic,persistence) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_347_new)
-HXLINE( 348) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 349) ::borogove::Stanza presence = stanza;
-HXLINE( 351) bool _hx_tmp;
-HXDLIN( 351) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 351) _hx_tmp = ::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_363_new)
+HXLINE( 364) ::borogove::Stanza stanza = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 365) ::borogove::Stanza presence = stanza;
+HXLINE( 367) bool _hx_tmp;
+HXDLIN( 367) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 367) _hx_tmp = ::hx::IsNull( stanza->attr->get(HX_("type",ba,f2,08,4d)) );
}
else {
-HXLINE( 351) _hx_tmp = false;
- }
-HXDLIN( 351) if (_hx_tmp) {
-HXLINE( 352) ::borogove::JID from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 353) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 353) ::borogove::Chat chat = _gthis1->getChat(from->asBare()->asString());
-HXLINE( 354) if (::hx::IsNull( chat )) {
-HXLINE( 355) ::Dynamic _hx_tmp1 = ::haxe::Log_obj::trace;
-HXDLIN( 355) ::String _hx_tmp2 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 355) _hx_tmp1(_hx_tmp2,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),355,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
-HXLINE( 356) return ::borogove::EventResult_obj::EventUnhandled_dyn();
- }
-HXLINE( 359) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXDLIN( 359) ::Dynamic tmp;
-HXDLIN( 359) if (::hx::IsNotNull( c )) {
-HXLINE( 359) tmp = c->attr;
+HXLINE( 367) _hx_tmp = false;
+ }
+HXDLIN( 367) if (_hx_tmp) {
+HXLINE( 368) ::borogove::JID from = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE( 369) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 369) ::borogove::Chat chat = _gthis1->getChat(from->asBare()->asString());
+HXLINE( 370) if (::hx::IsNull( chat )) {
+HXLINE( 371) ::Dynamic _hx_tmp1 = ::haxe::Log_obj::trace;
+HXDLIN( 371) ::String _hx_tmp2 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + stanza->attr->get(HX_("from",6a,a5,c2,43)));
+HXDLIN( 371) _hx_tmp1(_hx_tmp2,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),371,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
+HXLINE( 372) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+ }
+HXLINE( 375) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
+HXDLIN( 375) ::haxe::ds::StringMap tmp;
+HXDLIN( 375) if (::hx::IsNotNull( c )) {
+HXLINE( 375) tmp = c->attr;
}
else {
-HXLINE( 359) tmp = null();
+HXLINE( 375) tmp = null();
}
-HXDLIN( 359) ::String _hx_tmp3;
-HXDLIN( 359) if (::hx::IsNotNull( tmp )) {
-HXLINE( 359) _hx_tmp3 = ( (::String)(::Reflect_obj::field(tmp,HX_("ver",63,e2,59,00))) );
+HXDLIN( 375) ::String _hx_tmp3;
+HXDLIN( 375) if (::hx::IsNotNull( tmp )) {
+HXLINE( 375) _hx_tmp3 = tmp->get_string(HX_("ver",63,e2,59,00));
}
else {
-HXLINE( 359) _hx_tmp3 = null();
+HXLINE( 375) _hx_tmp3 = null();
}
-HXDLIN( 359) if (::hx::IsNull( _hx_tmp3 )) {
-HXLINE( 360) ::borogove::Chat chat1 = chat;
-HXDLIN( 360) ::String _hx_tmp4 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 360) chat1->setPresence(::borogove::JID_obj::parse(_hx_tmp4)->resource,stanza,false);
+HXDLIN( 375) if (::hx::IsNull( _hx_tmp3 )) {
+HXLINE( 376) ::borogove::Chat chat1 = chat;
+HXDLIN( 376) ::String _hx_tmp4 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 376) chat1->setPresence(::borogove::JID_obj::parse(_hx_tmp4)->resource,stanza,false);
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_16, ::borogove::Chat,chat, ::borogove::Stanza,stanza) HXARGC(1)
::borogove::Chat _hx_run( ::borogove::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_362_new)
-HXLINE( 363) ::borogove::Chat chat1 = chat;
-HXDLIN( 363) ::String handleCaps = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 363) chat1->setPresence(::borogove::JID_obj::parse(handleCaps)->resource,stanza,false);
-HXLINE( 364) return chat;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_378_new)
+HXLINE( 379) ::borogove::Chat chat1 = chat;
+HXDLIN( 379) ::String handleCaps = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 379) chat1->setPresence(::borogove::JID_obj::parse(handleCaps)->resource,stanza,false);
+HXLINE( 380) return chat;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_18, ::borogove::Client,_gthis, ::borogove::Stanza,presence, ::Dynamic,handleCaps, ::borogove::Stanza,stanza) HXARGC(1)
void _hx_run( ::borogove::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_368_new)
-HXLINE( 368) if (::hx::IsNull( caps )) {
-HXLINE( 369) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXDLIN( 369) ::Dynamic tmp;
-HXDLIN( 369) if (::hx::IsNotNull( c )) {
-HXLINE( 369) tmp = c->attr;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_384_new)
+HXLINE( 384) if (::hx::IsNull( caps )) {
+HXLINE( 385) ::borogove::Stanza c = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
+HXDLIN( 385) ::haxe::ds::StringMap tmp;
+HXDLIN( 385) if (::hx::IsNotNull( c )) {
+HXLINE( 385) tmp = c->attr;
}
else {
-HXLINE( 369) tmp = null();
+HXLINE( 385) tmp = null();
}
-HXDLIN( 369) ::String ver;
-HXDLIN( 369) if (::hx::IsNotNull( tmp )) {
-HXLINE( 369) ver = ( (::String)(::Reflect_obj::field(tmp,HX_("ver",63,e2,59,00))) );
+HXDLIN( 385) ::String ver;
+HXDLIN( 385) if (::hx::IsNotNull( tmp )) {
+HXLINE( 385) ver = tmp->get_string(HX_("ver",63,e2,59,00));
}
else {
-HXLINE( 369) ver = null();
+HXLINE( 385) ver = null();
}
-HXLINE( 370) ::Array< ::Dynamic> pending = ( (::Array< ::Dynamic>)(_gthis->pendingCaps->get(ver)) );
-HXLINE( 371) if (::hx::IsNull( pending )) {
+HXLINE( 386) ::Array< ::Dynamic> pending = ( (::Array< ::Dynamic>)(_gthis->pendingCaps->get(ver)) );
+HXLINE( 387) if (::hx::IsNull( pending )) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_17, ::borogove::Client,_gthis,::String,ver, ::borogove::queries::DiscoInfoGet,discoGet2) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_374_new)
-HXLINE( 376) ::Array< ::Dynamic> handlers;
-HXDLIN( 376) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(_gthis->pendingCaps->get(ver)) );
-HXDLIN( 376) if (::hx::IsNotNull( tmp )) {
-HXLINE( 376) handlers = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_390_new)
+HXLINE( 392) ::Array< ::Dynamic> handlers;
+HXDLIN( 392) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(_gthis->pendingCaps->get(ver)) );
+HXDLIN( 392) if (::hx::IsNotNull( tmp )) {
+HXLINE( 392) handlers = tmp;
}
else {
-HXLINE( 376) handlers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 392) handlers = ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 377) _gthis->pendingCaps->remove(ver);
-HXLINE( 378) if (::hx::IsNotNull( discoGet2->getResult() )) {
-HXLINE( 379) ::borogove::CapsRepo _gthis1 = _gthis->capsRepo;
-HXDLIN( 379) ::borogove::Caps cachedCaps = _gthis1->add(discoGet2->getResult(),null());
-HXLINE( 380) {
-HXLINE( 380) int _g = 0;
-HXDLIN( 380) while((_g < handlers->length)){
-HXLINE( 380) ::Dynamic handler = handlers->__get(_g);
-HXDLIN( 380) _g = (_g + 1);
-HXLINE( 381) handler(cachedCaps);
+HXLINE( 393) _gthis->pendingCaps->remove(ver);
+HXLINE( 394) if (::hx::IsNotNull( discoGet2->getResult() )) {
+HXLINE( 395) ::borogove::CapsRepo _gthis1 = _gthis->capsRepo;
+HXDLIN( 395) ::borogove::Caps cachedCaps = _gthis1->add(discoGet2->getResult(),null());
+HXLINE( 396) {
+HXLINE( 396) int _g = 0;
+HXDLIN( 396) while((_g < handlers->length)){
+HXLINE( 396) ::Dynamic handler = handlers->__get(_g);
+HXDLIN( 396) _g = (_g + 1);
+HXLINE( 397) handler(cachedCaps);
}
}
}
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 372) _gthis->pendingCaps->set(ver,::Array_obj< ::Dynamic>::__new(1)->init(0,handleCaps));
-HXLINE( 373) ::String discoGet = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 373) ::borogove::Stanza c1 = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXDLIN( 373) ::Dynamic tmp1;
-HXDLIN( 373) if (::hx::IsNotNull( c1 )) {
-HXLINE( 373) tmp1 = c1->attr;
+HXLINE( 388) _gthis->pendingCaps->set(ver,::Array_obj< ::Dynamic>::__new(1)->init(0,handleCaps));
+HXLINE( 389) ::String discoGet = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 389) ::borogove::Stanza c1 = presence->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
+HXDLIN( 389) ::haxe::ds::StringMap tmp1;
+HXDLIN( 389) if (::hx::IsNotNull( c1 )) {
+HXLINE( 389) tmp1 = c1->attr;
}
else {
-HXLINE( 373) tmp1 = null();
+HXLINE( 389) tmp1 = null();
}
-HXDLIN( 373) ::String discoGet1;
-HXDLIN( 373) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 373) discoGet1 = ( (::String)(::Reflect_obj::field(tmp1,HX_("node",02,0a,0a,49))) );
+HXDLIN( 389) ::String discoGet1;
+HXDLIN( 389) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 389) discoGet1 = tmp1->get_string(HX_("node",02,0a,0a,49));
}
else {
-HXLINE( 373) discoGet1 = null();
+HXLINE( 389) discoGet1 = null();
}
-HXDLIN( 373) ::borogove::queries::DiscoInfoGet discoGet2 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,discoGet,((discoGet1 + HX_("#",23,00,00,00)) + ver));
-HXLINE( 374) discoGet2->onFinished( ::Dynamic(new _hx_Closure_17(_gthis,ver,discoGet2)));
-HXLINE( 385) _gthis->sendQuery(discoGet2);
+HXDLIN( 389) ::borogove::queries::DiscoInfoGet discoGet2 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,discoGet,((discoGet1 + HX_("#",23,00,00,00)) + ver));
+HXLINE( 390) discoGet2->onFinished( ::Dynamic(new _hx_Closure_17(_gthis,ver,discoGet2)));
+HXLINE( 401) _gthis->sendQuery(discoGet2);
}
else {
-HXLINE( 387) pending->push(handleCaps);
+HXLINE( 403) pending->push(handleCaps);
}
}
else {
-HXLINE( 390) handleCaps(caps);
+HXLINE( 406) handleCaps(caps);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 362) ::Dynamic handleCaps = ::Dynamic(new _hx_Closure_16(chat,stanza));
-HXLINE( 367) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->capsRepo->getAsync(presence), ::Dynamic(new _hx_Closure_18(_gthis,presence,handleCaps,stanza)),null());
+HXLINE( 378) ::Dynamic handleCaps = ::Dynamic(new _hx_Closure_16(chat,stanza));
+HXLINE( 383) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->capsRepo->getAsync(presence), ::Dynamic(new _hx_Closure_18(_gthis,presence,handleCaps,stanza)),null());
}
-HXLINE( 394) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 395) ::String avatarSha1Hex = presence->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
-HXDLIN( 395) ::borogove::Hash avatarSha1;
-HXDLIN( 395) bool avatarSha11;
-HXDLIN( 395) if (::hx::IsNotNull( avatarSha1Hex )) {
-HXLINE( 395) avatarSha11 = (avatarSha1Hex == HX_("",00,00,00,00));
+HXLINE( 410) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 411) ::String avatarSha1Hex = presence->findText(HX_("{vcard-temp:x:update}x/photo#",f6,a1,33,28));
+HXDLIN( 411) ::borogove::Hash avatarSha1;
+HXDLIN( 411) bool avatarSha11;
+HXDLIN( 411) if (::hx::IsNotNull( avatarSha1Hex )) {
+HXLINE( 411) avatarSha11 = (avatarSha1Hex == HX_("",00,00,00,00));
}
else {
-HXLINE( 395) avatarSha11 = true;
+HXLINE( 411) avatarSha11 = true;
}
-HXDLIN( 395) if (avatarSha11) {
-HXLINE( 395) avatarSha1 = null();
+HXDLIN( 411) if (avatarSha11) {
+HXLINE( 411) avatarSha1 = null();
}
else {
-HXLINE( 395) avatarSha1 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+HXLINE( 411) avatarSha1 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
}
-HXLINE( 396) bool _hx_tmp5;
-HXDLIN( 396) bool _hx_tmp6;
-HXDLIN( 396) if (::hx::IsNotNull( channel )) {
-HXLINE( 396) _hx_tmp6 = ::hx::IsNotNull( avatarSha1 );
+HXLINE( 412) bool _hx_tmp5;
+HXDLIN( 412) bool _hx_tmp6;
+HXDLIN( 412) if (::hx::IsNotNull( channel )) {
+HXLINE( 412) _hx_tmp6 = ::hx::IsNotNull( avatarSha1 );
}
else {
-HXLINE( 396) _hx_tmp6 = false;
+HXLINE( 412) _hx_tmp6 = false;
}
-HXDLIN( 396) if (_hx_tmp6) {
-HXLINE( 396) ::Dynamic this1 = _gthis->brokenAvatars;
-HXDLIN( 396) _hx_tmp5 = ::hx::IsNull( ( ( ::haxe::ds::StringMap)(this1) )->get(avatarSha1->toHex()) );
+HXDLIN( 412) if (_hx_tmp6) {
+HXLINE( 412) ::Dynamic this1 = _gthis->brokenAvatars;
+HXDLIN( 412) _hx_tmp5 = ::hx::IsNull( ( ( ::haxe::ds::StringMap)(this1) )->get(avatarSha1->toHex()) );
}
else {
-HXLINE( 396) _hx_tmp5 = false;
+HXLINE( 412) _hx_tmp5 = false;
}
-HXDLIN( 396) if (_hx_tmp5) {
+HXDLIN( 412) if (_hx_tmp5) {
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_21, ::borogove::Client,_gthis, ::borogove::Hash,avatarSha1, ::borogove::JID,from,::Dynamic,persistence, ::borogove::Chat,chat) HXARGC(1)
- void _hx_run(bool has){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_402_new)
-HXLINE( 402) if (has) {
-HXLINE( 403) if (chat->livePresence()) {
-HXLINE( 403) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ void _hx_run(::String has){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_418_new)
+HXLINE( 418) if (::hx::IsNotNull( has )) {
+HXLINE( 419) if (chat->livePresence()) {
+HXLINE( 419) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
}
}
else {
HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_20, ::borogove::Client,_gthis, ::borogove::Hash,avatarSha1, ::borogove::queries::VcardTempGet,vcardGet, ::borogove::JID,from,::Dynamic,persistence, ::borogove::Chat,chat) HXARGC(0)
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_19, ::borogove::Client,_gthis, ::borogove::Chat,chat) HXARGC(1)
- ::borogove::EventResult _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_412_new)
-HXLINE( 412) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ ::borogove::EventResult _hx_run(::String _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_428_new)
+HXLINE( 428) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_406_new)
-HXLINE( 407) ::Dynamic vcard = vcardGet->getResult();
-HXLINE( 408) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
-HXLINE( 409) {
-HXLINE( 409) ::Dynamic this1 = _gthis->brokenAvatars;
-HXDLIN( 409) ::String k = avatarSha1->toHex();
-HXDLIN( 409) ( ( ::haxe::ds::StringMap)(this1) )->set(k,from);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_422_new)
+HXLINE( 423) ::Dynamic vcard = vcardGet->getResult();
+HXLINE( 424) if (::hx::IsNull( vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic) )) {
+HXLINE( 425) {
+HXLINE( 425) ::Dynamic this1 = _gthis->brokenAvatars;
+HXDLIN( 425) ::String k = avatarSha1->toHex();
+HXDLIN( 425) ( ( ::haxe::ds::StringMap)(this1) )->set(k,from);
}
-HXLINE( 410) return;
+HXLINE( 426) return;
}
-HXLINE( 412) ::String tmp = ( (::String)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)) );
-HXDLIN( 412) ::String _hx_tmp;
-HXDLIN( 412) if (::hx::IsNotNull( tmp )) {
-HXLINE( 412) _hx_tmp = tmp;
+HXLINE( 428) ::Dynamic persistence1 = persistence;
+HXDLIN( 428) ::String _hx_tmp;
+HXDLIN( 428) ::String tmp = ( (::String)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)) );
+HXDLIN( 428) if (::hx::IsNotNull( tmp )) {
+HXLINE( 428) _hx_tmp = tmp;
}
else {
-HXLINE( 412) _hx_tmp = HX_("image/png",b5,cc,c1,16);
+HXLINE( 428) _hx_tmp = HX_("image/png",b5,cc,c1,16);
}
-HXDLIN( 412) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(persistence,_hx_tmp,( ( ::haxe::io::Bytes)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) )->b), ::Dynamic(new _hx_Closure_19(_gthis,chat)),null());
+HXDLIN( 428) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(persistence1,_hx_tmp,::borogove::_Source::Source_Impl__obj::ofTinkSource( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(( ( ::haxe::io::Bytes)( ::Dynamic(vcard->__Field(HX_("photo",b2,c8,f3,c1),::hx::paccDynamic))->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) )))))), ::Dynamic(new _hx_Closure_19(_gthis,chat)),null());
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 405) ::borogove::queries::VcardTempGet vcardGet = ::borogove::queries::VcardTempGet_obj::__alloc( HX_CTX ,from);
-HXLINE( 406) vcardGet->onFinished( ::Dynamic(new _hx_Closure_20(_gthis,avatarSha1,vcardGet,from,persistence,chat)));
-HXLINE( 416) _gthis->sendQueryLazy(vcardGet);
+HXLINE( 421) ::borogove::queries::VcardTempGet vcardGet = ::borogove::queries::VcardTempGet_obj::__alloc( HX_CTX ,from);
+HXLINE( 422) vcardGet->onFinished( ::Dynamic(new _hx_Closure_20(_gthis,avatarSha1,vcardGet,from,persistence,chat)));
+HXLINE( 432) _gthis->sendQueryLazy(vcardGet);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 397) if (from->isBare()) {
-HXLINE( 398) chat->setAvatarSha1(avatarSha1->hash);
-HXLINE( 399) ::Dynamic persistence1 = persistence;
-HXDLIN( 399) ::String _hx_tmp7 = _gthis->accountId();
-HXDLIN( 399) ::borogove::Persistence_obj::storeChats(persistence1,_hx_tmp7,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE( 413) if (from->isBare()) {
+HXLINE( 414) chat->setAvatarSha1(avatarSha1->hash);
+HXLINE( 415) ::Dynamic persistence1 = persistence;
+HXDLIN( 415) ::String _hx_tmp7 = _gthis->accountId();
+HXDLIN( 415) ::borogove::Persistence_obj::storeChats(persistence1,_hx_tmp7,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
}
-HXLINE( 401) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1->hash), ::Dynamic(new _hx_Closure_21(_gthis,avatarSha1,from,persistence,chat)),null());
+HXLINE( 417) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(persistence,avatarSha1), ::Dynamic(new _hx_Closure_21(_gthis,avatarSha1,from,persistence,chat)),null());
}
-HXLINE( 420) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 436) return ::borogove::EventResult_obj::EventHandled_dyn();
}
-HXLINE( 423) bool _hx_tmp8;
-HXDLIN( 423) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 423) _hx_tmp8 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd));
+HXLINE( 439) bool _hx_tmp8;
+HXDLIN( 439) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 439) _hx_tmp8 = ::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) );
}
else {
-HXLINE( 423) _hx_tmp8 = false;
+HXLINE( 439) _hx_tmp8 = false;
}
-HXDLIN( 423) if (_hx_tmp8) {
-HXLINE( 424) ::borogove::Client _gthis2 = _gthis;
-HXDLIN( 424) ::borogove::Chat chat2 = _gthis2->getChat(::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asBare()->asString());
-HXLINE( 425) if (::hx::IsNull( chat2 )) {
-HXLINE( 426) ::Dynamic _hx_tmp9 = ::haxe::Log_obj::trace;
-HXDLIN( 426) ::String _hx_tmp10 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 426) _hx_tmp9(_hx_tmp10,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),426,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
-HXLINE( 427) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+HXDLIN( 439) if (_hx_tmp8) {
+HXLINE( 440) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 440) ::borogove::Chat chat2 = _gthis2->getChat(::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)))->asBare()->asString());
+HXLINE( 441) if (::hx::IsNull( chat2 )) {
+HXLINE( 442) ::Dynamic _hx_tmp9 = ::haxe::Log_obj::trace;
+HXDLIN( 442) ::String _hx_tmp10 = (HX_("Presence for unknown JID: ",19,ed,d7,3f) + stanza->attr->get(HX_("from",6a,a5,c2,43)));
+HXDLIN( 442) _hx_tmp9(_hx_tmp10,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),442,HX_("borogove.Client",18,dc,e6,c0),HX_("new",60,d0,53,00)));
+HXLINE( 443) return ::borogove::EventResult_obj::EventUnhandled_dyn();
}
-HXLINE( 429) ::String _hx_tmp11 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 429) chat2->setPresence(::borogove::JID_obj::parse(_hx_tmp11)->resource,stanza,false);
-HXLINE( 430) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
+HXLINE( 445) ::String _hx_tmp11 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 445) chat2->setPresence(::borogove::JID_obj::parse(_hx_tmp11)->resource,stanza,false);
+HXLINE( 446) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
}
-HXLINE( 433) bool _hx_tmp12;
-HXDLIN( 433) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 433) _hx_tmp12 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("subscribe",4a,0b,18,19));
+HXLINE( 449) bool _hx_tmp12;
+HXDLIN( 449) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 449) _hx_tmp12 = ::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("subscribe",4a,0b,18,19) );
}
else {
-HXLINE( 433) _hx_tmp12 = false;
- }
-HXDLIN( 433) if (_hx_tmp12) {
-HXLINE( 434) ::borogove::JID from1 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 435) ::borogove::Client _gthis3 = _gthis;
-HXDLIN( 435) ::borogove::Chat chat3 = _gthis3->getChat(from1->asBare()->asString());
-HXLINE( 436) ::String nick = stanza->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
-HXLINE( 437) if (::hx::IsNull( chat3 )) {
+HXLINE( 449) _hx_tmp12 = false;
+ }
+HXDLIN( 449) if (_hx_tmp12) {
+HXLINE( 450) ::borogove::JID from1 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE( 451) ::borogove::Client _gthis3 = _gthis;
+HXDLIN( 451) ::borogove::Chat chat3 = _gthis3->getChat(from1->asBare()->asString());
+HXLINE( 452) ::String nick = stanza->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
+HXLINE( 453) if (::hx::IsNull( chat3 )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_22) HXARGC(1)
int _hx_run( ::borogove::Caps _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_438_new)
-HXLINE( 438) return 3;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_454_new)
+HXLINE( 454) return 3;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_23,::String,nick) HXARGC(1)
void _hx_run( ::borogove::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_439_new)
-HXLINE( 439) bool _hx_tmp;
-HXDLIN( 439) if ((chat->displayName == chat->chatId)) {
-HXLINE( 439) _hx_tmp = ::hx::IsNotNull( nick );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_455_new)
+HXLINE( 455) bool _hx_tmp;
+HXDLIN( 455) if ((chat->displayName == chat->chatId)) {
+HXLINE( 455) _hx_tmp = ::hx::IsNotNull( nick );
}
else {
-HXLINE( 439) _hx_tmp = false;
+HXLINE( 455) _hx_tmp = false;
}
-HXDLIN( 439) if (_hx_tmp) {
-HXLINE( 439) chat->displayName = nick;
+HXDLIN( 455) if (_hx_tmp) {
+HXLINE( 455) chat->displayName = nick;
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 438) ::borogove::Client _gthis4 = _gthis;
-HXDLIN( 438) _gthis4->startChatWith(from1->asBare()->asString(), ::Dynamic(new _hx_Closure_22()), ::Dynamic(new _hx_Closure_23(nick)));
+HXLINE( 454) ::borogove::Client _gthis4 = _gthis;
+HXDLIN( 454) _gthis4->startChatWith(from1->asBare()->asString(), ::Dynamic(new _hx_Closure_22()), ::Dynamic(new _hx_Closure_23(nick)));
}
else {
-HXLINE( 441) if ((chat3->uiState == 2)) {
-HXLINE( 442) chat3->uiState = 3;
-HXLINE( 443) bool _hx_tmp13;
-HXDLIN( 443) if ((chat3->displayName == chat3->chatId)) {
-HXLINE( 443) _hx_tmp13 = ::hx::IsNotNull( nick );
+HXLINE( 457) if ((chat3->uiState == 2)) {
+HXLINE( 458) chat3->uiState = 3;
+HXLINE( 459) bool _hx_tmp13;
+HXDLIN( 459) if ((chat3->displayName == chat3->chatId)) {
+HXLINE( 459) _hx_tmp13 = ::hx::IsNotNull( nick );
}
else {
-HXLINE( 443) _hx_tmp13 = false;
+HXLINE( 459) _hx_tmp13 = false;
}
-HXDLIN( 443) if (_hx_tmp13) {
-HXLINE( 443) chat3->displayName = nick;
+HXDLIN( 459) if (_hx_tmp13) {
+HXLINE( 459) chat3->displayName = nick;
}
}
}
}
-HXLINE( 447) bool _hx_tmp14;
-HXDLIN( 447) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 447) _hx_tmp14 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73));
+HXLINE( 463) bool _hx_tmp14;
+HXDLIN( 463) if (::hx::IsNotNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 463) _hx_tmp14 = ::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) );
}
else {
-HXLINE( 447) _hx_tmp14 = false;
+HXLINE( 463) _hx_tmp14 = false;
}
-HXDLIN( 447) if (_hx_tmp14) {
-HXLINE( 448) ::borogove::JID from2 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 449) ::borogove::Client _gthis5 = _gthis;
-HXLINE( 450) ::borogove::Channel channel1 = ( ( ::borogove::Channel)(::Std_obj::downcast(_gthis5->getChat(from2->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 451) bool _hx_tmp15;
-HXDLIN( 451) if (::hx::IsNotNull( channel1 )) {
-HXLINE( 451) ::String _hx_tmp16 = from2->asString();
-HXDLIN( 451) _hx_tmp15 = (_hx_tmp16 == channel1->getFullJid()->asString());
+HXDLIN( 463) if (_hx_tmp14) {
+HXLINE( 464) ::borogove::JID from2 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE( 465) ::borogove::Client _gthis5 = _gthis;
+HXLINE( 466) ::borogove::Channel channel1 = ( ( ::borogove::Channel)(::Std_obj::downcast(_gthis5->getChat(from2->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 467) bool _hx_tmp15;
+HXDLIN( 467) if (::hx::IsNotNull( channel1 )) {
+HXLINE( 467) ::String _hx_tmp16 = from2->asString();
+HXDLIN( 467) _hx_tmp15 = (_hx_tmp16 == channel1->getFullJid()->asString());
}
else {
-HXLINE( 451) _hx_tmp15 = false;
+HXLINE( 467) _hx_tmp15 = false;
}
-HXDLIN( 451) if (_hx_tmp15) {
-HXLINE( 452) ::haxe::Log_obj::trace(HX_("Join failed",13,b3,f3,d3), ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN( 467) if (_hx_tmp15) {
+HXLINE( 468) ::haxe::Log_obj::trace(HX_("Join failed",13,b3,f3,d3), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,channel1->chatId)->init(1,stanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),452)));
-HXLINE( 453) channel1->joinFailed = stanza;
-HXLINE( 454) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,channel1));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),468)));
+HXLINE( 469) channel1->joinFailed = stanza;
+HXLINE( 470) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,channel1));
}
}
-HXLINE( 458) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+HXLINE( 474) return ::borogove::EventResult_obj::EventUnhandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_62_new)
-HXLINE(1640) this->queriesToSend = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1639) this->lazyQueryTimer = null();
-HXLINE(1243) this->enabledPushData = null();
-HXLINE( 125) this->firstSync = true;
-HXLINE( 124) this->inSync = false;
-HXLINE( 112) this->encryptionPolicy = ::borogove::EncryptionPolicy_obj::__alloc( HX_CTX ,true,true,true);
-HXLINE( 110) this->brokenAvatars = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 109) this->pendingCaps = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 108) this->sortId = HX_("a ",9f,54,00,00);
-HXLINE( 107) this->fastCount = null();
-HXLINE( 106) this->token = null();
-HXLINE( 105) this->fastMechanism = null();
-HXLINE( 76) this->caps = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("https://borogove.dev",57,2d,84,ed),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_32,16),::Array_obj< ::Dynamic>::__new(0),null());
-HXLINE( 72) this->chats = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 67) this->sendAvailable = true;
-HXLINE( 133) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 134) bool _hx_tmp;
-HXDLIN( 134) if (::hx::IsNotNull( accountId )) {
-HXLINE( 134) _hx_tmp = (accountId == HX_("",00,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_61_new)
+HXLINE(2089) this->queriesToSend = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2088) this->lazyQueryTimer = null();
+HXLINE(1603) this->enabledPushData = null();
+HXLINE( 132) this->firstSync = true;
+HXLINE( 131) this->inSync = false;
+HXLINE( 124) this->brokenAvatars = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 123) this->pendingCaps = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 122) this->rosterVer = null();
+HXLINE( 121) this->sortId = HX_("a ",9f,54,00,00);
+HXLINE( 119) this->fastCount = null();
+HXLINE( 118) this->token = null();
+HXLINE( 117) this->fastMechanism = null();
+HXLINE( 88) this->caps = ::borogove::Caps_obj::__alloc( HX_CTX ,HX_("https://borogove.dev",57,2d,84,ed),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_32,16),::Array_obj< ::Dynamic>::__new(0),null());
+HXLINE( 84) this->chatsIndex = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 83) this->chats = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 73) this->outgoingE2EEPreference = ::Array_obj< int >::fromData( _hx_array_data_c0e6dc18_33,1);
+HXLINE( 71) this->blockIncomingWithoutE2EE = false;
+HXLINE( 66) this->sendAvailable = true;
+HXLINE( 142) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 143) bool _hx_tmp;
+HXDLIN( 143) if (::hx::IsNotNull( accountId )) {
+HXLINE( 143) _hx_tmp = (accountId == HX_("",00,00,00,00));
}
else {
-HXLINE( 134) _hx_tmp = true;
+HXLINE( 143) _hx_tmp = true;
}
-HXDLIN( 134) if (_hx_tmp) {
-HXLINE( 135) HX_STACK_DO_THROW(HX_("accountId cannot be empty",f5,9e,fd,03));
+HXDLIN( 143) if (_hx_tmp) {
+HXLINE( 144) HX_STACK_DO_THROW(HX_("accountId cannot be empty",f5,9e,fd,03));
}
-HXLINE( 139) ::sys::thread::EventLoop mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
-HXLINE( 141) ::hx::TCast< ::thenshim::fallback::FallbackPromiseFactory >::cast(::thenshim::_Promise::Promise_Impl__obj::factory)->scheduler->addNext = mainLoop->run_dyn();
-HXLINE( 143) super::__construct();
-HXLINE( 144) this->capsRepo = ::borogove::CapsRepo_obj::__alloc( HX_CTX ,persistence);
-HXLINE( 145) this->jid = ::borogove::JID_obj::parse(accountId);
-HXLINE( 146) ::String tmp = this->jid->node;
-HXDLIN( 146) ::String _hx_tmp1;
-HXDLIN( 146) if (::hx::IsNotNull( tmp )) {
-HXLINE( 146) _hx_tmp1 = tmp;
+HXLINE( 148) ::sys::thread::EventLoop mainLoop = ::sys::thread::_Thread::Thread_Impl__obj::get_events(::sys::thread::_Thread::HaxeThread_obj::current());
+HXLINE( 150) ::hx::TCast< ::thenshim::fallback::FallbackPromiseFactory >::cast(::thenshim::_Promise::Promise_Impl__obj::factory)->scheduler->addNext = mainLoop->run_dyn();
+HXLINE( 152) super::__construct();
+HXLINE( 153) this->capsRepo = ::borogove::CapsRepo_obj::__alloc( HX_CTX ,persistence);
+HXLINE( 154) this->jid = ::borogove::JID_obj::parse(accountId);
+HXLINE( 155) ::String tmp = this->jid->node;
+HXDLIN( 155) ::String _hx_tmp1;
+HXDLIN( 155) if (::hx::IsNotNull( tmp )) {
+HXLINE( 155) _hx_tmp1 = tmp;
}
else {
-HXLINE( 146) _hx_tmp1 = this->jid->asString();
- }
-HXDLIN( 146) this->_displayName = _hx_tmp1;
-HXLINE( 147) this->persistence = persistence;
-HXLINE( 151) this->stream = ::borogove::streams::XmppStropheStream_obj::__alloc( HX_CTX );
-HXLINE( 152) this->stream->on(HX_("status/online",10,05,0e,d2),this->onConnected_dyn());
-HXLINE( 153) this->stream->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 157) this->stream->on(HX_("fast-token",48,5f,c2,26), ::Dynamic(new _hx_Closure_1(_gthis,persistence)));
-HXLINE( 163) this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_2(_gthis)));
-HXLINE( 168) this->stream->on(HX_("sm/update",1e,16,63,46), ::Dynamic(new _hx_Closure_3(_gthis,persistence)));
-HXLINE( 173) this->stream->on(HX_("sm/ack",14,b2,12,dd), ::Dynamic(new _hx_Closure_6(_gthis,persistence)));
-HXLINE( 183) this->stream->on(HX_("sm/fail",b3,aa,95,96), ::Dynamic(new _hx_Closure_9(_gthis,persistence)));
-HXLINE( 193) this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_10(_gthis)));
-HXLINE( 226) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7), ::Dynamic(new _hx_Closure_11(_gthis)));
-HXLINE( 278) this->stream->onIq(::borogove::IqRequestType_obj::Get_dyn(),HX_("query",08,8b,ea,5d),HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b), ::Dynamic(new _hx_Closure_12(_gthis)));
-HXLINE( 282) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("query",08,8b,ea,5d),HX_("jabber:iq:roster",47,76,6e,06), ::Dynamic(new _hx_Closure_13(_gthis,persistence)));
-HXLINE( 309) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_14(_gthis)));
-HXLINE( 324) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_15(_gthis)));
-HXLINE( 347) this->stream->on(HX_("presence",3b,52,d7,66), ::Dynamic(new _hx_Closure_24(_gthis,persistence)));
+HXLINE( 155) _hx_tmp1 = this->jid->asString();
+ }
+HXDLIN( 155) this->_displayName = _hx_tmp1;
+HXLINE( 156) this->persistence = persistence;
+HXLINE( 160) this->stream = ::borogove::streams::XmppStropheStream_obj::__alloc( HX_CTX );
+HXLINE( 161) this->channelPinger = ::borogove::ChannelPinger_obj::__alloc( HX_CTX ,null());
+HXLINE( 162) this->stream->on(HX_("status/online",10,05,0e,d2),this->onConnected_dyn());
+HXLINE( 163) this->stream->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 168) this->stream->on(HX_("fast-token",48,5f,c2,26), ::Dynamic(new _hx_Closure_1(_gthis,persistence)));
+HXLINE( 174) this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 179) this->stream->on(HX_("sm/update",1e,16,63,46), ::Dynamic(new _hx_Closure_3(_gthis,persistence)));
+HXLINE( 184) this->stream->on(HX_("sm/ack",14,b2,12,dd), ::Dynamic(new _hx_Closure_6(_gthis,persistence)));
+HXLINE( 194) this->stream->on(HX_("sm/fail",b3,aa,95,96), ::Dynamic(new _hx_Closure_9(_gthis,persistence)));
+HXLINE( 204) this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_10(_gthis)));
+HXLINE( 238) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7), ::Dynamic(new _hx_Closure_11(_gthis)));
+HXLINE( 290) this->stream->onIq(::borogove::IqRequestType_obj::Get_dyn(),HX_("query",08,8b,ea,5d),HX_("http://jabber.org/protocol/disco#info",cb,2b,7f,0b), ::Dynamic(new _hx_Closure_12(_gthis)));
+HXLINE( 294) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("query",08,8b,ea,5d),HX_("jabber:iq:roster",47,76,6e,06), ::Dynamic(new _hx_Closure_13(_gthis,persistence)));
+HXLINE( 325) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("block",4d,75,fc,b4),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_14(_gthis)));
+HXLINE( 340) this->stream->onIq(::borogove::IqRequestType_obj::Set_dyn(),HX_("unblock",54,6c,8d,b1),HX_("urn:xmpp:blocking",d1,a1,46,c3), ::Dynamic(new _hx_Closure_15(_gthis)));
+HXLINE( 363) this->stream->on(HX_("presence",3b,52,d7,66), ::Dynamic(new _hx_Closure_24(_gthis,persistence)));
}
Dynamic Client_obj::__CreateEmpty() { return new Client_obj; }
@@ -1448,342 +1566,446 @@ HXDLIN( 437) this->sendAvailable = value;
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,set_sendAvailable__fromC,(void))
+bool Client_obj::blockIncomingWithoutE2EE__fromC(){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_478_blockIncomingWithoutE2EE__fromC)
+HXDLIN( 478) return this->blockIncomingWithoutE2EE;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,blockIncomingWithoutE2EE__fromC,return )
+
+void Client_obj::set_blockIncomingWithoutE2EE__fromC(bool value){
+ HX_STACKFRAME(&_hx_pos_afe14372debdebc6_489_set_blockIncomingWithoutE2EE__fromC)
+HXDLIN( 489) this->blockIncomingWithoutE2EE = value;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,set_blockIncomingWithoutE2EE__fromC,(void))
+
void Client_obj::processLiveMessage( ::borogove::Stanza stanza, ::borogove::Stanza fwd, ::borogove::EncryptionInfo encryptionInfo){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis,::Array< ::Dynamic>,newChat) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_474_processLiveMessage)
-HXLINE( 475) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 475) ::borogove::Chat chat = _gthis1->getChat(builder->chatId());
-HXLINE( 476) bool isNewChat = ::hx::IsNull( chat );
-HXLINE( 477) bool message;
-HXDLIN( 477) if (::hx::IsNull( chat )) {
-HXLINE( 477) message = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("groupchat",97,1d,c8,e5));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_494_processLiveMessage)
+HXLINE( 495) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 495) ::borogove::Chat chat = _gthis1->getChat(builder->chatId());
+HXLINE( 496) bool isNewChat = ::hx::IsNull( chat );
+HXLINE( 497) bool message;
+HXDLIN( 497) if (::hx::IsNull( chat )) {
+HXLINE( 497) message = ::hx::IsNotEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("groupchat",97,1d,c8,e5) );
}
else {
-HXLINE( 477) message = false;
+HXLINE( 497) message = false;
}
-HXDLIN( 477) if (message) {
-HXLINE( 477) ::borogove::Client _gthis2 = _gthis;
-HXDLIN( 477) chat = _gthis2->getDirectChat(builder->chatId(),false);
+HXDLIN( 497) if (message) {
+HXLINE( 497) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 497) chat = _gthis2->getDirectChat(builder->chatId(),false);
}
-HXLINE( 478) if (isNewChat) {
-HXLINE( 478) newChat[0] = chat;
+HXLINE( 498) if (isNewChat) {
+HXLINE( 498) newChat[0] = chat;
}
-HXLINE( 479) if (::hx::IsNull( chat )) {
-HXLINE( 479) return builder;
+HXLINE( 499) if (::hx::IsNull( chat )) {
+HXLINE( 499) return builder;
}
-HXLINE( 480) return chat->prepareIncomingMessage(builder,stanza);
+HXLINE( 500) return chat->prepareIncomingMessage(builder,stanza);
}
HX_END_LOCAL_FUNC2(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_463_processLiveMessage)
-HXDLIN( 463) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 464) ::borogove::JID from;
-HXDLIN( 464) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE( 464) from = null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_479_processLiveMessage)
+HXDLIN( 479) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 480) ::borogove::JID from;
+HXDLIN( 480) if (::hx::IsNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE( 480) from = null();
}
else {
-HXLINE( 464) from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
+HXLINE( 480) from = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
}
-HXLINE( 466) bool _hx_tmp;
-HXDLIN( 466) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 466) _hx_tmp = ::hx::IsNotNull( from );
+HXLINE( 482) bool _hx_tmp;
+HXDLIN( 482) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 482) _hx_tmp = ::hx::IsNotNull( from );
}
else {
-HXLINE( 466) _hx_tmp = false;
+HXLINE( 482) _hx_tmp = false;
}
-HXDLIN( 466) if (_hx_tmp) {
-HXLINE( 468) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(this->getChat(from->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 469) if (::hx::IsNotNull( channel )) {
-HXLINE( 469) channel->selfPing(true);
+HXDLIN( 482) if (_hx_tmp) {
+HXLINE( 484) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(this->getChat(from->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 485) if (::hx::IsNotNull( channel )) {
+HXLINE( 485) channel->selfPing(true);
}
}
-HXLINE( 472) ::Array< ::Dynamic> newChat = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
-HXLINE( 474) ::borogove::Message message = ::borogove::Message_obj::fromStanza(stanza,this->jid, ::Dynamic(new _hx_Closure_0(_gthis,newChat)),encryptionInfo,null());
-HXLINE( 483) {
-HXLINE( 483) ::borogove::MessageStanza _g = message->parsed;
-HXDLIN( 483) switch((int)(_g->_hx_getIndex())){
+HXLINE( 487) bool _hx_tmp1;
+HXDLIN( 487) if (::hx::IsNotEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 487) _hx_tmp1 = ::hx::IsNotNull( from );
+ }
+ else {
+HXLINE( 487) _hx_tmp1 = false;
+ }
+HXDLIN( 487) if (_hx_tmp1) {
+HXLINE( 488) ::borogove::Channel channel1 = ( ( ::borogove::Channel)(::Std_obj::downcast(this->getChat(from->asBare()->asString()),::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 489) if (::hx::IsNotNull( channel1 )) {
+HXLINE( 489) this->channelPinger->schedule(channel1,null());
+ }
+ }
+HXLINE( 492) ::Array< ::Dynamic> newChat = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE( 494) ::borogove::Message message = ::borogove::Message_obj::fromStanza(stanza,this->jid, ::Dynamic(new _hx_Closure_0(_gthis,newChat)),encryptionInfo,null());
+HXLINE( 503) {
+HXLINE( 503) ::borogove::MessageStanza _g = message->parsed;
+HXDLIN( 503) switch((int)(_g->_hx_getIndex())){
case (int)0: {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_527_processLiveMessage)
-HXLINE( 527) _gthis->notifyMessageHandlers(m,3);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_571_processLiveMessage)
+HXLINE( 571) _gthis->notifyMessageHandlers(m,3);
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_527_processLiveMessage)
-HXLINE( 527) return null();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_571_processLiveMessage)
+HXLINE( 571) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 522) ::Dynamic _hx_tmp1 = this->persistence;
-HXLINE( 523) ::String _hx_tmp2 = this->accountId();
-HXLINE( 522) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_hx_tmp1,_hx_tmp2,_g->_hx_getString(0),3,_g->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1(_gthis)), ::Dynamic(new _hx_Closure_2()));
-HXLINE( 528) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
-HXLINE( 528) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
+HXLINE( 566) ::Dynamic _hx_tmp2 = this->persistence;
+HXLINE( 567) ::String _hx_tmp3 = this->accountId();
+HXLINE( 566) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_hx_tmp2,_hx_tmp3,_g->_hx_getString(0),3,_g->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1(_gthis)), ::Dynamic(new _hx_Closure_2()));
+HXLINE( 572) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
+HXLINE( 572) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
}
}
break;
case (int)1: {
-HXLINE( 484) ::borogove::ChatMessage _g1 = _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
-HXDLIN( 484) {
-HXLINE( 485) {
-HXLINE( 485) int _g2 = 0;
-HXDLIN( 485) ::Array< ::Dynamic> _g3 = _g1->inlineHashReferences();
-HXDLIN( 485) while((_g2 < _g3->length)){
-HXLINE( 485) ::borogove::Hash hash = _g3->__get(_g2).StaticCast< ::borogove::Hash >();
-HXDLIN( 485) _g2 = (_g2 + 1);
-HXLINE( 486) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,_g1->from));
+HXLINE( 504) ::borogove::ChatMessage chatMessage = _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 504) {
+HXLINE( 505) bool _hx_tmp4;
+HXDLIN( 505) if (this->blockIncomingWithoutE2EE) {
+HXLINE( 505) _hx_tmp4 = ::hx::IsNull( message->encryption );
+ }
+ else {
+HXLINE( 505) _hx_tmp4 = false;
+ }
+HXDLIN( 505) if (_hx_tmp4) {
+HXLINE( 508) ::String _hx_tmp5 = stanza->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 508) ::borogove::Stanza _hx_tmp6 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp5)
+ ->setFixed(1,HX_("to",7b,65,00,00),stanza->attr->get(HX_("from",6a,a5,c2,43)))
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73))),null());
+HXLINE( 509) ::String _hx_tmp7 = this->jid->asString();
+HXLINE( 507) this->sendStanza(_hx_tmp6->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("by",d7,55,00,00),_hx_tmp7)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))),null())->tag(HX_("policy-violation",4a,ce,a9,ac), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null())->up()->textTag(HX_("text",ad,cc,f9,4c),HX_("E2EE Required",12,e2,8b,1e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null()));
+HXLINE( 513) return;
+ }
+HXLINE( 516) {
+HXLINE( 516) int _g1 = 0;
+HXDLIN( 516) ::Array< ::Dynamic> _g2 = chatMessage->inlineHashReferences();
+HXDLIN( 516) while((_g1 < _g2->length)){
+HXLINE( 516) ::borogove::Hash hash = _g2->__get(_g1).StaticCast< ::borogove::Hash >();
+HXDLIN( 516) _g1 = (_g1 + 1);
+HXLINE( 517) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,chatMessage->from));
}
}
-HXLINE( 488) ::borogove::Chat chat = this->getChat(_g1->chatId());
-HXLINE( 489) if (::hx::IsNotNull( chat )) {
+HXLINE( 519) ::borogove::Chat chat = this->getChat(chatMessage->chatId());
+HXLINE( 520) if (::hx::IsNotNull( chat )) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis, ::borogove::Chat,chat,::Array< ::Dynamic>,newChat) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage chatMessage){
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_3,int,eventType, ::borogove::Client,_gthis, ::borogove::Chat,chat, ::borogove::ChatMessage,chatMessage,::Array< ::Dynamic>,newChat) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_3,int,eventType, ::borogove::Client,_gthis,bool,canReplaceLast, ::borogove::Chat,chat, ::borogove::ChatMessage,chatMessage,::Array< ::Dynamic>,newChat) HXARGC(1)
void _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_495_processLiveMessage)
-HXLINE( 496) _gthis->notifyMessageHandlers(chatMessage,eventType);
-HXLINE( 498) if ((eventType == 0)) {
-HXLINE( 499) ::borogove::Chat chat1 = chat;
-HXDLIN( 499) int updateChat;
-HXDLIN( 499) if (chatMessage->isIncoming()) {
-HXLINE( 499) updateChat = (chat->unreadCount() + 1);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_527_processLiveMessage)
+HXLINE( 528) _gthis->notifyMessageHandlers(chatMessage,eventType);
+HXLINE( 530) if ((eventType == 0)) {
+HXLINE( 531) ::borogove::Chat chat1 = chat;
+HXDLIN( 531) int updateChat;
+HXDLIN( 531) if (chatMessage->isIncoming()) {
+HXLINE( 531) updateChat = (chat->unreadCount() + 1);
}
else {
-HXLINE( 499) updateChat = 0;
+HXLINE( 531) updateChat = 0;
}
-HXDLIN( 499) chat1->setUnreadCount(updateChat);
-HXLINE( 500) _gthis->chatActivity(chat,null());
+HXDLIN( 531) chat1->setUnreadCount(updateChat);
+HXLINE( 532) _gthis->chatActivity(chat,null());
}
else {
-HXLINE( 501) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
-HXLINE( 502) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
+HXLINE( 533) bool updateChat1;
+HXDLIN( 533) if (!(canReplaceLast)) {
+HXLINE( 533) updateChat1 = ::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() );
+ }
+ else {
+HXLINE( 533) updateChat1 = true;
+ }
+HXDLIN( 533) if (updateChat1) {
+HXLINE( 535) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
}
}
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_490_processLiveMessage)
-HXLINE( 491) int eventType;
-HXDLIN( 491) if ((chatMessage->versions->length > 1)) {
-HXLINE( 491) eventType = 1;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_521_processLiveMessage)
+HXLINE( 522) int eventType;
+HXDLIN( 522) if ((chatMessage->versions->length > 1)) {
+HXLINE( 522) eventType = 1;
}
else {
-HXLINE( 491) eventType = 0;
+HXLINE( 522) eventType = 0;
}
-HXLINE( 492) ::Dynamic updateChat;
-HXDLIN( 492) bool updateChat1;
-HXDLIN( 492) bool updateChat2;
-HXDLIN( 492) if (::hx::IsNotNull( chat->lastMessage )) {
-HXLINE( 492) updateChat2 = (eventType == 0);
+HXLINE( 523) bool canReplaceLast;
+HXDLIN( 523) if (::hx::IsNotNull( chat->lastMessage )) {
+HXLINE( 523) canReplaceLast = chatMessage->canReplace(chat->lastMessage);
}
else {
-HXLINE( 492) updateChat2 = true;
+HXLINE( 523) canReplaceLast = true;
}
-HXDLIN( 492) if (!(updateChat2)) {
-HXLINE( 492) updateChat1 = chatMessage->canReplace(chat->lastMessage);
+HXLINE( 524) ::Dynamic updateChat;
+HXDLIN( 524) bool updateChat1;
+HXDLIN( 524) if ((eventType != 0)) {
+HXLINE( 524) updateChat1 = canReplaceLast;
}
else {
-HXLINE( 492) updateChat1 = true;
+HXLINE( 524) updateChat1 = true;
}
-HXDLIN( 492) if (updateChat1) {
-HXLINE( 492) updateChat = chat->setLastMessage(chatMessage);
+HXDLIN( 524) if (updateChat1) {
+HXLINE( 524) updateChat = chat->setLastMessage(chatMessage);
}
else {
-HXLINE( 492) updateChat = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 524) updateChat = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXDLIN( 492) return ::thenshim::_Promise::Promise_Impl__obj::then(updateChat, ::Dynamic(new _hx_Closure_3(eventType,_gthis,chat,chatMessage,newChat)),null());
+HXDLIN( 524) return ::thenshim::_Promise::Promise_Impl__obj::then(updateChat, ::Dynamic(new _hx_Closure_3(eventType,_gthis,canReplaceLast,chat,chatMessage,newChat)),null());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 490) ::Dynamic updateChat = ::Dynamic(new _hx_Closure_4(_gthis,chat,newChat));
-HXLINE( 506) if (::hx::IsNull( _g1->serverId )) {
-HXLINE( 507) updateChat(_g1);
+HXLINE( 521) ::Dynamic updateChat = ::Dynamic(new _hx_Closure_4(_gthis,chat,newChat));
+HXLINE( 539) if (::hx::IsNull( chatMessage->serverId )) {
+HXLINE( 540) updateChat(chatMessage);
}
else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::Dynamic,updateChat) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> stored){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_509_processLiveMessage)
-HXLINE( 509) return updateChat(stored->__get(0).StaticCast< ::borogove::ChatMessage >());
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_6, ::borogove::Client,_gthis, ::borogove::ChatMessage,chatMessage, ::Dynamic,updateChat) HXARGC(1)
+ ::Dynamic _hx_run(bool _){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::Dynamic,updateChat) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> stored){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_543_processLiveMessage)
+HXLINE( 543) return updateChat(stored->__get(0).StaticCast< ::borogove::ChatMessage >());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_543_processLiveMessage)
+HXLINE( 543) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,chatMessage)), ::Dynamic(new _hx_Closure_5(updateChat)),null());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 509) ::thenshim::_Promise::Promise_Impl__obj::then(this->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,_g1)), ::Dynamic(new _hx_Closure_5(updateChat)),null());
+HXLINE( 542) ::thenshim::_Promise::Promise_Impl__obj::then(this->maybeAutodownloadAttachments(chat,chatMessage), ::Dynamic(new _hx_Closure_6(_gthis,chatMessage,updateChat)),null());
}
}
}
}
break;
case (int)2: {
-HXLINE( 532) ::borogove::Chat tmp = this->getChat(message->chatId);
-HXDLIN( 532) if (::hx::IsNotNull( tmp )) {
-HXLINE( 532) tmp->setThreadSubject(message->threadId,_g->_hx_getString(0));
+HXLINE( 576) ::borogove::Chat chat1 = this->getChat(message->chatId);
+HXLINE( 577) if (::hx::IsNotNull( chat1 )) {
+HXLINE( 578) chat1->setThreadSubject(message->threadId,_g->_hx_getString(0));
+HXLINE( 579) ::Dynamic _hx_tmp8 = this->persistence;
+HXDLIN( 579) ::borogove::Persistence_obj::storeChats(_hx_tmp8,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
+HXLINE( 580) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
}
}
break;
case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::borogove::Client,_gthis) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_519_processLiveMessage)
-HXLINE( 519) if (::hx::IsNotNull( stored )) {
-HXLINE( 519) _gthis->notifyMessageHandlers(stored,1);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_554_processLiveMessage)
+HXLINE( 554) if (::hx::IsNotNull( stored )) {
+HXLINE( 555) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 555) ::borogove::Chat chat = _gthis1->getChat(stored->chatId());
+HXLINE( 556) if (::hx::IsNotNull( chat )) {
+HXLINE( 557) if (stored->canReplace(chat->lastMessage)) {
+HXLINE( 558) chat->setLastMessage(stored);
+HXLINE( 559) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+ }
+ }
+HXLINE( 562) _gthis->notifyMessageHandlers(stored,1);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 519) ::thenshim::_Promise::Promise_Impl__obj::then(this->moderateMessage(_g->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >()), ::Dynamic(new _hx_Closure_6(_gthis)),null());
-HXLINE( 520) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
-HXLINE( 520) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
+HXLINE( 554) ::thenshim::_Promise::Promise_Impl__obj::then(this->moderateMessage(_g->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >()), ::Dynamic(new _hx_Closure_7(_gthis)),null());
+HXLINE( 564) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
+HXLINE( 564) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
}
}
break;
case (int)4: {
-HXLINE( 512) ::borogove::ReactionUpdate _g4 = _g->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >();
-HXDLIN( 512) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis) HXARGC(1)
+HXLINE( 547) ::borogove::ReactionUpdate _g3 = _g->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >();
+HXDLIN( 547) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_8, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_516_processLiveMessage)
-HXLINE( 516) if (::hx::IsNotNull( stored )) {
-HXLINE( 516) _gthis->notifyMessageHandlers(stored,2);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_551_processLiveMessage)
+HXLINE( 551) if (::hx::IsNotNull( stored )) {
+HXLINE( 551) _gthis->notifyMessageHandlers(stored,2);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 513) {
-HXLINE( 513) int _g5 = 0;
-HXDLIN( 513) ::Array< ::Dynamic> _g6 = _g4->inlineHashReferences();
-HXDLIN( 513) while((_g5 < _g6->length)){
-HXLINE( 513) ::borogove::Hash hash1 = _g6->__get(_g5).StaticCast< ::borogove::Hash >();
-HXDLIN( 513) _g5 = (_g5 + 1);
-HXLINE( 514) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash1),::Array_obj< ::Dynamic>::__new(1)->init(0,from));
+HXLINE( 548) {
+HXLINE( 548) int _g4 = 0;
+HXDLIN( 548) ::Array< ::Dynamic> _g5 = _g3->inlineHashReferences();
+HXDLIN( 548) while((_g4 < _g5->length)){
+HXLINE( 548) ::borogove::Hash hash1 = _g5->__get(_g4).StaticCast< ::borogove::Hash >();
+HXDLIN( 548) _g4 = (_g4 + 1);
+HXLINE( 549) this->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash1),::Array_obj< ::Dynamic>::__new(1)->init(0,from));
}
}
-HXLINE( 516) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN( 516) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp3,this->accountId(),_g4), ::Dynamic(new _hx_Closure_7(_gthis)),null());
-HXLINE( 517) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
-HXLINE( 517) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
+HXLINE( 551) ::Dynamic _hx_tmp9 = this->persistence;
+HXDLIN( 551) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp9,this->accountId(),_g3), ::Dynamic(new _hx_Closure_8(_gthis)),null());
+HXLINE( 552) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
+HXLINE( 552) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
}
}
}
break;
case (int)5: {
-HXLINE( 530) ::String message1 = message->chatId;
-HXDLIN( 530) ::borogove::Chat _hx_tmp4 = this->getChat(message->chatId);
-HXDLIN( 530) this->mucInvite(message1,_hx_tmp4,message->senderId,message->threadId,_g->_hx_getString(0),_g->_hx_getString(1),_g->_hx_getString(2),_g->_hx_getString(3));
+HXLINE( 574) ::String message1 = message->chatId;
+HXDLIN( 574) ::borogove::Chat _hx_tmp10 = this->getChat(message->chatId);
+HXDLIN( 574) this->mucInvite(message1,_hx_tmp10,message->senderId,message->threadId,_g->_hx_getString(0),_g->_hx_getString(1),_g->_hx_getString(2),_g->_hx_getString(3));
+ }
+ break;
+ case (int)6: {
+HXLINE( 583) ::borogove::Chat chat2 = this->getChat(message->chatId);
+HXLINE( 584) ::borogove::Channel channel2;
+HXDLIN( 584) if (::hx::IsNull( chat2 )) {
+HXLINE( 584) channel2 = null();
+ }
+ else {
+HXLINE( 584) channel2 = ( ( ::borogove::Channel)(::borogove::_Util::Util_Fields__obj::downcast(chat2,::hx::ClassOf< ::borogove::Channel >())) );
+ }
+HXLINE( 585) if (::hx::IsNull( channel2 )) {
+HXLINE( 586) ::Dynamic _hx_tmp11 = ::haxe::Log_obj::trace;
+HXDLIN( 586) ::String _hx_tmp12 = (HX_("Ignoring voice request from unknown channel: ",0d,32,86,14) + stanza->toString());
+HXDLIN( 586) _hx_tmp11(_hx_tmp12,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),586,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::borogove::Client,_gthis, ::borogove::Channel,channel2) HXARGC(1)
+ ::borogove::EventResult _hx_run(bool _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_588_processLiveMessage)
+HXLINE( 588) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,channel2));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 588) ::Dynamic _hx_tmp13 = this->persistence;
+HXDLIN( 588) ::String _hx_tmp14 = this->accountId();
+HXDLIN( 588) ::borogove::Channel channel3 = channel2;
+HXDLIN( 588) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeVoiceRequest(_hx_tmp13,_hx_tmp14,channel3,_g->_hx_getObject(0).StaticCast< ::borogove::JID >()->asBare()->asString(),true), ::Dynamic(new _hx_Closure_9(_gthis,channel2)),null());
+ }
}
break;
default:{
-HXLINE( 535) ::Dynamic _hx_tmp5 = ::haxe::Log_obj::trace;
-HXDLIN( 535) ::String _hx_tmp6 = (HX_("Ignoring non-chat message: ",f6,a5,6f,ca) + stanza->toString());
-HXDLIN( 535) _hx_tmp5(_hx_tmp6,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),535,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
-HXLINE( 536) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
-HXLINE( 536) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
+HXLINE( 594) ::Dynamic _hx_tmp15 = ::haxe::Log_obj::trace;
+HXDLIN( 594) ::String _hx_tmp16 = (HX_("Ignoring non-chat message: ",f6,a5,6f,ca) + stanza->toString());
+HXDLIN( 594) _hx_tmp15(_hx_tmp16,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),594,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+HXLINE( 595) if (::hx::IsNotNull( newChat->__get(0).StaticCast< ::borogove::Chat >() )) {
+HXLINE( 595) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,newChat->__get(0).StaticCast< ::borogove::Chat >()));
}
}
}
}
-HXLINE( 539) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 539) return;
+HXLINE( 598) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 598) return;
}
-HXLINE( 542) ::borogove::Stanza jmiP = stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 543) bool _hx_tmp7;
-HXDLIN( 543) if (::hx::IsNotNull( jmiP )) {
-HXLINE( 543) _hx_tmp7 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiP->attr,HX_("id",db,5b,00,00))) ) );
+HXLINE( 601) ::borogove::Stanza jmiP = stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 602) bool _hx_tmp17;
+HXDLIN( 602) if (::hx::IsNotNull( jmiP )) {
+HXLINE( 602) _hx_tmp17 = ::hx::IsNotNull( jmiP->attr->get(HX_("id",db,5b,00,00)) );
}
else {
-HXLINE( 543) _hx_tmp7 = false;
+HXLINE( 602) _hx_tmp17 = false;
}
-HXDLIN( 543) if (_hx_tmp7) {
-HXLINE( 544) ::borogove::calls::IncomingProposedSession session = ::borogove::calls::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,( (::String)(::Reflect_obj::field(jmiP->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 545) ::borogove::DirectChat chat1 = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 546) ::Dynamic this1 = chat1->jingleSessions;
-HXDLIN( 546) if (!(( ( ::haxe::ds::StringMap)(this1) )->exists(session->get_sid()))) {
-HXLINE( 547) {
-HXLINE( 547) ::Dynamic this2 = chat1->jingleSessions;
-HXDLIN( 547) ( ( ::haxe::ds::StringMap)(this2) )->set(session->get_sid(),session);
+HXDLIN( 602) if (_hx_tmp17) {
+HXLINE( 603) ::borogove::calls::IncomingProposedSession session = ::borogove::calls::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,jmiP->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE( 604) ::borogove::DirectChat chat3 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 605) ::Dynamic this1 = chat3->jingleSessions;
+HXDLIN( 605) if (!(( ( ::haxe::ds::StringMap)(this1) )->exists(session->get_sid()))) {
+HXLINE( 606) {
+HXLINE( 606) ::Dynamic this2 = chat3->jingleSessions;
+HXDLIN( 606) ( ( ::haxe::ds::StringMap)(this2) )->set(session->get_sid(),session);
}
-HXLINE( 548) this->chatActivity(chat1,null());
-HXLINE( 549) session->ring();
+HXLINE( 607) this->chatActivity(chat3,null());
+HXLINE( 608) session->ring();
}
}
-HXLINE( 553) ::borogove::Stanza jmiR = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 554) bool _hx_tmp8;
-HXDLIN( 554) if (::hx::IsNotNull( jmiR )) {
-HXLINE( 554) _hx_tmp8 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ) );
+HXLINE( 612) ::borogove::Stanza jmiR = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 613) bool _hx_tmp18;
+HXDLIN( 613) if (::hx::IsNotNull( jmiR )) {
+HXLINE( 613) _hx_tmp18 = ::hx::IsNotNull( jmiR->attr->get(HX_("id",db,5b,00,00)) );
}
else {
-HXLINE( 554) _hx_tmp8 = false;
+HXLINE( 613) _hx_tmp18 = false;
}
-HXDLIN( 554) if (_hx_tmp8) {
-HXLINE( 555) ::borogove::DirectChat chat2 = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 556) ::Dynamic this3 = chat2->jingleSessions;
-HXDLIN( 556) ::Dynamic session1 = ( ( ::haxe::ds::StringMap)(this3) )->get(( (::String)(::Reflect_obj::field(jmiR->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 557) if (::hx::IsNotNull( session1 )) {
-HXLINE( 558) ::borogove::calls::Session_obj::retract(session1);
-HXLINE( 559) {
-HXLINE( 559) ::Dynamic this4 = chat2->jingleSessions;
-HXDLIN( 559) ( ( ::haxe::ds::StringMap)(this4) )->remove(::borogove::calls::Session_obj::get_sid(session1));
+HXDLIN( 613) if (_hx_tmp18) {
+HXLINE( 614) ::borogove::DirectChat chat4 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 615) ::Dynamic this3 = chat4->jingleSessions;
+HXDLIN( 615) ::Dynamic session1 = ( ( ::haxe::ds::StringMap)(this3) )->get(jmiR->attr->get(HX_("id",db,5b,00,00)));
+HXLINE( 616) if (::hx::IsNotNull( session1 )) {
+HXLINE( 617) ::borogove::calls::Session_obj::retract(session1);
+HXLINE( 618) {
+HXLINE( 618) ::Dynamic this4 = chat4->jingleSessions;
+HXDLIN( 618) ( ( ::haxe::ds::StringMap)(this4) )->remove(::borogove::calls::Session_obj::get_sid(session1));
}
}
}
-HXLINE( 564) ::borogove::Stanza jmiProFwd;
-HXDLIN( 564) if (::hx::IsNotNull( fwd )) {
-HXLINE( 564) jmiProFwd = fwd->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 623) ::borogove::Stanza jmiProFwd;
+HXDLIN( 623) if (::hx::IsNotNull( fwd )) {
+HXLINE( 623) jmiProFwd = fwd->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
}
else {
-HXLINE( 564) jmiProFwd = null();
+HXLINE( 623) jmiProFwd = null();
}
-HXLINE( 565) bool _hx_tmp9;
-HXDLIN( 565) if (::hx::IsNotNull( jmiProFwd )) {
-HXLINE( 565) _hx_tmp9 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ) );
+HXLINE( 624) bool _hx_tmp19;
+HXDLIN( 624) if (::hx::IsNotNull( jmiProFwd )) {
+HXLINE( 624) _hx_tmp19 = ::hx::IsNotNull( jmiProFwd->attr->get(HX_("id",db,5b,00,00)) );
}
else {
-HXLINE( 565) _hx_tmp9 = false;
+HXLINE( 624) _hx_tmp19 = false;
}
-HXDLIN( 565) if (_hx_tmp9) {
-HXLINE( 566) ::borogove::DirectChat chat3 = this->getDirectChat(::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(fwd->attr,HX_("to",7b,65,00,00))) ))->asBare()->asString(),null());
-HXLINE( 567) ::Dynamic this5 = chat3->jingleSessions;
-HXDLIN( 567) ::Dynamic session2 = ( ( ::haxe::ds::StringMap)(this5) )->get(( (::String)(::Reflect_obj::field(jmiProFwd->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 568) if (::hx::IsNotNull( session2 )) {
-HXLINE( 569) ::borogove::calls::Session_obj::retract(session2);
-HXLINE( 570) {
-HXLINE( 570) ::Dynamic this6 = chat3->jingleSessions;
-HXDLIN( 570) ( ( ::haxe::ds::StringMap)(this6) )->remove(::borogove::calls::Session_obj::get_sid(session2));
+HXDLIN( 624) if (_hx_tmp19) {
+HXLINE( 625) ::borogove::DirectChat chat5 = this->getDirectChat(::borogove::JID_obj::parse(fwd->attr->get_string(HX_("to",7b,65,00,00)))->asBare()->asString(),null());
+HXLINE( 626) ::Dynamic this5 = chat5->jingleSessions;
+HXDLIN( 626) ::Dynamic session2 = ( ( ::haxe::ds::StringMap)(this5) )->get(jmiProFwd->attr->get(HX_("id",db,5b,00,00)));
+HXLINE( 627) if (::hx::IsNotNull( session2 )) {
+HXLINE( 628) ::borogove::calls::Session_obj::retract(session2);
+HXLINE( 629) {
+HXLINE( 629) ::Dynamic this6 = chat5->jingleSessions;
+HXDLIN( 629) ( ( ::haxe::ds::StringMap)(this6) )->remove(::borogove::calls::Session_obj::get_sid(session2));
}
}
}
-HXLINE( 574) ::borogove::Stanza jmiPro = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 575) bool _hx_tmp10;
-HXDLIN( 575) if (::hx::IsNotNull( jmiPro )) {
-HXLINE( 575) _hx_tmp10 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ) );
+HXLINE( 633) ::borogove::Stanza jmiPro = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 634) bool _hx_tmp20;
+HXDLIN( 634) if (::hx::IsNotNull( jmiPro )) {
+HXLINE( 634) _hx_tmp20 = ::hx::IsNotNull( jmiPro->attr->get(HX_("id",db,5b,00,00)) );
}
else {
-HXLINE( 575) _hx_tmp10 = false;
- }
-HXDLIN( 575) if (_hx_tmp10) {
-HXLINE( 576) ::borogove::DirectChat chat4 = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 577) ::Dynamic this7 = chat4->jingleSessions;
-HXDLIN( 577) ::Dynamic session3 = ( ( ::haxe::ds::StringMap)(this7) )->get(( (::String)(::Reflect_obj::field(jmiPro->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 578) if (::hx::IsNotNull( session3 )) {
-HXLINE( 579) try {
+HXLINE( 634) _hx_tmp20 = false;
+ }
+HXDLIN( 634) if (_hx_tmp20) {
+HXLINE( 635) ::borogove::DirectChat chat6 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 636) ::Dynamic this7 = chat6->jingleSessions;
+HXDLIN( 636) ::Dynamic session3 = ( ( ::haxe::ds::StringMap)(this7) )->get(jmiPro->attr->get(HX_("id",db,5b,00,00)));
+HXLINE( 637) if (::hx::IsNotNull( session3 )) {
+HXLINE( 638) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 580) ::Dynamic this8 = chat4->jingleSessions;
-HXDLIN( 580) ::String key = ::borogove::calls::Session_obj::get_sid(session3);
-HXDLIN( 580) ( ( ::haxe::ds::StringMap)(this8) )->set(key,::borogove::calls::Session_obj::initiate(session3,stanza));
+HXLINE( 639) ::Dynamic this8 = chat6->jingleSessions;
+HXDLIN( 639) ::String key = ::borogove::calls::Session_obj::get_sid(session3);
+HXDLIN( 639) ( ( ::haxe::ds::StringMap)(this8) )->set(key,::borogove::calls::Session_obj::initiate(session3,stanza));
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
- ::Dynamic _g7 = _hx_e;
-HXLINE( 581) ::haxe::Exception _g8 = ::haxe::Exception_obj::caught(_g7);
-HXLINE( 582) ::haxe::Log_obj::trace(HX_("JMI proceed failed",29,32,fb,3c), ::Dynamic(::hx::Anon_obj::Create(5)
+ ::Dynamic _g6 = _hx_e;
+HXLINE( 640) ::haxe::Exception _g7 = ::haxe::Exception_obj::caught(_g6);
+HXLINE( 641) ::haxe::Log_obj::trace(HX_("JMI proceed failed",29,32,fb,3c), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_g8))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_g7))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("processLiveMessage",0c,f2,77,58))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),582)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),641)));
}
else {
HX_STACK_DO_THROW(_hx_e);
@@ -1791,446 +2013,529 @@ HXLINE( 582) ::haxe::Log_obj::trace(HX_("JMI proceed failed",29,32,fb,3c),
}
}
}
-HXLINE( 587) ::borogove::Stanza jmiRej = stanza->getChild(HX_("reject",5f,51,85,02),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 588) bool _hx_tmp11;
-HXDLIN( 588) if (::hx::IsNotNull( jmiRej )) {
-HXLINE( 588) _hx_tmp11 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ) );
+HXLINE( 646) ::borogove::Stanza jmiRej = stanza->getChild(HX_("reject",5f,51,85,02),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 647) bool _hx_tmp21;
+HXDLIN( 647) if (::hx::IsNotNull( jmiRej )) {
+HXLINE( 647) _hx_tmp21 = ::hx::IsNotNull( jmiRej->attr->get(HX_("id",db,5b,00,00)) );
}
else {
-HXLINE( 588) _hx_tmp11 = false;
+HXLINE( 647) _hx_tmp21 = false;
}
-HXDLIN( 588) if (_hx_tmp11) {
-HXLINE( 589) ::borogove::DirectChat chat5 = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE( 590) ::Dynamic this9 = chat5->jingleSessions;
-HXDLIN( 590) ::Dynamic session4 = ( ( ::haxe::ds::StringMap)(this9) )->get(( (::String)(::Reflect_obj::field(jmiRej->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 591) if (::hx::IsNotNull( session4 )) {
-HXLINE( 592) ::borogove::calls::Session_obj::retract(session4);
-HXLINE( 593) {
-HXLINE( 593) ::Dynamic this10 = chat5->jingleSessions;
-HXDLIN( 593) ( ( ::haxe::ds::StringMap)(this10) )->remove(::borogove::calls::Session_obj::get_sid(session4));
+HXDLIN( 647) if (_hx_tmp21) {
+HXLINE( 648) ::borogove::DirectChat chat7 = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE( 649) ::Dynamic this9 = chat7->jingleSessions;
+HXDLIN( 649) ::Dynamic session4 = ( ( ::haxe::ds::StringMap)(this9) )->get(jmiRej->attr->get(HX_("id",db,5b,00,00)));
+HXLINE( 650) if (::hx::IsNotNull( session4 )) {
+HXLINE( 651) ::borogove::calls::Session_obj::retract(session4);
+HXLINE( 652) {
+HXLINE( 652) ::Dynamic this10 = chat7->jingleSessions;
+HXDLIN( 652) ( ( ::haxe::ds::StringMap)(this10) )->remove(::borogove::calls::Session_obj::get_sid(session4));
}
}
}
-HXLINE( 598) ::borogove::Chat chat6 = this->getChat(from->asBare()->asString());
-HXLINE( 599) ::borogove::Stanza chatState = stanza->getChild(null(),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d));
-HXLINE( 600) ::Dynamic userState;
-HXDLIN( 600) ::String _g9;
-HXDLIN( 600) if (::hx::IsNotNull( chatState )) {
-HXLINE( 600) _g9 = chatState->name;
+HXLINE( 657) ::borogove::Chat chat8 = this->getChat(from->asBare()->asString());
+HXLINE( 658) ::borogove::Stanza chatState = stanza->getChild(null(),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d));
+HXLINE( 659) ::Dynamic userState;
+HXDLIN( 659) ::String _g8;
+HXDLIN( 659) if (::hx::IsNotNull( chatState )) {
+HXLINE( 659) _g8 = chatState->name;
}
else {
-HXLINE( 600) _g9 = null();
+HXLINE( 659) _g8 = null();
}
-HXDLIN( 600) if (::hx::IsNull( _g9 )) {
-HXLINE( 600) userState = null();
+HXDLIN( 659) if (::hx::IsNull( _g8 )) {
+HXLINE( 659) userState = null();
}
else {
-HXLINE( 600) ::String _hx_switch_0 = _g9;
+HXLINE( 659) ::String _hx_switch_0 = _g8;
if ( (_hx_switch_0==HX_("active",c6,41,46,16)) ){
-HXLINE( 600) userState = 2;
-HXDLIN( 600) goto _hx_goto_36;
+HXLINE( 659) userState = 2;
+HXDLIN( 659) goto _hx_goto_39;
}
if ( (_hx_switch_0==HX_("composing",cf,0a,a5,12)) ){
-HXLINE( 600) userState = 3;
-HXDLIN( 600) goto _hx_goto_36;
+HXLINE( 659) userState = 3;
+HXDLIN( 659) goto _hx_goto_39;
}
if ( (_hx_switch_0==HX_("gone",5f,94,69,44)) ){
-HXLINE( 600) userState = 0;
-HXDLIN( 600) goto _hx_goto_36;
+HXLINE( 659) userState = 0;
+HXDLIN( 659) goto _hx_goto_39;
}
if ( (_hx_switch_0==HX_("inactive",6b,17,30,6a)) ){
-HXLINE( 600) userState = 1;
-HXDLIN( 600) goto _hx_goto_36;
+HXLINE( 659) userState = 1;
+HXDLIN( 659) goto _hx_goto_39;
}
if ( (_hx_switch_0==HX_("paused",ae,40,84,ef)) ){
-HXLINE( 600) userState = 4;
-HXDLIN( 600) goto _hx_goto_36;
+HXLINE( 659) userState = 4;
+HXDLIN( 659) goto _hx_goto_39;
}
/* default */{
-HXLINE( 600) userState = null();
+HXLINE( 659) userState = null();
}
- _hx_goto_36:;
+ _hx_goto_39:;
}
-HXLINE( 608) if (::hx::IsNotNull( userState )) {
-HXLINE( 609) if (::hx::IsNull( chat6 )) {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_8, ::Dynamic,userState, ::borogove::Message,message, ::borogove::Client,_gthis) HXARGC(1)
- void _hx_run(::Array< ::Dynamic> members){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_610_processLiveMessage)
-HXLINE( 611) bool _hx_tmp;
-HXDLIN( 611) if ((members->length > 0)) {
-HXLINE( 611) _hx_tmp = members->__get(0).StaticCast< ::borogove::Member >()->isSelf;
- }
- else {
-HXLINE( 611) _hx_tmp = false;
- }
-HXDLIN( 611) if (_hx_tmp) {
-HXLINE( 611) return;
- }
-HXLINE( 613) _gthis->trigger(HX_("chat-state/update",5c,7b,51,96), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("message",c7,35,11,9a),message)
- ->setFixed(1,HX_("userState",c6,23,de,2d),userState)));
+HXLINE( 667) bool _hx_tmp22;
+HXDLIN( 667) if (::hx::IsNotNull( userState )) {
+HXLINE( 667) _hx_tmp22 = ::hx::IsNotNull( chat8 );
+ }
+ else {
+HXLINE( 667) _hx_tmp22 = false;
+ }
+HXDLIN( 667) if (_hx_tmp22) {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_10, ::Dynamic,userState, ::borogove::Message,message, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> members){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_668_processLiveMessage)
+HXLINE( 669) bool _hx_tmp;
+HXDLIN( 669) if ((members->length >= 1)) {
+HXLINE( 669) _hx_tmp = ::hx::IsNull( members->__get(0).StaticCast< ::borogove::Member >() );
}
- HX_END_LOCAL_FUNC1((void))
-
-HXLINE( 610) ::thenshim::_Promise::Promise_Impl__obj::then(chat6->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,message->senderId)), ::Dynamic(new _hx_Closure_8(userState,message,_gthis)),null());
+ else {
+HXLINE( 669) _hx_tmp = true;
+ }
+HXDLIN( 669) if (_hx_tmp) {
+HXLINE( 669) return;
+ }
+HXLINE( 670) if (members->__get(0).StaticCast< ::borogove::Member >()->isSelf) {
+HXLINE( 670) return;
+ }
+HXLINE( 672) _gthis->trigger(HX_("chat-state/update",5c,7b,51,96), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("message",c7,35,11,9a),message)
+ ->setFixed(1,HX_("member",5a,e2,b5,04),members->__get(0).StaticCast< ::borogove::Member >())
+ ->setFixed(2,HX_("userState",c6,23,de,2d),userState)));
}
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 668) ::thenshim::_Promise::Promise_Impl__obj::then(chat8->getMemberDetails(::Array_obj< ::String >::__new(1)->init(0,message->senderId)), ::Dynamic(new _hx_Closure_10(userState,message,_gthis)),null());
}
-HXLINE( 618) ::String memberUpdates = this->accountId();
-HXDLIN( 618) ::Array< ::Dynamic> memberUpdates1 = ::borogove::MemberUpdate_obj::extractUpdates(memberUpdates,chat6,stanza);
-HXLINE( 619) if ((memberUpdates1->length > 0)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_9, ::borogove::Chat,chat6) HXARGC(1)
+HXLINE( 676) ::String memberUpdates = this->accountId();
+HXDLIN( 676) ::Array< ::Dynamic> memberUpdates1 = ::borogove::MemberUpdate_obj::extractUpdates(memberUpdates,chat8,stanza);
+HXLINE( 677) if ((memberUpdates1->length > 0)) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_11, ::borogove::Chat,chat8) HXARGC(1)
void _hx_run(::Array< ::Dynamic> members){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_638_processLiveMessage)
-HXLINE( 638) if ((members->length > 0)) {
-HXLINE( 638) chat6->trigger(HX_("members/update",bf,63,66,64),members);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_695_processLiveMessage)
+HXLINE( 695) if ((members->length > 0)) {
+HXLINE( 695) chat8->trigger(HX_("members/update",bf,63,66,64),members);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 620) ::haxe::Log_obj::trace(HX_("YYZZXX memberUpdates",90,f4,a1,1b), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,chat6->chatId)->init(1,memberUpdates1->length))
- ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("processLiveMessage",0c,f2,77,58))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),620)));
-HXLINE( 621) ::borogove::Channel channel1 = ( ( ::borogove::Channel)(::borogove::_Util::Util_Fields__obj::downcast(chat6,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 622) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE( 623) bool isFullList = false;
-HXLINE( 624) bool _hx_tmp12;
-HXDLIN( 624) if (::hx::IsNotNull( channel1 )) {
-HXLINE( 624) _hx_tmp12 = ::hx::IsNotNull( mucUser );
+HXLINE( 678) ::borogove::Channel channel4 = ( ( ::borogove::Channel)(::borogove::_Util::Util_Fields__obj::downcast(chat8,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 679) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE( 680) bool isFullList = false;
+HXLINE( 681) bool _hx_tmp23;
+HXDLIN( 681) if (::hx::IsNotNull( channel4 )) {
+HXLINE( 681) _hx_tmp23 = ::hx::IsNotNull( mucUser );
}
else {
-HXLINE( 624) _hx_tmp12 = false;
+HXLINE( 681) _hx_tmp23 = false;
}
-HXDLIN( 624) if (_hx_tmp12) {
-HXLINE( 625) ::borogove::Stanza mav = mucUser->getChild(HX_("mav",a2,0a,53,00),HX_("urn:xmpp:muc:affiliations:1",75,28,1f,fe));
-HXLINE( 626) bool _hx_tmp13;
-HXDLIN( 626) if (::hx::IsNotNull( mav )) {
-HXLINE( 626) _hx_tmp13 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(mav->attr,HX_("since",ba,eb,cf,7c))) ) );
+HXDLIN( 681) if (_hx_tmp23) {
+HXLINE( 682) ::borogove::Stanza mav = mucUser->getChild(HX_("mav",a2,0a,53,00),HX_("urn:xmpp:muc:affiliations:1",75,28,1f,fe));
+HXLINE( 683) bool _hx_tmp24;
+HXDLIN( 683) if (::hx::IsNotNull( mav )) {
+HXLINE( 683) _hx_tmp24 = ::hx::IsNull( mav->attr->get(HX_("since",ba,eb,cf,7c)) );
}
else {
-HXLINE( 626) _hx_tmp13 = false;
+HXLINE( 683) _hx_tmp24 = false;
}
-HXDLIN( 626) if (_hx_tmp13) {
-HXLINE( 627) isFullList = true;
+HXDLIN( 683) if (_hx_tmp24) {
+HXLINE( 684) isFullList = true;
}
else {
-HXLINE( 628) bool _hx_tmp14;
-HXDLIN( 628) if (::hx::IsNotNull( mav )) {
-HXLINE( 628) ::String _hx_tmp15 = ( (::String)(::Reflect_obj::field(mav->attr,HX_("since",ba,eb,cf,7c))) );
-HXDLIN( 628) _hx_tmp14 = (_hx_tmp15 != channel1->mavUntil);
+HXLINE( 685) bool _hx_tmp25;
+HXDLIN( 685) if (::hx::IsNotNull( mav )) {
+HXLINE( 685) ::String _hx_tmp26 = mav->attr->get_string(HX_("since",ba,eb,cf,7c));
+HXDLIN( 685) _hx_tmp25 = (_hx_tmp26 != channel4->mavUntil);
}
else {
-HXLINE( 628) _hx_tmp14 = false;
+HXLINE( 685) _hx_tmp25 = false;
}
-HXDLIN( 628) if (_hx_tmp14) {
-HXLINE( 629) ::haxe::Log_obj::trace(HX_("MAV update with unknown previous version",e6,80,1b,7e), ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN( 685) if (_hx_tmp25) {
+HXLINE( 686) ::haxe::Log_obj::trace(HX_("MAV update with unknown previous version",e6,80,1b,7e), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,channel1->mavUntil)->init(1,stanza))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,channel4->mavUntil)->init(1,stanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("processLiveMessage",0c,f2,77,58))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),629)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),686)));
}
}
-HXLINE( 631) ::String channel2 = channel1->mavUntil;
-HXDLIN( 631) ::Dynamic tmp1;
-HXDLIN( 631) if (::hx::IsNotNull( mav )) {
-HXLINE( 631) tmp1 = mav->attr;
+HXLINE( 688) ::String channel5 = channel4->mavUntil;
+HXDLIN( 688) ::haxe::ds::StringMap tmp;
+HXDLIN( 688) if (::hx::IsNotNull( mav )) {
+HXLINE( 688) tmp = mav->attr;
}
else {
-HXLINE( 631) tmp1 = null();
+HXLINE( 688) tmp = null();
}
-HXDLIN( 631) ::String _hx_tmp16;
-HXDLIN( 631) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 631) _hx_tmp16 = ( (::String)(::Reflect_obj::field(tmp1,HX_("until",9e,b8,ef,a6))) );
+HXDLIN( 688) ::String _hx_tmp27;
+HXDLIN( 688) if (::hx::IsNotNull( tmp )) {
+HXLINE( 688) _hx_tmp27 = tmp->get_string(HX_("until",9e,b8,ef,a6));
}
else {
-HXLINE( 631) _hx_tmp16 = null();
+HXLINE( 688) _hx_tmp27 = null();
}
-HXDLIN( 631) if ((channel2 != _hx_tmp16)) {
-HXLINE( 632) ::Dynamic tmp2;
-HXDLIN( 632) if (::hx::IsNotNull( mav )) {
-HXLINE( 632) tmp2 = mav->attr;
+HXDLIN( 688) if ((channel5 != _hx_tmp27)) {
+HXLINE( 689) ::haxe::ds::StringMap tmp1;
+HXDLIN( 689) if (::hx::IsNotNull( mav )) {
+HXLINE( 689) tmp1 = mav->attr;
}
else {
-HXLINE( 632) tmp2 = null();
+HXLINE( 689) tmp1 = null();
}
-HXDLIN( 632) ::String _hx_tmp17;
-HXDLIN( 632) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 632) _hx_tmp17 = ( (::String)(::Reflect_obj::field(tmp2,HX_("until",9e,b8,ef,a6))) );
+HXDLIN( 689) ::String _hx_tmp28;
+HXDLIN( 689) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 689) _hx_tmp28 = tmp1->get_string(HX_("until",9e,b8,ef,a6));
}
else {
-HXLINE( 632) _hx_tmp17 = null();
+HXLINE( 689) _hx_tmp28 = null();
}
-HXDLIN( 632) channel1->mavUntil = _hx_tmp17;
-HXLINE( 633) ::Dynamic _hx_tmp18 = this->persistence;
-HXDLIN( 633) ::borogove::Persistence_obj::storeChats(_hx_tmp18,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,channel1));
+HXDLIN( 689) channel4->mavUntil = _hx_tmp28;
+HXLINE( 690) ::Dynamic _hx_tmp29 = this->persistence;
+HXDLIN( 690) ::borogove::Persistence_obj::storeChats(_hx_tmp29,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,channel4));
}
}
-HXLINE( 637) ::Dynamic _hx_tmp19 = this->persistence;
-HXDLIN( 637) ::String _hx_tmp20 = this->accountId();
-HXDLIN( 637) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMemberUpdates(_hx_tmp19,_hx_tmp20,chat6,memberUpdates1,isFullList), ::Dynamic(new _hx_Closure_9(chat6)),null());
+HXLINE( 694) ::Dynamic _hx_tmp30 = this->persistence;
+HXDLIN( 694) ::String _hx_tmp31 = this->accountId();
+HXDLIN( 694) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMemberUpdates(_hx_tmp30,_hx_tmp31,chat8,memberUpdates1,isFullList), ::Dynamic(new _hx_Closure_11(chat8)),null());
}
-HXLINE( 642) this->checkForReceipts(stanza);
-HXLINE( 644) ::borogove::PubsubEvent pubsubEvent = ::borogove::PubsubEvent_obj::fromStanza(stanza);
-HXLINE( 645) bool _hx_tmp21;
-HXDLIN( 645) bool _hx_tmp22;
-HXDLIN( 645) bool _hx_tmp23;
-HXDLIN( 645) if (::hx::IsNotNull( pubsubEvent )) {
-HXLINE( 645) _hx_tmp23 = ::hx::IsNotNull( pubsubEvent->getFrom() );
+HXLINE( 699) this->checkForReceipts(stanza);
+HXLINE( 701) ::borogove::PubsubEvent pubsubEvent = ::borogove::PubsubEvent_obj::fromStanza(stanza);
+HXLINE( 702) bool _hx_tmp32;
+HXDLIN( 702) bool _hx_tmp33;
+HXDLIN( 702) bool _hx_tmp34;
+HXDLIN( 702) if (::hx::IsNotNull( pubsubEvent )) {
+HXLINE( 702) _hx_tmp34 = ::hx::IsNotNull( pubsubEvent->getFrom() );
}
else {
-HXLINE( 645) _hx_tmp23 = false;
+HXLINE( 702) _hx_tmp34 = false;
}
-HXDLIN( 645) if (_hx_tmp23) {
-HXLINE( 645) _hx_tmp22 = (pubsubEvent->getNode() == HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
+HXDLIN( 702) if (_hx_tmp34) {
+HXLINE( 702) _hx_tmp33 = (pubsubEvent->getNode() == HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
}
else {
-HXLINE( 645) _hx_tmp22 = false;
+HXLINE( 702) _hx_tmp33 = false;
}
-HXDLIN( 645) if (_hx_tmp22) {
-HXLINE( 645) _hx_tmp21 = (pubsubEvent->getItems()->length > 0);
+HXDLIN( 702) if (_hx_tmp33) {
+HXLINE( 702) _hx_tmp32 = (pubsubEvent->getItems()->length > 0);
}
else {
-HXLINE( 645) _hx_tmp21 = false;
- }
-HXDLIN( 645) if (_hx_tmp21) {
-HXLINE( 646) ::borogove::Stanza item = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 647) ::String avatarSha1Hex = ( (::String)(::Reflect_obj::field(pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 648) ::borogove::Hash tmp3 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
-HXDLIN( 648) ::Array< unsigned char > avatarSha1;
-HXDLIN( 648) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 648) avatarSha1 = tmp3->hash;
- }
- else {
-HXLINE( 648) avatarSha1 = null();
- }
-HXLINE( 649) ::borogove::Stanza metadata = item->getChild(HX_("metadata",6f,e7,19,40),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
-HXLINE( 650) ::Array< ::String > mime = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_49,1);
-HXLINE( 651) if (::hx::IsNotNull( metadata )) {
-HXLINE( 652) ::borogove::Stanza info = metadata->getChild(HX_("info",6e,38,bb,45),null());
-HXLINE( 653) bool _hx_tmp24;
-HXDLIN( 653) if (::hx::IsNotNull( info )) {
-HXLINE( 653) _hx_tmp24 = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) ) );
+HXLINE( 702) _hx_tmp32 = false;
+ }
+HXDLIN( 702) if (_hx_tmp32) {
+HXLINE( 703) ::borogove::Stanza item = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 704) ::String avatarSha1Hex = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 705) ::borogove::Hash avatarSha1 = ::borogove::Hash_obj::fromHex(HX_("sha-1",90,a8,1c,7c),avatarSha1Hex);
+HXLINE( 706) ::borogove::Stanza metadata = item->getChild(HX_("metadata",6f,e7,19,40),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee));
+HXLINE( 707) ::Array< ::String > mime = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_55,1);
+HXLINE( 708) if (::hx::IsNotNull( metadata )) {
+HXLINE( 709) ::borogove::Stanza info = metadata->getChild(HX_("info",6e,38,bb,45),null());
+HXLINE( 710) bool _hx_tmp35;
+HXDLIN( 710) if (::hx::IsNotNull( info )) {
+HXLINE( 710) _hx_tmp35 = ::hx::IsNotNull( info->attr->get(HX_("type",ba,f2,08,4d)) );
}
else {
-HXLINE( 653) _hx_tmp24 = false;
+HXLINE( 710) _hx_tmp35 = false;
}
-HXDLIN( 653) if (_hx_tmp24) {
-HXLINE( 654) mime[0] = ( (::String)(::Reflect_obj::field(info->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 710) if (_hx_tmp35) {
+HXLINE( 711) mime[0] = info->attr->get_string(HX_("type",ba,f2,08,4d));
}
}
-HXLINE( 657) if (::hx::IsNotNull( avatarSha1 )) {
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_12, ::borogove::Client,_gthis,::Array< ::String >,mime,::String,avatarSha1Hex, ::borogove::PubsubEvent,pubsubEvent, ::borogove::DirectChat,chat7) HXARGC(1)
- void _hx_run(bool has){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_662_processLiveMessage)
-HXLINE( 662) if (has) {
-HXLINE( 663) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat7));
+HXLINE( 714) if (::hx::IsNotNull( avatarSha1 )) {
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_14, ::borogove::Client,_gthis,::Array< ::String >,mime,::String,avatarSha1Hex, ::borogove::PubsubEvent,pubsubEvent, ::borogove::DirectChat,chat9) HXARGC(1)
+ void _hx_run(::String has){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_719_processLiveMessage)
+HXLINE( 719) if (::hx::IsNotNull( has )) {
+HXLINE( 720) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat9));
}
else {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_11, ::borogove::Client,_gthis,::Array< ::String >,mime, ::borogove::DirectChat,chat7, ::borogove::queries::PubsubGet,pubsubGet1) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_13, ::borogove::Client,_gthis,::Array< ::String >,mime, ::borogove::queries::PubsubGet,pubsubGet1, ::borogove::DirectChat,chat9) HXARGC(0)
void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_10, ::borogove::Client,_gthis, ::borogove::DirectChat,chat7) HXARGC(1)
- ::borogove::EventResult _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_671_processLiveMessage)
-HXLINE( 671) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat7));
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_12, ::borogove::Client,_gthis, ::borogove::DirectChat,chat9) HXARGC(1)
+ ::borogove::EventResult _hx_run(::String _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_728_processLiveMessage)
+HXLINE( 728) return _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat9));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_666_processLiveMessage)
-HXLINE( 667) ::borogove::Stanza item = pubsubGet1->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 668) if (::hx::IsNull( item )) {
-HXLINE( 668) return;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_723_processLiveMessage)
+HXLINE( 724) ::borogove::Stanza item = pubsubGet1->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 725) if (::hx::IsNull( item )) {
+HXLINE( 725) return;
}
-HXLINE( 669) ::borogove::Stanza dataNode = item->getChild(HX_("data",2a,56,63,42),HX_("urn:xmpp:avatar:data",0f,7e,01,4e));
-HXLINE( 670) if (::hx::IsNull( dataNode )) {
-HXLINE( 670) return;
+HXLINE( 726) ::borogove::Stanza dataNode = item->getChild(HX_("data",2a,56,63,42),HX_("urn:xmpp:avatar:data",0f,7e,01,4e));
+HXLINE( 727) if (::hx::IsNull( dataNode )) {
+HXLINE( 727) return;
}
-HXLINE( 671) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 671) ::String mime1 = mime->__get(0);
-HXDLIN( 671) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis1,mime1,::haxe::crypto::Base64_obj::decode(::StringTools_obj::replace(dataNode->getText(),HX_("\n",0a,00,00,00),HX_("",00,00,00,00)),null())->b), ::Dynamic(new _hx_Closure_10(_gthis,chat7)),null());
+HXLINE( 728) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 728) ::String mime1 = mime->__get(0);
+HXDLIN( 728) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis1,mime1,::borogove::_Source::Source_Impl__obj::ofTinkSource( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(::haxe::crypto::Base64_obj::decode(::StringTools_obj::replace(dataNode->getText(),HX_("\n",0a,00,00,00),HX_("",00,00,00,00)),null())))))), ::Dynamic(new _hx_Closure_12(_gthis,chat9)),null());
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 665) ::String pubsubGet = pubsubEvent->getFrom();
-HXDLIN( 665) ::borogove::queries::PubsubGet pubsubGet1 = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,pubsubGet,HX_("urn:xmpp:avatar:data",0f,7e,01,4e),avatarSha1Hex);
-HXLINE( 666) pubsubGet1->onFinished( ::Dynamic(new _hx_Closure_11(_gthis,mime,chat7,pubsubGet1)));
-HXLINE( 675) _gthis->sendQueryLazy(pubsubGet1);
+HXLINE( 722) ::String pubsubGet = pubsubEvent->getFrom();
+HXDLIN( 722) ::borogove::queries::PubsubGet pubsubGet1 = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,pubsubGet,HX_("urn:xmpp:avatar:data",0f,7e,01,4e),avatarSha1Hex);
+HXLINE( 723) pubsubGet1->onFinished( ::Dynamic(new _hx_Closure_13(_gthis,mime,pubsubGet1,chat9)));
+HXLINE( 732) _gthis->sendQueryLazy(pubsubGet1);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 658) ::borogove::DirectChat chat7 = this->getDirectChat(::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString(),false);
-HXLINE( 659) chat7->setAvatarSha1(avatarSha1);
-HXLINE( 660) ::Dynamic _hx_tmp25 = this->persistence;
-HXDLIN( 660) ::String _hx_tmp26 = this->accountId();
-HXDLIN( 660) ::borogove::Persistence_obj::storeChats(_hx_tmp25,_hx_tmp26,::Array_obj< ::Dynamic>::__new(1)->init(0,chat7));
-HXLINE( 661) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(this->persistence,HX_("sha-1",90,a8,1c,7c),avatarSha1), ::Dynamic(new _hx_Closure_12(_gthis,mime,avatarSha1Hex,pubsubEvent,chat7)),null());
+HXLINE( 715) ::borogove::DirectChat chat9 = this->getDirectChat(::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare()->asString(),false);
+HXLINE( 716) chat9->setAvatarSha1(avatarSha1->hash);
+HXLINE( 717) ::Dynamic _hx_tmp36 = this->persistence;
+HXDLIN( 717) ::String _hx_tmp37 = this->accountId();
+HXDLIN( 717) ::borogove::Persistence_obj::storeChats(_hx_tmp36,_hx_tmp37,::Array_obj< ::Dynamic>::__new(1)->init(0,chat9));
+HXLINE( 718) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(this->persistence,avatarSha1), ::Dynamic(new _hx_Closure_14(_gthis,mime,avatarSha1Hex,pubsubEvent,chat9)),null());
}
}
-HXLINE( 681) ::Dynamic _hx_tmp27 = ::haxe::Log_obj::trace;
-HXDLIN( 681) ::String _hx_tmp28 = (HX_("pubsubEvent ",09,6a,9f,e2) + ::Std_obj::string(::hx::IsNotNull( pubsubEvent )));
-HXDLIN( 681) _hx_tmp27(_hx_tmp28,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),681,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
-HXLINE( 682) bool _hx_tmp29;
-HXDLIN( 682) if (::hx::IsNotNull( pubsubEvent )) {
-HXLINE( 682) _hx_tmp29 = ::hx::IsNotNull( pubsubEvent->getFrom() );
+HXLINE( 738) ::Dynamic _hx_tmp38 = ::haxe::Log_obj::trace;
+HXDLIN( 738) ::String _hx_tmp39 = (HX_("pubsubEvent ",09,6a,9f,e2) + ::Std_obj::string(::hx::IsNotNull( pubsubEvent )));
+HXDLIN( 738) _hx_tmp38(_hx_tmp39,::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),738,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+HXLINE( 739) bool _hx_tmp40;
+HXDLIN( 739) if (::hx::IsNotNull( pubsubEvent )) {
+HXLINE( 739) _hx_tmp40 = ::hx::IsNotNull( pubsubEvent->getFrom() );
}
else {
-HXLINE( 682) _hx_tmp29 = false;
- }
-HXDLIN( 682) if (_hx_tmp29) {
-HXLINE( 683) ::borogove::JID fromBare = ::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare();
-HXLINE( 684) ::String isOwnAccount = fromBare->asString();
-HXDLIN( 684) bool isOwnAccount1 = (isOwnAccount == this->accountId());
-HXLINE( 685) ::String pubsubNode = pubsubEvent->getNode();
-HXLINE( 686) ::borogove::Chat chat8 = this->getChat(fromBare->asString());
-HXLINE( 688) bool _hx_tmp30;
-HXDLIN( 688) bool _hx_tmp31;
-HXDLIN( 688) if (isOwnAccount1) {
-HXLINE( 688) _hx_tmp31 = (pubsubNode == HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
+HXLINE( 739) _hx_tmp40 = false;
+ }
+HXDLIN( 739) if (_hx_tmp40) {
+HXLINE( 740) ::borogove::JID fromBare = ::borogove::JID_obj::parse(pubsubEvent->getFrom())->asBare();
+HXLINE( 741) ::String isOwnAccount = fromBare->asString();
+HXDLIN( 741) bool isOwnAccount1 = (isOwnAccount == this->accountId());
+HXLINE( 742) ::String pubsubNode = pubsubEvent->getNode();
+HXLINE( 743) ::borogove::Chat chat10 = this->getChat(fromBare->asString());
+HXLINE( 745) bool _hx_tmp41;
+HXDLIN( 745) bool _hx_tmp42;
+HXDLIN( 745) if (isOwnAccount1) {
+HXLINE( 745) _hx_tmp42 = (pubsubNode == HX_("http://jabber.org/protocol/nick",17,30,dc,e9));
}
else {
-HXLINE( 688) _hx_tmp31 = false;
+HXLINE( 745) _hx_tmp42 = false;
}
-HXDLIN( 688) if (_hx_tmp31) {
-HXLINE( 688) _hx_tmp30 = (pubsubEvent->getItems()->length > 0);
+HXDLIN( 745) if (_hx_tmp42) {
+HXLINE( 745) _hx_tmp41 = (pubsubEvent->getItems()->length > 0);
}
else {
-HXLINE( 688) _hx_tmp30 = false;
+HXLINE( 745) _hx_tmp41 = false;
}
-HXDLIN( 688) if (_hx_tmp30) {
-HXLINE( 689) this->updateDisplayName(pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9)));
+HXDLIN( 745) if (_hx_tmp41) {
+HXLINE( 746) this->updateDisplayName(pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->getChildText(HX_("nick",a3,7b,05,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9)));
}
-HXLINE( 692) bool _hx_tmp32;
-HXDLIN( 692) bool _hx_tmp33;
-HXDLIN( 692) if (::hx::IsNotNull( chat8 )) {
-HXLINE( 692) _hx_tmp33 = (pubsubNode == HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
+HXLINE( 749) bool _hx_tmp43;
+HXDLIN( 749) bool _hx_tmp44;
+HXDLIN( 749) if (::hx::IsNotNull( chat10 )) {
+HXLINE( 749) _hx_tmp44 = (pubsubNode == HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
}
else {
-HXLINE( 692) _hx_tmp33 = false;
+HXLINE( 749) _hx_tmp44 = false;
}
-HXDLIN( 692) if (_hx_tmp33) {
-HXLINE( 692) _hx_tmp32 = (pubsubEvent->getItems()->length > 0);
+HXDLIN( 749) if (_hx_tmp44) {
+HXLINE( 749) _hx_tmp43 = (pubsubEvent->getItems()->length > 0);
}
else {
-HXLINE( 692) _hx_tmp32 = false;
+HXLINE( 749) _hx_tmp43 = false;
}
-HXDLIN( 692) if (_hx_tmp32) {
-HXLINE( 693) ::borogove::Stanza activity = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("activity",cf,2d,b2,e5),HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
-HXLINE( 694) if (::hx::IsNotNull( activity )) {
-HXLINE( 695) ::String _hx_tmp34;
-HXDLIN( 695) ::borogove::Stanza tmp4 = activity->getChild(HX_("undefined",90,3e,0a,9d),null());
-HXDLIN( 695) ::String tmp5;
-HXDLIN( 695) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 695) tmp5 = tmp4->getChildText(HX_("emoji",86,6f,d9,6f),HX_("https://ns.borogove.dev/",0d,36,29,bd));
+HXDLIN( 749) if (_hx_tmp43) {
+HXLINE( 750) ::borogove::Stanza activity = pubsubEvent->getItems()->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("activity",cf,2d,b2,e5),HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
+HXLINE( 751) if (::hx::IsNotNull( activity )) {
+HXLINE( 752) ::String _hx_tmp45;
+HXDLIN( 752) ::borogove::Stanza tmp2 = activity->getChild(HX_("undefined",90,3e,0a,9d),null());
+HXDLIN( 752) ::String tmp3;
+HXDLIN( 752) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 752) tmp3 = tmp2->getChildText(HX_("emoji",86,6f,d9,6f),HX_("https://ns.borogove.dev/",0d,36,29,bd));
}
else {
-HXLINE( 695) tmp5 = null();
+HXLINE( 752) tmp3 = null();
}
-HXDLIN( 695) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 695) _hx_tmp34 = tmp5;
+HXDLIN( 752) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 752) _hx_tmp45 = tmp3;
}
else {
-HXLINE( 695) _hx_tmp34 = HX_("",00,00,00,00);
+HXLINE( 752) _hx_tmp45 = HX_("",00,00,00,00);
}
-HXDLIN( 695) ::String tmp6 = activity->getChildText(HX_("text",ad,cc,f9,4c),null());
-HXDLIN( 695) ::String _hx_tmp35;
-HXDLIN( 695) if (::hx::IsNotNull( tmp6 )) {
-HXLINE( 695) _hx_tmp35 = tmp6;
+HXDLIN( 752) ::String tmp4 = activity->getChildText(HX_("text",ad,cc,f9,4c),null());
+HXDLIN( 752) ::String _hx_tmp46;
+HXDLIN( 752) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 752) _hx_tmp46 = tmp4;
}
else {
-HXLINE( 695) _hx_tmp35 = HX_("",00,00,00,00);
+HXLINE( 752) _hx_tmp46 = HX_("",00,00,00,00);
}
-HXDLIN( 695) chat8->status = ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp34,_hx_tmp35);
-HXLINE( 696) ::Dynamic _hx_tmp36 = this->persistence;
-HXDLIN( 696) ::borogove::Persistence_obj::storeChats(_hx_tmp36,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat8));
-HXLINE( 697) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat8));
-HXLINE( 698) if (isOwnAccount1) {
-HXLINE( 698) this->sendPresence(null(),null());
+HXDLIN( 752) chat10->status = ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp45,_hx_tmp46);
+HXLINE( 753) ::Dynamic _hx_tmp47 = this->persistence;
+HXDLIN( 753) ::borogove::Persistence_obj::storeChats(_hx_tmp47,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat10));
+HXLINE( 754) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat10));
+HXLINE( 755) if (isOwnAccount1) {
+HXLINE( 755) this->sendPresence(null(),null());
}
}
}
-HXLINE( 702) bool _hx_tmp37;
-HXDLIN( 702) bool _hx_tmp38;
-HXDLIN( 702) if (isOwnAccount1) {
-HXLINE( 702) _hx_tmp38 = (pubsubNode == HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+HXLINE( 759) bool _hx_tmp48;
+HXDLIN( 759) bool _hx_tmp49;
+HXDLIN( 759) if (isOwnAccount1) {
+HXLINE( 759) _hx_tmp49 = (pubsubNode == HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
}
else {
-HXLINE( 702) _hx_tmp38 = false;
+HXLINE( 759) _hx_tmp49 = false;
}
-HXDLIN( 702) if (_hx_tmp38) {
-HXLINE( 702) _hx_tmp37 = (pubsubEvent->getItems()->length > 0);
+HXDLIN( 759) if (_hx_tmp49) {
+HXLINE( 759) _hx_tmp48 = (pubsubEvent->getItems()->length > 0);
}
else {
-HXLINE( 702) _hx_tmp37 = false;
- }
-HXDLIN( 702) if (_hx_tmp37) {
-HXLINE( 703) int _g10 = 0;
-HXDLIN( 703) ::Array< ::Dynamic> _g11 = pubsubEvent->getItems();
-HXDLIN( 703) while((_g10 < _g11->length)){
-HXLINE( 703) ::borogove::Stanza item1 = _g11->__get(_g10).StaticCast< ::borogove::Stanza >();
-HXDLIN( 703) _g10 = (_g10 + 1);
-HXLINE( 704) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE( 705) ::borogove::Stanza tmp7 = item1->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
-HXDLIN( 705) ::borogove::Stanza upTo;
-HXDLIN( 705) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 705) upTo = tmp7->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 759) _hx_tmp48 = false;
+ }
+HXDLIN( 759) if (_hx_tmp48) {
+HXLINE( 760) int _g9 = 0;
+HXDLIN( 760) ::Array< ::Dynamic> _g10 = pubsubEvent->getItems();
+HXDLIN( 760) while((_g9 < _g10->length)){
+HXLINE( 760) ::borogove::Stanza item1 = _g10->__get(_g9).StaticCast< ::borogove::Stanza >();
+HXDLIN( 760) _g9 = (_g9 + 1);
+HXLINE( 761) if (::hx::IsNotNull( item1->attr->get(HX_("id",db,5b,00,00)) )) {
+HXLINE( 762) ::borogove::Stanza tmp5 = item1->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+HXDLIN( 762) ::borogove::Stanza upTo;
+HXDLIN( 762) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 762) upTo = tmp5->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
}
else {
-HXLINE( 705) upTo = null();
+HXLINE( 762) upTo = null();
}
-HXLINE( 706) ::borogove::Chat chat9 = this->getChat(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 707) if (::hx::IsNull( chat9 )) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_13) HXARGC(1)
+HXLINE( 763) ::borogove::Chat chat11 = this->getChat(item1->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE( 764) if (::hx::IsNull( chat11 )) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_15) HXARGC(1)
int _hx_run( ::borogove::Caps _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_708_processLiveMessage)
-HXLINE( 708) return 2;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_765_processLiveMessage)
+HXLINE( 765) return 2;
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_14, ::borogove::Stanza,upTo) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_16, ::borogove::Stanza,upTo) HXARGC(1)
void _hx_run( ::borogove::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_708_processLiveMessage)
-HXLINE( 708) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 708) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_765_processLiveMessage)
+HXLINE( 765) ::String _hx_tmp = upTo->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 765) chat->markReadUpToId(_hx_tmp,upTo->attr->get_string(HX_("by",d7,55,00,00)),null());
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 708) this->startChatWith(( (::String)(::Reflect_obj::field(item1->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_13()), ::Dynamic(new _hx_Closure_14(upTo)));
+HXLINE( 765) this->startChatWith(item1->attr->get_string(HX_("id",db,5b,00,00)), ::Dynamic(new _hx_Closure_15()), ::Dynamic(new _hx_Closure_16(upTo)));
}
else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_15, ::borogove::Client,_gthis, ::borogove::Chat,chat9) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_17, ::borogove::Chat,chat11, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_710_processLiveMessage)
-HXLINE( 711) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 711) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 711) ::borogove::Persistence_obj::storeChats(_gthis1,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,chat9));
-HXLINE( 712) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat9));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_767_processLiveMessage)
+HXLINE( 768) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 768) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 768) ::borogove::Persistence_obj::storeChats(_gthis1,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,chat11));
+HXLINE( 769) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat11));
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_16) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_18) HXARGC(1)
::Dynamic _hx_run( ::Dynamic e){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_714_processLiveMessage)
-HXLINE( 714) if (::hx::IsNotNull( e )) {
-HXLINE( 714) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_771_processLiveMessage)
+HXLINE( 771) if (::hx::IsNotNull( e )) {
+HXLINE( 771) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
}
else {
-HXLINE( 714) return null();
+HXLINE( 771) return null();
}
-HXDLIN( 714) return null();
+HXDLIN( 771) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 710) ::borogove::Chat chat10 = chat9;
-HXDLIN( 710) ::String _hx_tmp39 = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 710) ::thenshim::_Promise::Promise_Impl__obj::then(chat10->markReadUpToId(_hx_tmp39,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null()), ::Dynamic(new _hx_Closure_15(_gthis,chat9)), ::Dynamic(new _hx_Closure_16()));
+HXLINE( 767) ::borogove::Chat chat12 = chat11;
+HXDLIN( 767) ::String _hx_tmp50 = upTo->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 767) ::thenshim::_Promise::Promise_Impl__obj::then(chat12->markReadUpToId(_hx_tmp50,upTo->attr->get_string(HX_("by",d7,55,00,00)),null()), ::Dynamic(new _hx_Closure_17(chat11,_gthis)), ::Dynamic(new _hx_Closure_18()));
+ }
+ }
+ }
+ }
+HXLINE( 776) ::haxe::Log_obj::trace((HX_("pubsubNode == ",a5,37,1e,6c) + pubsubNode),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),776,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
+HXLINE( 778) bool _hx_tmp51;
+HXDLIN( 778) bool _hx_tmp52;
+HXDLIN( 778) if (isOwnAccount1) {
+HXLINE( 778) _hx_tmp52 = (pubsubNode == HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+ }
+ else {
+HXLINE( 778) _hx_tmp52 = false;
+ }
+HXDLIN( 778) if (_hx_tmp52) {
+HXLINE( 778) _hx_tmp51 = (pubsubEvent->getItems()->length > 0);
+ }
+ else {
+HXLINE( 778) _hx_tmp51 = false;
+ }
+HXDLIN( 778) if (_hx_tmp51) {
+HXLINE( 779) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 780) {
+HXLINE( 780) int _g11 = 0;
+HXDLIN( 780) ::Array< ::Dynamic> _g12 = pubsubEvent->getItems();
+HXDLIN( 780) while((_g11 < _g12->length)){
+HXLINE( 780) ::borogove::Stanza item2 = _g12->__get(_g11).StaticCast< ::borogove::Stanza >();
+HXDLIN( 780) _g11 = (_g11 + 1);
+HXLINE( 781) if (::hx::IsNotNull( item2->attr->get(HX_("id",db,5b,00,00)) )) {
+HXLINE( 782) ::borogove::Chat chat13 = this->getChat(item2->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE( 783) if (::hx::IsNull( chat13 )) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_19, ::borogove::Stanza,item2) HXARGC(1)
+ int _hx_run( ::borogove::Caps caps){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_786_processLiveMessage)
+HXLINE( 787) if (::hx::IsNull( caps )) {
+HXLINE( 787) return 1;
+ }
+HXLINE( 789) ::borogove::Identity identity = caps->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE( 790) ::borogove::Stanza conf = item2->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXLINE( 791) if (::hx::IsNull( conf->attr->get(HX_("name",4b,72,ff,48)) )) {
+HXLINE( 792) ::String _hx_tmp;
+HXDLIN( 792) if (::hx::IsNotNull( identity )) {
+HXLINE( 792) _hx_tmp = identity->name;
+ }
+ else {
+HXLINE( 792) _hx_tmp = null();
+ }
+HXDLIN( 792) conf->attr->set(HX_("name",4b,72,ff,48),_hx_tmp);
+ }
+HXLINE( 794) bool _hx_tmp1;
+HXDLIN( 794) bool _hx_tmp2;
+HXDLIN( 794) if (::hx::IsNotEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("1",31,00,00,00) )) {
+HXLINE( 794) _hx_tmp2 = ::hx::IsEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("true",4e,a7,03,4d) );
+ }
+ else {
+HXLINE( 794) _hx_tmp2 = true;
+ }
+HXDLIN( 794) if (!(_hx_tmp2)) {
+HXLINE( 794) _hx_tmp1 = !(caps->isChannel(item2->attr->get_string(HX_("id",db,5b,00,00))));
+ }
+ else {
+HXLINE( 794) _hx_tmp1 = true;
+ }
+HXDLIN( 794) if (_hx_tmp1) {
+HXLINE( 794) return 1;
+ }
+ else {
+HXLINE( 794) return 2;
+ }
+HXDLIN( 794) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_20, ::borogove::Stanza,item2) HXARGC(1)
+ void _hx_run( ::borogove::Chat chat){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_797_processLiveMessage)
+HXLINE( 797) chat->updateFromBookmark(item2);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 784) this->startChatWith(item2->attr->get_string(HX_("id",db,5b,00,00)), ::Dynamic(new _hx_Closure_19(item2)), ::Dynamic(new _hx_Closure_20(item2)));
+ }
+ else {
+HXLINE( 801) chat13->updateFromBookmark(item2);
+HXLINE( 802) chatsToUpdate->push(chat13);
+ }
}
}
}
+HXLINE( 806) ::Dynamic _hx_tmp53 = this->persistence;
+HXDLIN( 806) ::borogove::Persistence_obj::storeChats(_hx_tmp53,this->accountId(),chatsToUpdate);
+HXLINE( 807) this->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
}
-HXLINE( 719) ::haxe::Log_obj::trace((HX_("pubsubNode == ",a5,37,1e,6c) + pubsubNode),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),719,HX_("borogove.Client",18,dc,e6,c0),HX_("processLiveMessage",0c,f2,77,58)));
}
}
@@ -2240,9 +2545,9 @@ HX_DEFINE_DYNAMIC_FUNC3(Client_obj,processLiveMessage,(void))
void Client_obj::start(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(1)
::Dynamic _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_739_start)
-HXLINE( 739) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 739) return ::borogove::Persistence_obj::getStreamManagement(_gthis1,_gthis->accountId());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_828_start)
+HXLINE( 828) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 828) return ::borogove::Persistence_obj::getStreamManagement(_gthis1,_gthis->accountId());
}
HX_END_LOCAL_FUNC1(return)
@@ -2250,92 +2555,92 @@ HXDLIN( 739) return ::borogove::Persistence_obj::getStreamManagement(_gthis1,_
void _hx_run( ::Dynamic data){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_742_start)
-HXLINE( 743) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic)) );
-HXDLIN( 743) ::Dynamic tmp1;
-HXDLIN( 743) if (::hx::IsNotNull( tmp )) {
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_831_start)
+HXLINE( 832) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic)) );
+HXDLIN( 832) ::Dynamic tmp1;
+HXDLIN( 832) if (::hx::IsNotNull( tmp )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::Dynamic mech){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_743_start)
-HXLINE( 743) return ( (bool)(mech->__Field(HX_("canFast",cc,aa,0d,62),::hx::paccDynamic)) );
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_832_start)
+HXLINE( 832) return ( (bool)(mech->__Field(HX_("canFast",cc,aa,0d,62),::hx::paccDynamic)) );
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 743) tmp1 = ::Lambda_obj::find(tmp, ::Dynamic(new _hx_Closure_1()));
+HXLINE( 832) tmp1 = ::Lambda_obj::find(tmp, ::Dynamic(new _hx_Closure_1()));
}
else {
-HXLINE( 743) tmp1 = null();
+HXLINE( 832) tmp1 = null();
}
-HXDLIN( 743) ::String _hx_tmp;
-HXDLIN( 743) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 743) _hx_tmp = ( (::String)(tmp1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+HXDLIN( 832) ::String _hx_tmp;
+HXDLIN( 832) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 832) _hx_tmp = ( (::String)(tmp1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
}
else {
-HXLINE( 743) _hx_tmp = null();
+HXLINE( 832) _hx_tmp = null();
}
-HXDLIN( 743) _gthis->fastMechanism = _hx_tmp;
-HXLINE( 744) bool _hx_tmp1;
-HXDLIN( 744) if (::hx::IsNotNull( _gthis->token )) {
-HXLINE( 744) if (::hx::IsNull( _gthis->fastMechanism )) {
-HXLINE( 744) _hx_tmp1 = ::hx::IsNotNull( data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic) );
+HXDLIN( 832) _gthis->fastMechanism = _hx_tmp;
+HXLINE( 833) bool _hx_tmp1;
+HXDLIN( 833) if (::hx::IsNotNull( _gthis->token )) {
+HXLINE( 833) if (::hx::IsNull( _gthis->fastMechanism )) {
+HXLINE( 833) _hx_tmp1 = ::hx::IsNotNull( data->__Field(HX_("mechanisms",fa,b0,9e,80),::hx::paccDynamic) );
}
else {
-HXLINE( 744) _hx_tmp1 = false;
+HXLINE( 833) _hx_tmp1 = false;
}
}
else {
-HXLINE( 744) _hx_tmp1 = true;
+HXLINE( 833) _hx_tmp1 = true;
}
-HXDLIN( 744) if (_hx_tmp1) {
-HXLINE( 745) ::borogove::Client _gthis1 = _gthis;
-HXDLIN( 745) return _gthis1->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN( 833) if (_hx_tmp1) {
+HXLINE( 834) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 834) return _gthis1->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("accountId",e8,81,54,29),_gthis->accountId())));
}
else {
-HXLINE( 747) return _gthis->stream->trigger(HX_("auth/password",e2,5d,98,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 836) return _gthis->stream->trigger(HX_("auth/password",e2,5d,98,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("fastCount",93,fc,67,a5),_gthis->fastCount)
->setFixed(1,HX_("mechanism",59,fd,7e,2e),_gthis->fastMechanism)
->setFixed(2,HX_("password",1b,23,d0,48),_gthis->token)));
}
-HXLINE( 744) return null();
+HXLINE( 833) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_750_start)
-HXLINE( 751) if (::hx::IsNotNull( _gthis->token )) {
-HXLINE( 752) _gthis->token = null();
-HXLINE( 753) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 753) ::String _hx_tmp = _gthis->jid->asString();
-HXDLIN( 753) _gthis1->connect(_hx_tmp,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_839_start)
+HXLINE( 840) if (::hx::IsNotNull( _gthis->token )) {
+HXLINE( 841) _gthis->token = null();
+HXLINE( 842) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN( 842) ::String _hx_tmp = _gthis->jid->asString();
+HXDLIN( 842) _gthis1->connect(_hx_tmp,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
}
else {
-HXLINE( 755) ::borogove::GenericStream _gthis2 = _gthis->stream;
-HXDLIN( 755) ::String _hx_tmp1 = _gthis->jid->asString();
-HXDLIN( 755) _gthis2->connect(_hx_tmp1,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
+HXLINE( 844) ::borogove::GenericStream _gthis2 = _gthis->stream;
+HXDLIN( 844) ::String _hx_tmp1 = _gthis->jid->asString();
+HXDLIN( 844) _gthis2->connect(_hx_tmp1,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
}
-HXLINE( 757) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 846) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_740_start)
-HXLINE( 741) if (::hx::IsGreater( data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic),_gthis->sortId )) {
-HXLINE( 741) _gthis->sortId = ( (::String)(data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_829_start)
+HXLINE( 830) if (::hx::IsGreater( data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic),_gthis->sortId )) {
+HXLINE( 830) _gthis->sortId = ( (::String)(data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
}
-HXLINE( 742) _gthis->stream->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_2(_gthis)));
-HXLINE( 750) _gthis->stream->on(HX_("auth/fail",25,45,e9,d1), ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE( 759) _gthis->firstSync = true;
-HXLINE( 760) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXDLIN( 760) ::String _hx_tmp = _gthis->jid->asString();
-HXDLIN( 760) _gthis1->connect(_hx_tmp,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
+HXLINE( 831) _gthis->stream->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 839) _gthis->stream->on(HX_("auth/fail",25,45,e9,d1), ::Dynamic(new _hx_Closure_3(_gthis)));
+HXLINE( 848) _gthis->firstSync = true;
+HXLINE( 849) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN( 849) ::String _hx_tmp = _gthis->jid->asString();
+HXDLIN( 849) _gthis1->connect(_hx_tmp,( (::Array< unsigned char >)(data->__Field(HX_("sm",9a,64,00,00),::hx::paccDynamic)) ));
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_736_start)
-HXDLIN( 736) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 737) this->stream->emitSMupdates = false;
-HXLINE( 738) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->startOffline(), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_4(_gthis)),null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_825_start)
+HXDLIN( 825) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 826) this->stream->emitSMupdates = false;
+HXLINE( 827) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->startOffline(), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_4(_gthis)),null());
}
@@ -2344,115 +2649,133 @@ HX_DEFINE_DYNAMIC_FUNC0(Client_obj,start,(void))
::Dynamic Client_obj::startOffline(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage point){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_774_startOffline)
-HXLINE( 775) ::String _hx_tmp;
-HXDLIN( 775) if (::hx::IsNotNull( point )) {
-HXLINE( 775) _hx_tmp = point->sortId;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_863_startOffline)
+HXLINE( 864) ::String _hx_tmp;
+HXDLIN( 864) if (::hx::IsNotNull( point )) {
+HXLINE( 864) _hx_tmp = point->sortId;
}
else {
-HXLINE( 775) _hx_tmp = null();
+HXLINE( 864) _hx_tmp = null();
}
-HXDLIN( 775) if (::hx::IsNotNull( _hx_tmp )) {
-HXLINE( 775) _gthis->sortId = point->sortId;
+HXDLIN( 864) if (::hx::IsNotNull( _hx_tmp )) {
+HXLINE( 864) _gthis->sortId = point->sortId;
}
-HXLINE( 777) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 777) return ::borogove::Persistence_obj::getLogin(_gthis1,_gthis->accountId());
+HXLINE( 866) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 866) return ::borogove::Persistence_obj::getLogin(_gthis1,_gthis->accountId());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis) HXARGC(1)
::Dynamic _hx_run( ::Dynamic login){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_778_startOffline)
-HXLINE( 779) _gthis->token = ( (::String)(login->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
-HXLINE( 780) _gthis->fastCount = login->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic);
-HXLINE( 781) ::String tmp = ( (::String)(login->__Field(HX_("clientId",06,73,8f,15),::hx::paccDynamic)) );
-HXDLIN( 781) ::String _hx_tmp;
-HXDLIN( 781) if (::hx::IsNotNull( tmp )) {
-HXLINE( 781) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_867_startOffline)
+HXLINE( 868) _gthis->token = ( (::String)(login->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic)) );
+HXLINE( 869) _gthis->rosterVer = ( (::String)(login->__Field(HX_("rosterVer",98,f5,fe,3e),::hx::paccDynamic)) );
+HXLINE( 870) _gthis->fastCount = login->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic);
+HXLINE( 871) ::String tmp = ( (::String)(login->__Field(HX_("clientId",06,73,8f,15),::hx::paccDynamic)) );
+HXDLIN( 871) ::String _hx_tmp;
+HXDLIN( 871) if (::hx::IsNotNull( tmp )) {
+HXLINE( 871) _hx_tmp = tmp;
}
else {
-HXLINE( 781) _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 871) _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXDLIN( 781) _gthis->stream->clientId = _hx_tmp;
-HXLINE( 782) _gthis->jid = _gthis->jid->withResource(_gthis->stream->clientId);
-HXLINE( 783) ::String tmp1 = ( (::String)(login->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
-HXDLIN( 783) ::String _hx_tmp1;
-HXDLIN( 783) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 783) _hx_tmp1 = tmp1;
+HXDLIN( 871) _gthis->stream->clientId = _hx_tmp;
+HXLINE( 872) _gthis->jid = _gthis->jid->withResource(_gthis->stream->clientId);
+HXLINE( 873) ::String tmp1 = ( (::String)(login->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
+HXDLIN( 873) ::String _hx_tmp1;
+HXDLIN( 873) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 873) _hx_tmp1 = tmp1;
}
else {
-HXLINE( 783) _hx_tmp1 = _gthis->_displayName;
+HXLINE( 873) _hx_tmp1 = _gthis->_displayName;
}
-HXDLIN( 783) _gthis->_displayName = _hx_tmp1;
-HXLINE( 785) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 785) return ::borogove::Persistence_obj::getChats(_gthis1,_gthis->accountId());
+HXDLIN( 873) _gthis->_displayName = _hx_tmp1;
+HXLINE( 875) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN( 875) return ::borogove::Persistence_obj::getChats(_gthis1,_gthis->accountId());
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> protoChats){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(2)
int _hx_run( ::borogove::SerializedChat a, ::borogove::SerializedChat b){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_787_startOffline)
-HXLINE( 787) ::String a1 = a->chatId;
-HXDLIN( 787) if ((a1 == _gthis->accountId())) {
-HXLINE( 787) return 1;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_877_startOffline)
+HXLINE( 877) ::String a1 = a->chatId;
+HXDLIN( 877) if ((a1 == _gthis->accountId())) {
+HXLINE( 877) return 1;
}
else {
-HXLINE( 787) return 0;
+HXLINE( 877) return 0;
}
-HXDLIN( 787) return 0;
+HXDLIN( 877) return 0;
}
HX_END_LOCAL_FUNC2(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_786_startOffline)
-HXLINE( 787) protoChats->sort( ::Dynamic(new _hx_Closure_2(_gthis)));
-HXLINE( 788) ::borogove::SerializedChat oneProtoChat = null();
-HXLINE( 789) while(true){
-HXLINE( 789) oneProtoChat = protoChats->pop().StaticCast< ::borogove::SerializedChat >();
-HXDLIN( 789) if (!(::hx::IsNotNull( oneProtoChat ))) {
-HXLINE( 789) goto _hx_goto_63;
- }
-HXLINE( 790) ::Array< ::Dynamic> _gthis1 = _gthis->chats;
-HXDLIN( 790) _gthis1->push(oneProtoChat->toChat(_gthis,_gthis->stream,_gthis->persistence));
- }
- _hx_goto_63:;
-HXLINE( 792) ::borogove::Client _gthis2 = _gthis;
-HXDLIN( 792) _gthis2->getDirectChat(_gthis->accountId(),null());
-HXLINE( 793) ::borogove::Client _gthis3 = _gthis;
-HXDLIN( 793) _gthis3->getDirectChat(::borogove::JID_obj::parse(_gthis->accountId())->domain,null());
-HXLINE( 794) ::Dynamic _gthis4 = _gthis->persistence;
-HXDLIN( 794) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 794) return ::borogove::Persistence_obj::getChatsUnreadDetails(_gthis4,_hx_tmp,_gthis->chats);
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> theChats){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_883_startOffline)
+HXLINE( 884) _gthis->chats = theChats;
+HXLINE( 885) {
+HXLINE( 885) int _g = 0;
+HXDLIN( 885) ::Array< ::Dynamic> _g1 = _gthis->chats;
+HXDLIN( 885) while((_g < _g1->length)){
+HXLINE( 885) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 885) _g = (_g + 1);
+HXLINE( 886) _gthis->chatsIndex->set(chat->chatId,chat);
+ }
+ }
+HXLINE( 888) ::borogove::Client _gthis1 = _gthis;
+HXDLIN( 888) _gthis1->getDirectChat(_gthis->accountId(),null());
+HXLINE( 889) ::borogove::Client _gthis2 = _gthis;
+HXDLIN( 889) _gthis2->getDirectChat(::borogove::JID_obj::parse(_gthis->accountId())->domain,null());
+HXLINE( 890) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN( 890) ::String _hx_tmp = _gthis->accountId();
+HXDLIN( 890) return ::borogove::Persistence_obj::getChatsUnreadDetails(_gthis3,_hx_tmp,_gthis->chats);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_876_startOffline)
+HXLINE( 877) protoChats->sort( ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 878) ::borogove::SerializedChat oneProtoChat = null();
+HXLINE( 879) ::Array< ::Dynamic> chatPromises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 880) while(true){
+HXLINE( 880) oneProtoChat = protoChats->pop().StaticCast< ::borogove::SerializedChat >();
+HXDLIN( 880) if (!(::hx::IsNotNull( oneProtoChat ))) {
+HXLINE( 880) goto _hx_goto_71;
+ }
+HXLINE( 881) chatPromises->push(oneProtoChat->toChat(_gthis,_gthis->stream,_gthis->persistence));
+ }
+ _hx_goto_71:;
+HXLINE( 883) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(chatPromises), ::Dynamic(new _hx_Closure_3(_gthis)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis) HXARGC(1)
bool _hx_run(::Array< ::Dynamic> details){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_795_startOffline)
-HXLINE( 796) {
-HXLINE( 796) int _g = 0;
-HXDLIN( 796) while((_g < details->length)){
-HXLINE( 796) ::Dynamic detail = details->__get(_g);
-HXDLIN( 796) _g = (_g + 1);
-HXLINE( 797) ::borogove::Chat chat = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
-HXLINE( 798) if (::hx::IsNotNull( chat )) {
-HXLINE( 799) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
-HXLINE( 800) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_892_startOffline)
+HXLINE( 893) {
+HXLINE( 893) int _g = 0;
+HXDLIN( 893) while((_g < details->length)){
+HXLINE( 893) ::Dynamic detail = details->__get(_g);
+HXDLIN( 893) _g = (_g + 1);
+HXLINE( 894) ::borogove::Chat chat = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
+HXLINE( 895) if (::hx::IsNotNull( chat )) {
+HXLINE( 896) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
+HXLINE( 897) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
}
}
}
-HXLINE( 803) _gthis->sortChats();
-HXLINE( 804) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
-HXLINE( 805) return true;
+HXLINE( 900) _gthis->sortChats();
+HXLINE( 901) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
+HXLINE( 902) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_769_startOffline)
-HXDLIN( 769) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 772) __hxcpp_collect(true);
-HXLINE( 774) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 774) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_hx_tmp,this->accountId(),null()), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_3(_gthis)),null()), ::Dynamic(new _hx_Closure_4(_gthis)),null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_858_startOffline)
+HXDLIN( 858) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 861) __hxcpp_collect(true);
+HXLINE( 863) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 863) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_hx_tmp,this->accountId(),null()), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_4(_gthis)),null()), ::Dynamic(new _hx_Closure_5(_gthis)),null());
}
@@ -2486,26 +2809,27 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->startOffline(
void Client_obj::logout(bool completely){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_818_logout)
-HXLINE( 818) _gthis->stream->disconnect();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_916_logout)
+HXLINE( 916) _gthis->stream->disconnect();
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_814_logout)
-HXDLIN( 814) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 815) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN( 815) ::borogove::Persistence_obj::removeAccount(_hx_tmp,this->accountId(),completely);
-HXLINE( 816) ::borogove::queries::Push2Disable disable = ::borogove::queries::Push2Disable_obj::__alloc( HX_CTX ,this->jid->asBare()->asString());
-HXLINE( 817) disable->onFinished( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 820) this->sendQuery(disable);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_911_logout)
+HXDLIN( 911) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 912) this->channelPinger->stopTimer();
+HXLINE( 913) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN( 913) ::borogove::Persistence_obj::removeAccount(_hx_tmp,this->accountId(),completely);
+HXLINE( 914) ::borogove::queries::Push2Disable disable = ::borogove::queries::Push2Disable_obj::__alloc( HX_CTX ,this->jid->asBare()->asString());
+HXLINE( 915) disable->onFinished( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 918) this->sendQuery(disable);
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,logout,(void))
void Client_obj::usePassword(::String password){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_830_usePassword)
-HXDLIN( 830) this->stream->trigger(HX_("auth/password",e2,5d,98,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_928_usePassword)
+HXDLIN( 928) this->stream->trigger(HX_("auth/password",e2,5d,98,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("requestToken",2a,35,fd,af),this->fastMechanism)
->setFixed(1,HX_("password",1b,23,d0,48),password)));
}
@@ -2514,87 +2838,185 @@ HXDLIN( 830) this->stream->trigger(HX_("auth/password",e2,5d,98,00), ::Dynamic(
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,usePassword,(void))
::String Client_obj::accountId(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_839_accountId)
-HXDLIN( 839) return this->jid->asBare()->asString();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_937_accountId)
+HXDLIN( 937) return this->jid->asBare()->asString();
}
HX_DEFINE_DYNAMIC_FUNC0(Client_obj,accountId,return )
::String Client_obj::displayName(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_848_displayName)
-HXDLIN( 848) return this->_displayName;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_946_displayName)
+HXDLIN( 946) return this->_displayName;
}
HX_DEFINE_DYNAMIC_FUNC0(Client_obj,displayName,return )
+void Client_obj::setPhoto( ::borogove::AttachmentSource source,bool publicAccess){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_955_setPhoto)
+HXDLIN( 955) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 956) if ((source->size > 128000)) {
+HXLINE( 956) HX_STACK_DO_THROW(HX_("Size limit of 128KB",a9,c1,4c,64));
+ }
+HXLINE( 957) ::haxe::io::BytesOutput out = ::haxe::io::BytesOutput_obj::__alloc( HX_CTX );
+HXLINE( 958) ::haxe::io::BytesOutput out1 = out;
+HXDLIN( 958) ::tink::io::std::OutputSink sink = ::tink::io::std::OutputSink_obj::__alloc( HX_CTX ,HX_("bytes",6b,08,98,bd),out1,::tink::io::_Worker::Worker_Impl__obj::get());
+HXLINE( 959) {
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::borogove::AttachmentSource,source,bool,publicAccess, ::haxe::io::BytesOutput,out) HXARGC(1)
+ void _hx_run( ::tink::io::PipeResult _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_959_setPhoto)
+HXLINE( 960) ::haxe::io::Bytes bytes = out->getBytes();
+HXLINE( 961) ::String b64 = ::haxe::crypto::Base64_obj::encode(bytes,null());
+HXLINE( 962) ::String sha1 = ::borogove::Hash_obj::sha1(bytes)->toHex();
+HXLINE( 963) ::haxe::Log_obj::trace(HX_("set avatar",d7,54,99,b2), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(4)->init(0,sha1)->init(1,b64)->init(2,bytes)->init(3,source))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("setPhoto",b0,31,28,d0))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),963)));
+HXLINE( 965) ::borogove::Client _gthis1 = _gthis;
+HXLINE( 966) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:avatar:data",0f,7e,01,4e))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),sha1)),null())->textTag(HX_("data",2a,56,63,42),b64, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:avatar:data",0f,7e,01,4e))),null());
+HXLINE( 977) ::String _hx_tmp1;
+HXDLIN( 977) if (publicAccess) {
+HXLINE( 977) _hx_tmp1 = HX_("open",ca,03,b4,49);
+ }
+ else {
+HXLINE( 977) _hx_tmp1 = HX_("presence",3b,52,d7,66);
+ }
+HXLINE( 965) _gthis1->publishWithOptions(_hx_tmp, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))),null())->textTag(HX_("value",71,7f,b8,31),HX_("urn:xmpp:avatar:data",0f,7e,01,4e),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))),null())->textTag(HX_("value",71,7f,b8,31),HX_("false",a3,35,4f,fb),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),_hx_tmp1,null(),null())->up());
+HXLINE( 980) ::borogove::Client _gthis2 = _gthis;
+HXLINE( 981) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee))),null())->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),sha1)),null())->tag(HX_("metadata",6f,e7,19,40), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee))),null());
+HXLINE( 986) ::String _hx_tmp3 = ::Std_obj::string(source->size);
+HXLINE( 981) ::borogove::Stanza _hx_tmp4 = _hx_tmp2->tag(HX_("info",6e,38,bb,45), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("bytes",6b,08,98,bd),_hx_tmp3)
+ ->setFixed(1,HX_("id",db,5b,00,00),sha1)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),source->type)),null());
+HXLINE( 993) ::String _hx_tmp5;
+HXDLIN( 993) if (publicAccess) {
+HXLINE( 993) _hx_tmp5 = HX_("open",ca,03,b4,49);
+ }
+ else {
+HXLINE( 993) _hx_tmp5 = HX_("presence",3b,52,d7,66);
+ }
+HXLINE( 980) _gthis2->publishWithOptions(_hx_tmp4, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))),null())->textTag(HX_("value",71,7f,b8,31),HX_("urn:xmpp:avatar:metadata",d4,65,1a,ee),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),_hx_tmp5,null(),null())->up());
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 959) ::String name = source->name;
+HXDLIN( 959) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
+HXDLIN( 959) ::Dynamic options = null();
+HXDLIN( 959) options = ::Dynamic(::hx::Anon_obj::Create(0));
+HXDLIN( 959) ::Dynamic this1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN( 959) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN( 959) int this2;
+HXDLIN( 959) if (::hx::IsNull( _g )) {
+HXLINE( 959) this2 = 65536;
+ }
+ else {
+HXLINE( 959) this2 = ( (int)(_g) );
+ }
+HXDLIN( 959) ::tink::io::_Source::Source_Impl__obj::pipeTo( ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,this1,::haxe::io::Bytes_obj::alloc(this2),0),sink,null())->handle( ::Dynamic(new _hx_Closure_0(_gthis,source,publicAccess,out)));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,setPhoto,(void))
+
void Client_obj::setProfile( ::borogove::ProfileBuilder profile,bool publicAccess){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::ProfileItem item){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_858_setProfile)
-HXLINE( 858) return (item->key == HX_("fn",48,59,00,00));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1005_setProfile)
+HXLINE(1005) return (item->key == HX_("fn",48,59,00,00));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_857_setProfile)
-HXLINE( 858) ::borogove::ProfileItem fn = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(profile->build()->items, ::Dynamic(new _hx_Closure_0()))) );
-HXLINE( 859) if (::hx::IsNotNull( fn )) {
-HXLINE( 860) ::String fnText = fn->text()->__get(0);
-HXLINE( 861) bool _hx_tmp;
-HXDLIN( 861) bool _hx_tmp1;
-HXDLIN( 861) if (::hx::IsNotNull( fnText )) {
-HXLINE( 861) _hx_tmp1 = (fnText != HX_("",00,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1004_setProfile)
+HXLINE(1005) ::borogove::ProfileItem fn = ( ( ::borogove::ProfileItem)(::Lambda_obj::find(profile->build()->items, ::Dynamic(new _hx_Closure_0()))) );
+HXLINE(1006) if (::hx::IsNotNull( fn )) {
+HXLINE(1007) ::String fnText = fn->text()->__get(0);
+HXLINE(1008) bool _hx_tmp;
+HXDLIN(1008) bool _hx_tmp1;
+HXDLIN(1008) if (::hx::IsNotNull( fnText )) {
+HXLINE(1008) _hx_tmp1 = (fnText != HX_("",00,00,00,00));
}
else {
-HXLINE( 861) _hx_tmp1 = false;
+HXLINE(1008) _hx_tmp1 = false;
}
-HXDLIN( 861) if (_hx_tmp1) {
-HXLINE( 861) _hx_tmp = (fnText != this->displayName());
+HXDLIN(1008) if (_hx_tmp1) {
+HXLINE(1008) _hx_tmp = (fnText != this->displayName());
}
else {
-HXLINE( 861) _hx_tmp = false;
+HXLINE(1008) _hx_tmp = false;
}
-HXDLIN( 861) if (_hx_tmp) {
+HXDLIN(1008) if (_hx_tmp) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_869_setProfile)
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1016_setProfile)
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 862) ::borogove::GenericStream _hx_tmp2 = this->stream;
-HXDLIN( 862) _hx_tmp2->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))))->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))))->tag(HX_("item",13,c5,bf,45),null())->textTag(HX_("nick",a3,7b,05,49),fnText, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))))->up()->up()->up(), ::Dynamic(new _hx_Closure_1()));
- }
- }
-HXLINE( 875) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))))->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:vcard4",4a,89,04,19))));
-HXDLIN( 875) ::borogove::Stanza _hx_tmp4 = _hx_tmp3->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())));
-HXDLIN( 875) ::borogove::Stanza _hx_tmp5 = _hx_tmp4->addChild(profile->buildStanza());
-HXLINE( 887) ::String _hx_tmp6;
-HXDLIN( 887) if (publicAccess) {
-HXLINE( 887) _hx_tmp6 = HX_("open",ca,03,b4,49);
+HXLINE(1009) ::borogove::GenericStream _hx_tmp2 = this->stream;
+HXDLIN(1009) _hx_tmp2->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))),null())->tag(HX_("item",13,c5,bf,45),null(),null())->textTag(HX_("nick",a3,7b,05,49),fnText, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))),null())->up()->up()->up(), ::Dynamic(new _hx_Closure_1()));
+ }
+ }
+HXLINE(1022) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("urn:xmpp:vcard4",4a,89,04,19))),null());
+HXDLIN(1022) ::borogove::Stanza _hx_tmp4 = _hx_tmp3->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())),null());
+HXDLIN(1022) ::borogove::Stanza _hx_tmp5 = _hx_tmp4->addChild(profile->buildStanza());
+HXLINE(1034) ::String _hx_tmp6;
+HXDLIN(1034) if (publicAccess) {
+HXLINE(1034) _hx_tmp6 = HX_("open",ca,03,b4,49);
}
else {
-HXLINE( 887) _hx_tmp6 = HX_("presence",3b,52,d7,66);
+HXLINE(1034) _hx_tmp6 = HX_("presence",3b,52,d7,66);
}
-HXLINE( 874) this->publishWithOptions(_hx_tmp5, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(1021) this->publishWithOptions(_hx_tmp5, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#title",b8,5d,59,26))))->textTag(HX_("value",71,7f,b8,31),HX_("Profile",09,71,9a,c0),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))))->textTag(HX_("value",71,7f,b8,31),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))))->textTag(HX_("value",71,7f,b8,31),HX_("false",a3,35,4f,fb),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))))->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))))->textTag(HX_("value",71,7f,b8,31),_hx_tmp6,null())->up());
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#title",b8,5d,59,26))),null())->textTag(HX_("value",71,7f,b8,31),HX_("Profile",09,71,9a,c0),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))),null())->textTag(HX_("value",71,7f,b8,31),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))),null())->textTag(HX_("value",71,7f,b8,31),HX_("false",a3,35,4f,fb),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),_hx_tmp6,null(),null())->up());
}
@@ -2603,320 +3025,596 @@ HX_DEFINE_DYNAMIC_FUNC2(Client_obj,setProfile,(void))
void Client_obj::setStatus( ::borogove::Status status,::hx::Null< int > __o_expires,::hx::Null< bool > __o_publicAccess){
int expires = __o_expires.Default(86400);
bool publicAccess = __o_publicAccess.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_899_setStatus)
-HXLINE( 900) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))))->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),HX_("http://jabber.org/protocol/activity",43,2c,6e,94))));
-HXDLIN( 900) ::borogove::Stanza _hx_tmp1 = _hx_tmp->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())));
-HXDLIN( 900) ::borogove::Stanza _hx_tmp2 = _hx_tmp1->addChild(status->toStanza());
-HXLINE( 905) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1046_setStatus)
+HXLINE(1047) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub",57,94,3c,f2))),null())->tag(HX_("publish",8f,21,1d,ae), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),HX_("http://jabber.org/protocol/activity",43,2c,6e,94))),null());
+HXDLIN(1047) ::borogove::Stanza _hx_tmp1 = _hx_tmp->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())),null());
+HXDLIN(1047) ::borogove::Stanza _hx_tmp2 = _hx_tmp1->addChild(status->toStanza());
+HXLINE(1052) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))))->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/activity",43,2c,6e,94),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))))->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))))->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#item_expire",eb,88,54,80))));
-HXLINE( 911) ::String _hx_tmp4 = ::Std_obj::string(expires);
-HXLINE( 912) ::String _hx_tmp5;
-HXDLIN( 912) if (publicAccess) {
-HXLINE( 912) _hx_tmp5 = HX_("open",ca,03,b4,49);
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/pubsub#publish-options",f4,9c,72,50),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#type",9a,0e,c3,59))),null())->textTag(HX_("value",71,7f,b8,31),HX_("http://jabber.org/protocol/activity",43,2c,6e,94),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#deliver_payloads",df,36,1b,95))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#persist_items",75,44,6b,ad))),null())->textTag(HX_("value",71,7f,b8,31),HX_("true",4e,a7,03,4d),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#max_items",05,69,9f,7c))),null())->textTag(HX_("value",71,7f,b8,31),HX_("1",31,00,00,00),null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#item_expire",eb,88,54,80))),null());
+HXLINE(1058) ::String _hx_tmp4 = ::Std_obj::string(expires);
+HXLINE(1059) ::String _hx_tmp5;
+HXDLIN(1059) if (publicAccess) {
+HXLINE(1059) _hx_tmp5 = HX_("open",ca,03,b4,49);
}
else {
-HXLINE( 912) _hx_tmp5 = HX_("presence",3b,52,d7,66);
+HXLINE(1059) _hx_tmp5 = HX_("presence",3b,52,d7,66);
}
-HXLINE( 899) this->publishWithOptions(_hx_tmp2,_hx_tmp3->textTag(HX_("value",71,7f,b8,31),_hx_tmp4,null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))))->textTag(HX_("value",71,7f,b8,31),_hx_tmp5,null())->up());
+HXLINE(1046) this->publishWithOptions(_hx_tmp2,_hx_tmp3->textTag(HX_("value",71,7f,b8,31),_hx_tmp4,null(),null())->up()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("pubsub#access_model",6e,cf,ac,1d))),null())->textTag(HX_("value",71,7f,b8,31),_hx_tmp5,null(),null())->up());
}
HX_DEFINE_DYNAMIC_FUNC3(Client_obj,setStatus,(void))
bool Client_obj::updateDisplayName(::String fn){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_916_updateDisplayName)
-HXLINE( 917) bool _hx_tmp;
-HXDLIN( 917) bool _hx_tmp1;
-HXDLIN( 917) if (::hx::IsNotNull( fn )) {
-HXLINE( 917) _hx_tmp1 = (fn == HX_("",00,00,00,00));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1063_updateDisplayName)
+HXLINE(1064) bool _hx_tmp;
+HXDLIN(1064) bool _hx_tmp1;
+HXDLIN(1064) if (::hx::IsNotNull( fn )) {
+HXLINE(1064) _hx_tmp1 = (fn == HX_("",00,00,00,00));
}
else {
-HXLINE( 917) _hx_tmp1 = true;
+HXLINE(1064) _hx_tmp1 = true;
}
-HXDLIN( 917) if (!(_hx_tmp1)) {
-HXLINE( 917) _hx_tmp = (fn == this->displayName());
+HXDLIN(1064) if (!(_hx_tmp1)) {
+HXLINE(1064) _hx_tmp = (fn == this->displayName());
}
else {
-HXLINE( 917) _hx_tmp = true;
+HXLINE(1064) _hx_tmp = true;
}
-HXDLIN( 917) if (_hx_tmp) {
-HXLINE( 917) return false;
+HXDLIN(1064) if (_hx_tmp) {
+HXLINE(1064) return false;
}
-HXLINE( 918) this->_displayName = fn;
-HXLINE( 919) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN( 919) ::String _hx_tmp3 = this->jid->asBare()->asString();
-HXDLIN( 919) ::String tmp = this->stream->clientId;
-HXDLIN( 919) ::String _hx_tmp4;
-HXDLIN( 919) if (::hx::IsNotNull( tmp )) {
-HXLINE( 919) _hx_tmp4 = tmp;
+HXLINE(1065) this->_displayName = fn;
+HXLINE(1066) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1066) ::String _hx_tmp3 = this->jid->asBare()->asString();
+HXDLIN(1066) ::String tmp = this->stream->clientId;
+HXDLIN(1066) ::String _hx_tmp4;
+HXDLIN(1066) if (::hx::IsNotNull( tmp )) {
+HXLINE(1066) _hx_tmp4 = tmp;
}
else {
-HXLINE( 919) _hx_tmp4 = this->jid->resource;
+HXLINE(1066) _hx_tmp4 = this->jid->resource;
}
-HXDLIN( 919) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,fn,null());
-HXLINE( 920) this->pingAllChannels(false);
-HXLINE( 921) return true;
+HXDLIN(1066) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,fn,this->rosterVer,null());
+HXLINE(1067) this->pingAllChannels(false);
+HXLINE(1068) return true;
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,updateDisplayName,return )
+void Client_obj::preferE2ee(int preference){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1077_preferE2ee)
+HXLINE(1078) ::Array< int > _this = this->outgoingE2EEPreference;
+HXDLIN(1078) ::Array< int > _g = ::Array_obj< int >::__new(0);
+HXDLIN(1078) {
+HXLINE(1078) int _g1 = 0;
+HXDLIN(1078) while((_g1 < _this->length)){
+HXLINE(1078) int v = _this->__get(_g1);
+HXDLIN(1078) _g1 = (_g1 + 1);
+HXDLIN(1078) if ((v != preference)) {
+HXLINE(1078) _g->push(v);
+ }
+ }
+ }
+HXDLIN(1078) this->outgoingE2EEPreference = _g;
+HXLINE(1079) this->outgoingE2EEPreference->unshift(preference);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,preferE2ee,(void))
+
+void Client_obj::banE2ee(int preference){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1089_banE2ee)
+HXDLIN(1089) ::Array< int > _this = this->outgoingE2EEPreference;
+HXDLIN(1089) ::Array< int > _g = ::Array_obj< int >::__new(0);
+HXDLIN(1089) {
+HXDLIN(1089) int _g1 = 0;
+HXDLIN(1089) while((_g1 < _this->length)){
+HXDLIN(1089) int v = _this->__get(_g1);
+HXDLIN(1089) _g1 = (_g1 + 1);
+HXDLIN(1089) if ((v != preference)) {
+HXDLIN(1089) _g->push(v);
+ }
+ }
+ }
+HXDLIN(1089) this->outgoingE2EEPreference = _g;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,banE2ee,(void))
+
::borogove::EventResult Client_obj::onConnected( ::Dynamic data){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis) HXARGC(2)
void _hx_run( ::Dynamic service, ::borogove::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_957_onConnected)
-HXLINE( 957) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 957) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 957) ::String _hx_tmp1 = ( ( ::borogove::JID)(service->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
-HXDLIN( 957) ::borogove::Persistence_obj::storeService(_gthis1,_hx_tmp,_hx_tmp1, ::Dynamic(service->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)), ::Dynamic(service->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)),caps);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1137_onConnected)
+HXLINE(1137) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1137) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(1137) ::String _hx_tmp1 = ( ( ::borogove::JID)(service->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
+HXDLIN(1137) ::borogove::Persistence_obj::storeService(_gthis1,_hx_tmp,_hx_tmp1, ::Dynamic(service->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)), ::Dynamic(service->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)),caps);
}
HX_END_LOCAL_FUNC2((void))
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis) HXARGC(0)
void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run(bool syncFinished){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run(::Array< ::Dynamic> details){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_974_onConnected)
-HXLINE( 975) {
-HXLINE( 975) int _g = 0;
-HXDLIN( 975) while((_g < details->length)){
-HXLINE( 975) ::Dynamic detail = details->__get(_g);
-HXDLIN( 975) _g = (_g + 1);
-HXLINE( 976) ::borogove::Chat chat;
-HXDLIN( 976) ::borogove::Chat tmp = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
-HXDLIN( 976) if (::hx::IsNotNull( tmp )) {
-HXLINE( 976) chat = tmp;
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1185_onConnected)
+HXLINE(1185) _gthis->checkForResends();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1155_onConnected)
+HXLINE(1156) {
+HXLINE(1156) int _g = 0;
+HXDLIN(1156) while((_g < details->length)){
+HXLINE(1156) ::Dynamic detail = details->__get(_g);
+HXDLIN(1156) _g = (_g + 1);
+HXLINE(1157) ::borogove::Chat chat;
+HXDLIN(1157) ::borogove::Chat tmp = _gthis->getChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ));
+HXDLIN(1157) if (::hx::IsNotNull( tmp )) {
+HXLINE(1157) chat = tmp;
}
else {
-HXLINE( 976) chat = _gthis->getDirectChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ),false);
+HXLINE(1157) chat = _gthis->getDirectChat(( (::String)(detail->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)) ),false);
}
-HXLINE( 977) ::borogove::ChatMessage initialLast = chat->lastMessage;
-HXLINE( 978) if (::hx::IsNotNull( detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic) )) {
-HXLINE( 978) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
+HXLINE(1158) ::borogove::ChatMessage initialLast = chat->lastMessage;
+HXLINE(1159) if (::hx::IsNotNull( detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic) )) {
+HXLINE(1159) chat->setLastMessage(( ( ::borogove::ChatMessage)(detail->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)) ));
}
-HXLINE( 979) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
-HXLINE( 980) bool _hx_tmp;
-HXDLIN( 980) bool _hx_tmp1;
-HXDLIN( 980) if (::hx::IsGreater( detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic),0 )) {
-HXLINE( 980) _hx_tmp1 = ::hx::IsNotNull( initialLast );
+HXLINE(1160) chat->setUnreadCount(( (int)(detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)) ));
+HXLINE(1161) bool _hx_tmp;
+HXDLIN(1161) bool _hx_tmp1;
+HXDLIN(1161) if (::hx::IsGreater( detail->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic),0 )) {
+HXLINE(1161) _hx_tmp1 = ::hx::IsNotNull( initialLast );
}
else {
-HXLINE( 980) _hx_tmp1 = false;
+HXLINE(1161) _hx_tmp1 = false;
}
-HXDLIN( 980) if (_hx_tmp1) {
-HXLINE( 980) _hx_tmp = !(initialLast->canReplace(chat->lastMessage));
+HXDLIN(1161) if (_hx_tmp1) {
+HXLINE(1161) _hx_tmp = !(initialLast->canReplace(chat->lastMessage));
}
else {
-HXLINE( 980) _hx_tmp = false;
+HXLINE(1161) _hx_tmp = false;
}
-HXDLIN( 980) if (_hx_tmp) {
-HXLINE( 981) _gthis->chatActivity(chat,false);
+HXDLIN(1161) if (_hx_tmp) {
+HXLINE(1162) _gthis->chatActivity(chat,false);
}
}
}
-HXLINE( 984) _gthis->sortChats();
-HXLINE( 985) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
-HXLINE( 987) if (_gthis->sendAvailable) {
-HXLINE( 989) ::borogove::Client _gthis1 = _gthis;
-HXLINE( 990) ::String _hx_tmp2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE( 989) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(1165) _gthis->sortChats();
+HXLINE(1166) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),_gthis->chats);
+HXLINE(1168) if (_gthis->sendAvailable) {
+HXLINE(1170) ::borogove::Client _gthis1 = _gthis;
+HXLINE(1171) ::String _hx_tmp2 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(1170) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp2)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("enable",83,ae,87,f8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:carbons:2",02,86,9e,df))))->up());
-HXLINE( 994) _gthis->sendPresence(null(),null());
-HXLINE( 995) _gthis->joinAllChannels();
- }
-HXLINE( 997) _gthis->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 998) ::haxe::Log_obj::trace(HX_("SYNC: done",c3,a6,82,dd),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),998,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("enable",83,ae,87,f8), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:carbons:2",02,86,9e,df))),null())->up());
+HXLINE(1176) ::borogove::Client _gthis2 = _gthis;
+HXLINE(1177) ::String _hx_tmp3 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(1176) _gthis2->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp3)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("prefs",30,48,88,c8), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("default",c1,d8,c3,9b),HX_("always",cf,0e,d7,46))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:mam:2",f5,ef,8c,da))),null())->up());
+HXLINE(1181) _gthis->sendPresence(null(),null());
+HXLINE(1182) _gthis->joinAllChannels();
+ }
+HXLINE(1185) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_2(_gthis)),5000);
+HXLINE(1186) _gthis->channelPinger->startTimer();
+HXLINE(1187) _gthis->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE(1188) ::haxe::Log_obj::trace(HX_("SYNC: done",c3,a6,82,dd),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1188,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_963_onConnected)
-HXLINE( 964) if (!(syncFinished)) {
-HXLINE( 965) ::haxe::Log_obj::trace(HX_("SYNC: failed",3e,4e,5e,fa),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),965,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 966) _gthis->inSync = false;
-HXLINE( 967) _gthis->stream->disconnect();
-HXLINE( 969) return;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1143_onConnected)
+HXLINE(1144) if (!(syncFinished)) {
+HXLINE(1145) ::haxe::Log_obj::trace(HX_("SYNC: failed",3e,4e,5e,fa),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1145,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE(1146) _gthis->inSync = false;
+HXLINE(1147) _gthis->stream->disconnect();
+HXLINE(1149) return;
}
-HXLINE( 972) ::haxe::Log_obj::trace(HX_("SYNC: details",21,c5,8e,ac),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),972,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 973) _gthis->inSync = true;
-HXLINE( 974) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN( 974) ::String _hx_tmp = _gthis->accountId();
-HXDLIN( 974) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getChatsUnreadDetails(_gthis1,_hx_tmp,_gthis->chats), ::Dynamic(new _hx_Closure_1(_gthis)),null());
+HXLINE(1152) ::haxe::Log_obj::trace(HX_("SYNC: details",21,c5,8e,ac),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1152,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE(1153) _gthis->inSync = true;
+HXLINE(1154) _gthis->firstSync = false;
+HXLINE(1155) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1155) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(1155) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getChatsUnreadDetails(_gthis1,_hx_tmp,_gthis->chats), ::Dynamic(new _hx_Closure_3(_gthis)),null());
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_961_onConnected)
-HXLINE( 962) ::haxe::Log_obj::trace(HX_("SYNC: MAM",58,33,e1,36),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),962,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 963) _gthis->sync( ::Dynamic(new _hx_Closure_2(_gthis)));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1141_onConnected)
+HXLINE(1142) ::haxe::Log_obj::trace(HX_("SYNC: MAM",58,33,e1,36),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1142,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE(1143) _gthis->sync( ::Dynamic(new _hx_Closure_4(_gthis)));
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_924_onConnected)
-HXDLIN( 924) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 925) bool _hx_tmp;
-HXDLIN( 925) if (::hx::IsNotNull( data )) {
-HXLINE( 925) _hx_tmp = ::hx::IsNotNull( data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1092_onConnected)
+HXDLIN(1092) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1093) bool _hx_tmp;
+HXDLIN(1093) if (::hx::IsNotNull( data )) {
+HXLINE(1093) _hx_tmp = ::hx::IsNotNull( data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
}
else {
-HXLINE( 925) _hx_tmp = false;
+HXLINE(1093) _hx_tmp = false;
}
-HXDLIN( 925) if (_hx_tmp) {
-HXLINE( 926) this->jid = ::borogove::JID_obj::parse(( (::String)(data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
-HXLINE( 927) bool _hx_tmp1;
-HXDLIN( 927) if (::hx::IsNull( this->stream->clientId )) {
-HXLINE( 927) _hx_tmp1 = !(this->jid->isBare());
+HXDLIN(1093) if (_hx_tmp) {
+HXLINE(1094) this->jid = ::borogove::JID_obj::parse(( (::String)(data->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
+HXLINE(1095) bool _hx_tmp1;
+HXDLIN(1095) if (::hx::IsNull( this->stream->clientId )) {
+HXLINE(1095) _hx_tmp1 = !(this->jid->isBare());
}
else {
-HXLINE( 927) _hx_tmp1 = false;
+HXLINE(1095) _hx_tmp1 = false;
}
-HXDLIN( 927) if (_hx_tmp1) {
-HXLINE( 927) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN( 927) ::String _hx_tmp3 = this->jid->asBare()->asString();
-HXDLIN( 927) ::String _hx_tmp4;
-HXDLIN( 927) ::String tmp = this->stream->clientId;
-HXDLIN( 927) if (::hx::IsNotNull( tmp )) {
-HXLINE( 927) _hx_tmp4 = tmp;
+HXDLIN(1095) if (_hx_tmp1) {
+HXLINE(1095) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1095) ::String _hx_tmp3 = this->jid->asBare()->asString();
+HXDLIN(1095) ::String _hx_tmp4;
+HXDLIN(1095) ::String tmp = this->stream->clientId;
+HXDLIN(1095) if (::hx::IsNotNull( tmp )) {
+HXLINE(1095) _hx_tmp4 = tmp;
}
else {
-HXLINE( 927) _hx_tmp4 = this->jid->resource;
- }
-HXDLIN( 927) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,this->displayName(),null());
- }
- }
-HXLINE( 930) if (( (bool)(data->__Field(HX_("resumed",17,0e,58,6b),::hx::paccDynamic)) )) {
-HXLINE( 931) this->inSync = true;
-HXLINE( 932) if (this->firstSync) {
-HXLINE( 935) int _g = 0;
-HXDLIN( 935) ::Array< ::Dynamic> _g1 = this->getChats();
-HXDLIN( 935) while((_g < _g1->length)){
-HXLINE( 935) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN( 935) _g = (_g + 1);
-HXLINE( 936) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 937) if (::hx::IsNotNull( channel )) {
-HXLINE( 938) channel->inSync = true;
- }
- }
- }
-HXLINE( 943) this->stream->emitSMupdates = true;
-HXLINE( 944) this->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 945) this->trigger(HX_("chats/update",3d,8e,1d,14),this->chats);
-HXLINE( 946) return ::borogove::EventResult_obj::EventHandled_dyn();
- }
-HXLINE( 950) ::Dynamic _hx_tmp5 = this->persistence;
-HXDLIN( 950) ::borogove::Persistence_obj::clearMemberPresence(_hx_tmp5,this->accountId(),null());
-HXLINE( 951) {
-HXLINE( 951) int _g2 = 0;
-HXDLIN( 951) ::Array< ::Dynamic> _g3 = this->chats;
-HXDLIN( 951) while((_g2 < _g3->length)){
-HXLINE( 951) ::borogove::Chat chat1 = _g3->__get(_g2).StaticCast< ::borogove::Chat >();
-HXDLIN( 951) _g2 = (_g2 + 1);
-HXLINE( 952) ::borogove::DirectChat directChat = ( ( ::borogove::DirectChat)(::borogove::_Util::Util_Fields__obj::downcast(chat1,::hx::ClassOf< ::borogove::DirectChat >())) );
-HXLINE( 953) if (::hx::IsNotNull( directChat )) {
-HXLINE( 953) directChat->presence->clear();
- }
- }
- }
-HXLINE( 956) this->discoverServices( ::borogove::JID_obj::__alloc( HX_CTX ,null(),this->jid->domain,null(),null()),null(), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 959) this->rosterGet();
-HXLINE( 960) ::haxe::Log_obj::trace(HX_("SYNC: bookmarks",1c,91,b3,0d),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),960,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
-HXLINE( 961) this->bookmarksGet( ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE(1003) this->trigger(HX_("session-started",0a,96,19,bc), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE(1005) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE(1095) _hx_tmp4 = this->jid->resource;
+ }
+HXDLIN(1095) ::String _hx_tmp5 = this->displayName();
+HXDLIN(1095) ::borogove::Persistence_obj::storeLogin(_hx_tmp2,_hx_tmp3,_hx_tmp4,_hx_tmp5,this->rosterVer,null());
+ }
+ }
+HXLINE(1098) if (( (bool)(data->__Field(HX_("resumed",17,0e,58,6b),::hx::paccDynamic)) )) {
+HXLINE(1099) this->inSync = true;
+HXLINE(1100) if (this->firstSync) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1119_onConnected)
+HXLINE(1119) _gthis->checkForResends();
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(1103) {
+HXLINE(1103) int _g = 0;
+HXDLIN(1103) ::Array< ::Dynamic> _g1 = this->getChannels();
+HXDLIN(1103) while((_g < _g1->length)){
+HXLINE(1103) ::borogove::Channel channel = _g1->__get(_g).StaticCast< ::borogove::Channel >();
+HXDLIN(1103) _g = (_g + 1);
+HXLINE(1104) bool _hx_tmp6;
+HXDLIN(1104) if (::hx::IsNotNull( channel->self )) {
+HXLINE(1104) _hx_tmp6 = ::hx::IsNotNull( channel->sortId );
+ }
+ else {
+HXLINE(1104) _hx_tmp6 = false;
+ }
+HXDLIN(1104) channel->inSync = _hx_tmp6;
+HXLINE(1105) ::haxe::Log_obj::trace(HX_("SYNC: channel inSync",1e,d0,1c,33), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("inSync",e0,98,c5,88),channel->inSync)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),channel->chatId)
+ ->setFixed(2,HX_("isJoined",53,76,73,e9),::hx::IsNotNull( channel->self ))
+ ->setFixed(3,HX_("reason",c4,0f,9d,fc),HX_("resume from disk",a0,91,b6,7f))
+ ->setFixed(4,HX_("sortId",d9,7a,37,30),channel->sortId))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("onConnected",aa,c5,39,c5))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1105)));
+HXLINE(1115) if (!(channel->inSync)) {
+HXLINE(1115) channel->join(null());
+ }
+ }
+ }
+HXLINE(1117) this->firstSync = false;
+HXLINE(1119) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),5000);
+ }
+HXLINE(1122) this->stream->emitSMupdates = true;
+HXLINE(1123) this->channelPinger->startTimer();
+HXLINE(1124) this->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE(1125) this->trigger(HX_("chats/update",3d,8e,1d,14),this->chats);
+HXLINE(1126) return ::borogove::EventResult_obj::EventHandled_dyn();
+ }
+HXLINE(1130) ::Dynamic _hx_tmp7 = this->persistence;
+HXDLIN(1130) ::borogove::Persistence_obj::clearMemberPresence(_hx_tmp7,this->accountId(),null());
+HXLINE(1131) {
+HXLINE(1131) int _g2 = 0;
+HXDLIN(1131) ::Array< ::Dynamic> _g3 = this->chats;
+HXDLIN(1131) while((_g2 < _g3->length)){
+HXLINE(1131) ::borogove::Chat chat = _g3->__get(_g2).StaticCast< ::borogove::Chat >();
+HXDLIN(1131) _g2 = (_g2 + 1);
+HXLINE(1132) ::borogove::DirectChat directChat = ( ( ::borogove::DirectChat)(::borogove::_Util::Util_Fields__obj::downcast(chat,::hx::ClassOf< ::borogove::DirectChat >())) );
+HXLINE(1133) if (::hx::IsNotNull( directChat )) {
+HXLINE(1133) directChat->presence->clear();
+ }
+ }
+ }
+HXLINE(1136) this->discoverServices( ::borogove::JID_obj::__alloc( HX_CTX ,null(),this->jid->domain,null(),null()),null(), ::Dynamic(new _hx_Closure_1(_gthis)));
+HXLINE(1139) this->rosterGet();
+HXLINE(1140) ::haxe::Log_obj::trace(HX_("SYNC: bookmarks",1c,91,b3,0d),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1140,HX_("borogove.Client",18,dc,e6,c0),HX_("onConnected",aa,c5,39,c5)));
+HXLINE(1141) this->bookmarksGet( ::Dynamic(new _hx_Closure_5(_gthis)));
+HXLINE(1193) this->trigger(HX_("session-started",0a,96,19,bc), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE(1195) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,onConnected,return )
-::Dynamic Client_obj::prepareAttachment( ::borogove::AttachmentSource source){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::AttachmentSource,source, ::borogove::Client,_gthis) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> services){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis, ::borogove::AttachmentSource,source,::Array< ::Dynamic>,services, ::haxe::crypto::Sha256,sha256) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::crypto::Sha256,sha256) HXARGC(1)
- ::tink::streams::Handled _hx_run(::Dynamic chunk){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1018_prepareAttachment)
-HXLINE(1019) ::haxe::crypto::Sha256 sha2561 = sha256;
-HXDLIN(1019) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk));
-HXLINE(1020) return ::tink::streams::Handled_obj::Resume_dyn();
+::Dynamic Client_obj::fetchAttachment( ::borogove::ChatAttachment attachment){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatAttachment,attachment) HXARGC(1)
+ ::borogove::ChatAttachment _hx_run( ::Dynamic r){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1203_fetchAttachment)
+HXLINE(1204) if (::hx::IsNotNull( r )) {
+HXLINE(1205) attachment->cachedAt = ( (::String)(r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) );
+HXLINE(1206) if ((attachment->hashes->length < 1)) {
+HXLINE(1206) attachment->hashes->push( ::Dynamic(r->__Field(HX_("hash",ce,2f,08,45),::hx::paccDynamic)));
+ }
+ }
+HXLINE(1208) return attachment;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1199_fetchAttachment)
+HXLINE(1201) if (::hx::IsNotNull( attachment->cachedAt )) {
+HXLINE(1201) return ::thenshim::_Promise::Promise_Impl__obj::resolve(attachment);
+ }
+HXLINE(1203) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchUris(attachment->uris->copy()), ::Dynamic(new _hx_Closure_0(attachment)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,fetchAttachment,return )
+
+::Dynamic Client_obj::fetchUris(::Array< ::String > uris){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1212_fetchUris)
+HXDLIN(1212) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1213) if ((uris->length < 1)) {
+HXLINE(1213) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+HXLINE(1215) ::String uri = ( (::String)(uris->shift()) );
+HXLINE(1216) ::Dynamic aesgcm = ::borogove::_XEP0454::XEP0454_Fields__obj::parse(uri);
+HXLINE(1217) if (::hx::IsNotNull( aesgcm )) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::Dynamic,aesgcm) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::io::Bytes data){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::io::Bytes,data) HXARGC(1)
+ ::Dynamic _hx_run(::String id){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1219_fetchUris)
+HXLINE(1219) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("id",db,5b,00,00),id)
+ ->setFixed(1,HX_("hash",ce,2f,08,45),::borogove::Hash_obj::sha256(data)));
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_1, ::borogove::AttachmentSource,source, ::borogove::Client,_gthis, ::Dynamic,resolve, ::Dynamic,reject,::Array< ::Dynamic>,services, ::haxe::crypto::Sha256,sha256) HXARGC(1)
- void _hx_run( ::tink::streams::Conclusion o){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1021_prepareAttachment)
-HXLINE(1021) if ((o->_hx_getIndex() == 3)) {
-HXLINE(1023) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1023) ::borogove::AttachmentSource source1 = source;
-HXDLIN(1023) ::Array< ::Dynamic> services1 = services;
-HXDLIN(1023) ::Array< unsigned char > _hx_tmp = sha256->digest()->b;
-HXDLIN(1023) _gthis1->prepareAttachmentFor(source1,services1,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b),_hx_tmp)),resolve);
- }
- else {
-HXLINE(1025) ::haxe::Log_obj::trace(HX_("Error computing attachment hash",07,33,1d,57), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,o))
- ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("prepareAttachment",4a,6c,4b,52))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1025)));
-HXLINE(1026) reject(o);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1219_fetchUris)
+HXLINE(1219) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1219) ::String aesgcm1 = ( (::String)(aesgcm->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)) );
+HXDLIN(1219) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis1,aesgcm1,::borogove::_Source::Source_Impl__obj::ofTinkSource( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(data))))), ::Dynamic(new _hx_Closure_0(data)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::Client,_gthis,::Array< ::String >,uris) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1220_fetchUris)
+HXLINE(1221) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN(1221) ::String _hx_tmp1;
+HXDLIN(1221) if (::hx::IsNull( e )) {
+HXLINE(1221) _hx_tmp1 = HX_("null",87,9e,0e,49);
+ }
+ else {
+HXLINE(1221) _hx_tmp1 = ::Std_obj::string(e);
+ }
+HXDLIN(1221) _hx_tmp(HX_("fetchAttachment",bd,6c,63,61), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_hx_tmp1))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("fetchUris",e1,b8,57,24))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1221)));
+HXLINE(1222) return _gthis->fetchUris(uris);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1218) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::_XEP0454::XEP0454_Fields__obj::fetch(aesgcm), ::Dynamic(new _hx_Closure_1(_gthis,aesgcm)), ::Dynamic(new _hx_Closure_2(_gthis,uris)));
+ }
+HXLINE(1227) bool _hx_tmp;
+HXDLIN(1227) if (!(::StringTools_obj::startsWith(uri,HX_("http://",52,75,cd,5a)))) {
+HXLINE(1227) _hx_tmp = ::StringTools_obj::startsWith(uri,HX_("https://",cf,b4,ae,3e));
+ }
+ else {
+HXLINE(1227) _hx_tmp = true;
+ }
+HXDLIN(1227) if (_hx_tmp) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5,::String,uri, ::borogove::IncrementalHash,sha256) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::Dynamic,resolve, ::Dynamic,reject, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome rOrErr){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1230_fetchUris)
+HXLINE(1230) switch((int)(rOrErr->_hx_getIndex())){
+ case (int)0: {
+HXLINE(1231) ::tink::http::IncomingResponse _g = ( ( ::tink::http::IncomingResponse)(rOrErr->_hx_getObject(0)) );
+HXLINE(1232) if ((( ( ::tink::http::ResponseHeaderBase)(_g->header) )->statusCode != 200)) {
+HXLINE(1233) reject(( ( ::tink::http::ResponseHeaderBase)(_g->header) )->statusCode);
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run(::Dynamic chunk){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1241_fetchUris)
+HXLINE(1242) ::borogove::IncrementalHash sha2561 = sha256;
+HXDLIN(1242) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk)->b);
+HXLINE(1243) return chunk;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1235) ::String mime;
+HXDLIN(1235) ::tink::core::Outcome _g1 = ( ( ::tink::http::Header)(_g->header) )->contentType();
+HXDLIN(1235) if ((_g1->_hx_getIndex() == 0)) {
+HXLINE(1235) mime = ( ( ::tink::http::ContentType)(_g1->_hx_getObject(0)) )->toString();
+ }
+ else {
+HXLINE(1235) mime = HX_("application/octet-stream",5d,f8,82,30);
+ }
+HXLINE(1239) ::Dynamic resolve1 = resolve;
+HXLINE(1241) ::Dynamic _hx_tmp = ::tink::io::_Source::Source_Impl__obj::chunked(_g->body);
+HXLINE(1239) resolve1( ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("body",a2,7a,1b,41),::borogove::_Source::Source_Impl__obj::ofTinkSource(::tink::streams::StreamObject_obj::map(_hx_tmp,::tink::streams::_Stream::Mapping_Impl__obj::ofPlain( ::Dynamic(new _hx_Closure_3(sha256))))))
+ ->setFixed(1,HX_("mime",b4,4d,5c,48),mime)));
+ }
+ }
+ break;
+ case (int)1: {
+HXLINE(1248) reject(rOrErr->_hx_getObject(0));
+ }
+ break;
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1018_prepareAttachment)
-HXLINE(1018) ::String name = source->name;
-HXDLIN(1018) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
-HXDLIN(1018) ::Dynamic options = null();
-HXDLIN(1018) options = ::Dynamic(::hx::Anon_obj::Create(0));
-HXDLIN(1018) ::Dynamic this1 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
-HXDLIN(1018) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
-HXDLIN(1018) int this2;
-HXDLIN(1018) if (::hx::IsNull( _g )) {
-HXLINE(1018) this2 = 65536;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1230_fetchUris)
+HXLINE(1230) ::Dynamic options = null();
+HXDLIN(1230) ::tink::http::Fetch_obj::fetch(::tink::_Url::Url_Impl__obj::fromString(uri),options)->handle( ::Dynamic(new _hx_Closure_4(resolve,reject,sha256)));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic r){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run(::String id){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1251_fetchUris)
+HXLINE(1251) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("id",db,5b,00,00),id)
+ ->setFixed(1,HX_("hash",ce,2f,08,45),sha256->digest()));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1251_fetchUris)
+HXLINE(1251) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis->persistence, ::Dynamic(r->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)), ::Dynamic(r->__Field(HX_("body",a2,7a,1b,41),::hx::paccDynamic))), ::Dynamic(new _hx_Closure_6(sha256)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_8, ::borogove::Client,_gthis,::Array< ::String >,uris) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic e){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1252_fetchUris)
+HXLINE(1252) return _gthis->fetchUris(uris);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1228) ::borogove::IncrementalHash sha256 = ::borogove::Hash_obj::sha256incr();
+HXLINE(1229) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(uri,sha256))), ::Dynamic(new _hx_Closure_7(_gthis,sha256)), ::Dynamic(new _hx_Closure_8(_gthis,uris)));
+ }
+HXLINE(1256) return this->fetchUris(uris);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Client_obj,fetchUris,return )
+
+::Dynamic Client_obj::prepareAttachment( ::borogove::AttachmentSource source,::hx::Null< bool > __o_encrypt){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis, ::borogove::AttachmentSource,source,bool,encrypt) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> services){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::AttachmentSource,source, ::borogove::Client,_gthis,::Array< ::Dynamic>,services) HXARGC(2)
+ ::Dynamic _hx_run(::Dynamic tsource,int size){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1273_prepareAttachment)
+HXLINE(1273) return _gthis->prepareAttachmentFor(tsource,source->name,size,source->type,services,null());
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run(::Dynamic chunk){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1282_prepareAttachment)
+HXLINE(1283) ::borogove::IncrementalHash sha2561 = sha256;
+HXDLIN(1283) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk)->b);
+HXLINE(1284) return chunk;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
+ ::Dynamic _hx_run(::cpp::VirtualArray results){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1299_prepareAttachment)
+HXLINE(1299) return results->__get(0);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1270_prepareAttachment)
+HXLINE(1271) ::borogove::IncrementalHash sha256 = ::borogove::Hash_obj::sha256incr();
+HXLINE(1272) ::Dynamic httpPut = ::Dynamic(new _hx_Closure_0(source,_gthis,services));
+HXLINE(1282) ::String name = source->name;
+HXDLIN(1282) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
+HXDLIN(1282) ::Dynamic options = null();
+HXDLIN(1282) options = ::Dynamic(::hx::Anon_obj::Create(0));
+HXDLIN(1282) ::Dynamic tinkSource = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
+HXDLIN(1282) ::Dynamic _g = options->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
+HXDLIN(1282) int tinkSource1;
+HXDLIN(1282) if (::hx::IsNull( _g )) {
+HXLINE(1282) tinkSource1 = 65536;
+ }
+ else {
+HXLINE(1282) tinkSource1 = ( (int)(_g) );
+ }
+HXDLIN(1282) ::Dynamic tinkSource2 = ::tink::io::_Source::Source_Impl__obj::chunked( ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,tinkSource,::haxe::io::Bytes_obj::alloc(tinkSource1),0));
+HXDLIN(1282) ::Dynamic tinkSource3 = ::tink::streams::StreamObject_obj::map(tinkSource2,::tink::streams::_Stream::Mapping_Impl__obj::ofPlain( ::Dynamic(new _hx_Closure_1(sha256))));
+HXLINE(1289) ::Dynamic _hx_tmp;
+HXDLIN(1289) if (encrypt) {
+HXLINE(1290) if ((source->size < (int)1000000000)) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::AttachmentSource,source, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::borogove::ChatAttachment _hx_run( ::Dynamic o){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1291_prepareAttachment)
+HXLINE(1291) ::String source1 = source->name;
+HXDLIN(1291) ::String source2 = source->type;
+HXDLIN(1291) int o1 = ( (int)(o->__Field(HX_("size",c1,a0,53,4c),::hx::paccDynamic)) );
+HXDLIN(1291) ::Array< ::String > _hx_tmp = ::Array_obj< ::String >::__new(1)->init(0, ::Dynamic(o->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic)));
+HXDLIN(1291) return ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,source1,source2,o1,_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0,sha256->digest()));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1289) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::_XEP0454::XEP0454_Fields__obj::put(tinkSource3,httpPut), ::Dynamic(new _hx_Closure_2(source,sha256)),null());
}
else {
-HXLINE(1018) this2 = ( (int)(_g) );
+HXLINE(1289) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Attachment is too big for current encryption options",84,54,76,c3));
}
-HXDLIN(1018) ::Dynamic this3 = ::tink::io::_Source::Source_Impl__obj::chunked( ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,this1,::haxe::io::Bytes_obj::alloc(this2),0));
-HXDLIN(1018) ::tink::streams::StreamObject_obj::forEach(this3,::tink::streams::_Stream::Handler_Impl__obj::ofSafeSync( ::Dynamic(new _hx_Closure_0(sha256))))->handle( ::Dynamic(new _hx_Closure_1(source,_gthis,resolve,reject,services,sha256)));
}
- HX_END_LOCAL_FUNC2((void))
+ else {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::AttachmentSource,source, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::borogove::ChatAttachment _hx_run(::String uri){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1296_prepareAttachment)
+HXLINE(1296) ::String source1 = source->name;
+HXDLIN(1296) ::String source2 = source->type;
+HXDLIN(1296) int source3 = source->size;
+HXDLIN(1296) return ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,source1,source2,source3,::Array_obj< ::String >::__new(1)->init(0,uri),::Array_obj< ::Dynamic>::__new(1)->init(0,sha256->digest()));
+ }
+ HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1015_prepareAttachment)
-HXLINE(1016) ::haxe::crypto::Sha256 sha256 = ::haxe::crypto::Sha256_obj::__alloc( HX_CTX );
-HXLINE(1017) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,source,services,sha256)));
+HXLINE(1289) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::then(httpPut(tinkSource3,source->size), ::Dynamic(new _hx_Closure_3(source,sha256)),null());
+ }
+HXLINE(1288) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(::cpp::VirtualArray_obj::__new(2)->init(0,_hx_tmp)->init(1,::borogove::Persistence_obj::storeMedia(_gthis->persistence,source->type,::borogove::_Source::Source_Impl__obj::ofTinkSource(tinkSource3)))), ::Dynamic(new _hx_Closure_4()),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1014_prepareAttachment)
-HXDLIN(1014) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1015) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1015) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::findServicesWithFeature(_hx_tmp,this->accountId(),HX_("urn:xmpp:http:upload:0",0d,db,46,68)), ::Dynamic(new _hx_Closure_3(source,_gthis)),null());
+ bool encrypt = __o_encrypt.Default(true);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1269_prepareAttachment)
+HXDLIN(1269) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1270) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1270) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::findServicesWithFeature(_hx_tmp,this->accountId(),HX_("urn:xmpp:http:upload:0",0d,db,46,68)), ::Dynamic(new _hx_Closure_5(_gthis,source,encrypt)),null());
}
-HX_DEFINE_DYNAMIC_FUNC1(Client_obj,prepareAttachment,return )
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,prepareAttachment,return )
-void Client_obj::prepareAttachment__fromC( ::borogove::AttachmentSource source,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+void Client_obj::prepareAttachment__fromC( ::borogove::AttachmentSource source,::hx::Null< bool > __o_encrypt,::cpp::Function< void (void*,void*) > handler,void* handler__context){
+ bool encrypt = __o_encrypt.Default(true);
HX_STACKFRAME(&_hx_pos_afe14372debdebc6_365_prepareAttachment__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXDLIN( 365) this->prepareAttachment(source);
+HXDLIN( 365) this->prepareAttachment(source,encrypt);
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
@@ -2949,115 +3647,215 @@ HXDLIN( 365) handler(null(),handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->prepareAttachment(source), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->prepareAttachment(source,encrypt), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
-void Client_obj::prepareAttachmentFor( ::borogove::AttachmentSource source,::Array< ::Dynamic> services,::Array< ::Dynamic> hashes, ::Dynamic callback){
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_2, ::borogove::AttachmentSource,source, ::borogove::Client,_gthis,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,services, ::borogove::queries::HttpUploadSlot,httpUploadSlot, ::Dynamic,callback) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1039_prepareAttachmentFor)
-HXLINE(1040) ::Dynamic slot = httpUploadSlot->getResult();
-HXLINE(1041) if (::hx::IsNull( slot )) {
-HXLINE(1042) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1042) ::borogove::AttachmentSource source1 = source;
-HXDLIN(1042) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
-HXDLIN(1042) _gthis1->prepareAttachmentFor(source1,_hx_tmp,hashes,callback);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::Dynamic _hx_run( ::tink::core::TypedError e){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1044_prepareAttachmentFor)
-HXLINE(1044) ::haxe::Log_obj::trace(HX_("prepareAttachmentFor ERROR",a7,5d,62,48), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,e))
- ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("prepareAttachmentFor",df,5c,bf,82))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1044)));
-HXDLIN(1044) HX_STACK_DO_THROW(e);
-HXDLIN(1044) return null();
+::Dynamic Client_obj::prepareAttachmentFor(::Dynamic source,::String name,int size,::String mime,::Array< ::Dynamic> services,::Dynamic httpClient){
+ HX_BEGIN_LOCAL_FUNC_S9(::hx::LocalFunc,_hx_Closure_3,::String,name, ::borogove::Client,_gthis,::Dynamic,source,::String,mime,::Dynamic,httpClient,::Array< ::Dynamic>,services,int,size, ::borogove::queries::HttpUploadSlot,httpUploadSlot,::String,serviceId) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S11(::hx::LocalFunc,_hx_Closure_2,::String,name,::Dynamic,source, ::borogove::Client,_gthis,::String,mime,::Dynamic,httpClient, ::Dynamic,resolve, ::Dynamic,reject,::Array< ::Dynamic>,services,int,size, ::borogove::queries::HttpUploadSlot,httpUploadSlot,::String,serviceId) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1314_prepareAttachmentFor)
+HXLINE(1315) ::Dynamic slot = httpUploadSlot->getResult();
+HXLINE(1316) if (::hx::IsNull( slot )) {
+HXLINE(1317) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1317) ::Dynamic source1 = source;
+HXDLIN(1317) ::String name1 = name;
+HXDLIN(1317) int size1 = size;
+HXDLIN(1317) ::String mime1 = mime;
+HXDLIN(1317) ::Array< ::Dynamic> services1 = services;
+HXDLIN(1317) ::Dynamic _hx_tmp = _gthis1->tryNextAttachmentService(source1,name1,size1,mime1,services1, ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("invalid-slot",54,fe,85,47),HX_("HTTP Upload service returned an invalid or missing upload slot",e3,49,5f,42),serviceId,null(),null(),null()),httpClient);
+HXDLIN(1317) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp,resolve,reject);
}
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::Dynamic,slot, ::borogove::AttachmentSource,source,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,services, ::Dynamic,callback) HXARGC(1)
- void _hx_run( ::tink::core::Outcome o){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1045_prepareAttachmentFor)
-HXLINE(1045) if ((o->_hx_getIndex() == 0)) {
-HXLINE(1046) if ((( ( ::tink::http::ResponseHeaderBase)(( ( ::tink::http::Message)(o->_hx_getObject(0)) )->header) )->statusCode == 201)) {
-HXLINE(1047) callback( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,source->name,source->type,source->size,::Array_obj< ::String >::__new(1)->init(0, ::Dynamic(slot->__Field(HX_("get",96,80,4e,00),::hx::paccDynamic))),hashes));
+ else {
+ HX_BEGIN_LOCAL_FUNC_S11(::hx::LocalFunc,_hx_Closure_0,::String,name,::Dynamic,source, ::borogove::Client,_gthis, ::Dynamic,slot,::String,mime,::Dynamic,httpClient, ::Dynamic,resolve, ::Dynamic,reject,::Array< ::Dynamic>,services,int,size,::String,serviceId) HXARGC(1)
+ void _hx_run(int statusCode){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1324_prepareAttachmentFor)
+HXLINE(1324) if ((statusCode == 201)) {
+HXLINE(1325) resolve( ::Dynamic(slot->__Field(HX_("get",96,80,4e,00),::hx::paccDynamic)));
}
else {
-HXLINE(1049) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1049) ::borogove::AttachmentSource source1 = source;
-HXDLIN(1049) ::Array< ::Dynamic> _hx_tmp = services->slice(1,null());
-HXDLIN(1049) _gthis1->prepareAttachmentFor(source1,_hx_tmp,hashes,callback);
+HXLINE(1327) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1327) ::Dynamic source1 = source;
+HXDLIN(1327) ::String name1 = name;
+HXDLIN(1327) int size1 = size;
+HXDLIN(1327) ::String mime1 = mime;
+HXDLIN(1327) ::Array< ::Dynamic> services1 = services;
+HXDLIN(1327) ::Dynamic _hx_tmp = _gthis1->tryNextAttachmentService(source1,name1,size1,mime1,services1, ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("http-failure",45,e3,c1,aa),(HX_("HTTP Upload PUT failed with status ",7f,eb,8e,50) + statusCode),serviceId,statusCode,null(),null()),httpClient);
+HXDLIN(1327) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp,resolve,reject);
}
}
- else {
-HXLINE(1049) ::borogove::Client _gthis2 = _gthis;
-HXDLIN(1049) ::borogove::AttachmentSource source2 = source;
-HXDLIN(1049) ::Array< ::Dynamic> _hx_tmp1 = services->slice(1,null());
-HXDLIN(1049) _gthis2->prepareAttachmentFor(source2,_hx_tmp1,hashes,callback);
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_BEGIN_LOCAL_FUNC_S10(::hx::LocalFunc,_hx_Closure_1,::String,name,::Dynamic,source, ::borogove::Client,_gthis,::String,mime,::Dynamic,httpClient, ::Dynamic,resolve, ::Dynamic,reject,::Array< ::Dynamic>,services,int,size,::String,serviceId) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic e){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1334_prepareAttachmentFor)
+HXLINE(1335) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1335) ::Dynamic source1 = source;
+HXDLIN(1335) ::String name1 = name;
+HXDLIN(1335) int size1 = size;
+HXDLIN(1335) ::String mime1 = mime;
+HXDLIN(1335) ::Array< ::Dynamic> services1 = services;
+HXDLIN(1335) ::Dynamic _hx_tmp = _gthis1->tryNextAttachmentService(source1,name1,size1,mime1,services1, ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("network-failure",6b,a2,0e,cf),HX_("HTTP Upload PUT request failed",c6,58,79,66),serviceId,null(),e,null()),httpClient);
+HXLINE(1334) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp,resolve,reject);
}
- }
- HX_END_LOCAL_FUNC1((void))
+ HX_END_LOCAL_FUNC1(return)
-HXLINE(1044) ::Dynamic url = ::tink::_Url::Url_Impl__obj::fromString(( (::String)(slot->__Field(HX_("put",cf,62,55,00),::hx::paccDynamic)) ));
-HXDLIN(1044) ::Array< ::Dynamic> slot1 = ( (::Array< ::Dynamic>)(slot->__Field(HX_("putHeaders",37,9f,1e,a4),::hx::paccDynamic)) );
-HXDLIN(1044) ::String options = HX_("Content-Length",fa,f8,b6,65).toLowerCase();
-HXDLIN(1044) ::Array< ::Dynamic> options1 = slot1->concat(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,options,::tink::http::_Header::HeaderValue_Impl__obj::ofInt(source->size))));
-HXDLIN(1044) ::String name = source->name;
-HXDLIN(1044) ::haxe::io::Input input = ::sys::io::File_obj::read(source->path,null());
-HXDLIN(1044) ::Dynamic options2 = null();
-HXDLIN(1044) options2 = ::Dynamic(::hx::Anon_obj::Create(0));
-HXDLIN(1044) ::Dynamic options3 = ::tink::io::_Worker::Worker_Impl__obj::ensure( ::Dynamic(options2->__Field(HX_("worker",7e,30,9e,c9),::hx::paccDynamic)));
-HXDLIN(1044) ::Dynamic _g = options2->__Field(HX_("chunkSize",ce,cd,77,9f),::hx::paccDynamic);
-HXDLIN(1044) int options4;
-HXDLIN(1044) if (::hx::IsNull( _g )) {
-HXLINE(1044) options4 = 65536;
+HXLINE(1323) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->putAttachment(( (::String)(slot->__Field(HX_("put",cf,62,55,00),::hx::paccDynamic)) ),( (::Array< ::Dynamic>)(slot->__Field(HX_("putHeaders",37,9f,1e,a4),::hx::paccDynamic)) ),source,size,httpClient), ::Dynamic(new _hx_Closure_0(name,source,_gthis,slot,mime,httpClient,resolve,reject,services,size,serviceId)), ::Dynamic(new _hx_Closure_1(name,source,_gthis,mime,httpClient,resolve,reject,services,size,serviceId)));
}
- else {
-HXLINE(1044) options4 = ( (int)(_g) );
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1313_prepareAttachmentFor)
+HXLINE(1314) httpUploadSlot->onFinished( ::Dynamic(new _hx_Closure_2(name,source,_gthis,mime,httpClient,resolve,reject,services,size,httpUploadSlot,serviceId)));
+HXLINE(1345) _gthis->sendQuery(httpUploadSlot);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1303_prepareAttachmentFor)
+HXDLIN(1303) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1304) if ((services->length < 1)) {
+HXLINE(1305) ::haxe::Log_obj::trace(HX_("No HTTP upload service found",d1,5a,61,46),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1305,HX_("borogove.Client",18,dc,e6,c0),HX_("prepareAttachmentFor",df,5c,bf,82)));
+HXLINE(1306) return ::thenshim::_Promise::Promise_Impl__obj::reject( ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("no-service",e9,34,b7,26),HX_("No HTTP Upload service was discovered",d0,9e,b6,c2),null(),null(),null(),null()));
+ }
+HXLINE(1311) ::String serviceId = ( (::String)(services->__get(0)->__Field(HX_("serviceId",70,93,d4,bc),::hx::paccDynamic)) );
+HXLINE(1312) ::borogove::queries::HttpUploadSlot httpUploadSlot = ::borogove::queries::HttpUploadSlot_obj::__alloc( HX_CTX ,serviceId,name,size,mime);
+HXLINE(1313) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(name,_gthis,source,mime,httpClient,services,size,httpUploadSlot,serviceId)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC6(Client_obj,prepareAttachmentFor,return )
+
+::Dynamic Client_obj::putAttachment(::String url,::Array< ::Dynamic> headers,::Dynamic source,int size,::Dynamic httpClient){
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_3,::Dynamic,source,::Dynamic,httpClient,int,size,::Array< ::Dynamic>,headers,::String,url) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::Dynamic _hx_run( ::tink::core::TypedError e){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1354_putAttachment)
+HXLINE(1354) HX_STACK_DO_THROW(e);
+HXDLIN(1354) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,resolve, ::Dynamic,reject) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome o){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1356_putAttachment)
+HXLINE(1356) switch((int)(o->_hx_getIndex())){
+ case (int)0: {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve, ::Dynamic,reject, ::tink::http::IncomingResponse,res) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome body){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1358_putAttachment)
+HXLINE(1358) switch((int)(body->_hx_getIndex())){
+ case (int)0: {
+HXLINE(1359) resolve(( ( ::tink::http::ResponseHeaderBase)(res->header) )->statusCode);
+ }
+ break;
+ case (int)1: {
+HXLINE(1360) reject(body->_hx_getObject(0));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(1357) ::tink::http::IncomingResponse res = ( ( ::tink::http::IncomingResponse)(o->_hx_getObject(0)) );
+HXLINE(1358) ::tink::io::RealSourceTools_obj::all(res->body)->handle( ::Dynamic(new _hx_Closure_1(resolve,reject,res)));
+ }
+ break;
+ case (int)1: {
+HXLINE(1362) reject(o->_hx_getObject(0));
+ }
+ break;
}
-HXDLIN(1044) ::tink::http::_Fetch::FetchResponse_Impl__obj::all(::tink::http::Fetch_obj::fetch(url, ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("method",e1,f6,5a,09),HX_("PUT",af,fe,3c,00))
- ->setFixed(1,HX_("body",a2,7a,1b,41),::tink::io::RealSourceTools_obj::idealize( ::tink::io::std::InputSource_obj::__alloc( HX_CTX ,name,input,options3,::haxe::io::Bytes_obj::alloc(options4),0), ::Dynamic(new _hx_Closure_0())))
- ->setFixed(2,HX_("headers",46,52,08,63),options1))))->handle( ::Dynamic(new _hx_Closure_1(_gthis,slot,source,hashes,services,callback)));
}
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1351_putAttachment)
+HXLINE(1351) ::Dynamic url1 = ::tink::_Url::Url_Impl__obj::fromString(url);
+HXLINE(1353) ::Array< ::Dynamic> headers1 = headers;
+HXDLIN(1353) ::String options = HX_("Content-Length",fa,f8,b6,65).toLowerCase();
+HXDLIN(1353) ::Array< ::Dynamic> options1 = headers1->concat(::Array_obj< ::Dynamic>::__new(1)->init(0, ::tink::http::HeaderField_obj::__alloc( HX_CTX ,options,::tink::http::_Header::HeaderValue_Impl__obj::ofInt(size))));
+HXLINE(1354) ::Dynamic options2 = ::tink::io::RealSourceTools_obj::idealize(source, ::Dynamic(new _hx_Closure_0()));
+HXLINE(1355) ::tink::http::ClientType options3;
+HXDLIN(1355) if (::hx::IsNull( httpClient )) {
+HXLINE(1355) options3 = null();
+ }
+ else {
+HXLINE(1355) options3 = ::tink::http::ClientType_obj::Custom(httpClient);
+ }
+HXLINE(1351) ::tink::http::Fetch_obj::fetch(url1, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("method",e1,f6,5a,09),HX_("PUT",af,fe,3c,00))
+ ->setFixed(1,HX_("client",4b,ca,4f,0a),options3)
+ ->setFixed(2,HX_("body",a2,7a,1b,41),options2)
+ ->setFixed(3,HX_("headers",46,52,08,63),options1)))->handle( ::Dynamic(new _hx_Closure_2(resolve,reject)));
}
- HX_END_LOCAL_FUNC0((void))
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1350_putAttachment)
+HXDLIN(1350) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(source,httpClient,size,headers,url)));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC5(Client_obj,putAttachment,return )
+
+::Dynamic Client_obj::tryNextAttachmentService(::Dynamic source,::String name,int size,::String mime,::Array< ::Dynamic> services, ::borogove::AttachmentUploadError failure,::Dynamic httpClient){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run(::String result){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1380_tryNextAttachmentService)
+HXLINE(1380) return result;
+ }
+ HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1032_prepareAttachmentFor)
-HXDLIN(1032) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1033) if ((services->length < 1)) {
-HXLINE(1034) ::haxe::Log_obj::trace(HX_("No HTTP upload service found",d1,5a,61,46),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),1034,HX_("borogove.Client",18,dc,e6,c0),HX_("prepareAttachmentFor",df,5c,bf,82)));
-HXLINE(1035) callback(null());
-HXLINE(1036) return;
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::AttachmentUploadError,failure) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic e){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1380_tryNextAttachmentService)
+HXLINE(1381) ::borogove::AttachmentUploadError next;
+HXDLIN(1381) if (::Std_obj::isOfType(e,::hx::ClassOf< ::borogove::AttachmentUploadError >())) {
+HXLINE(1381) next = ( ( ::borogove::AttachmentUploadError)(e) );
+ }
+ else {
+HXLINE(1381) next = ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("network-failure",6b,a2,0e,cf),HX_("HTTP Upload request failed",f5,32,92,89),null(),null(),e,null());
+ }
+HXLINE(1393) ::Dynamic next1 = next->cause;
+HXLINE(1394) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN(1394) if ((next->code == HX_("all-services-failed",60,08,03,62))) {
+HXLINE(1394) _hx_tmp = next->failures;
+ }
+ else {
+HXLINE(1394) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,next);
+ }
+HXLINE(1388) return ::thenshim::_Promise::Promise_Impl__obj::reject( ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("all-services-failed",60,08,03,62),HX_("All discovered HTTP Upload services failed",7f,75,6a,7f),null(),null(),next1,::Array_obj< ::Dynamic>::__new(1)->init(0,failure)->concat(_hx_tmp)));
}
-HXLINE(1038) ::borogove::queries::HttpUploadSlot httpUploadSlot = ::borogove::queries::HttpUploadSlot_obj::__alloc( HX_CTX ,( (::String)(services->__get(0)->__Field(HX_("serviceId",70,93,d4,bc),::hx::paccDynamic)) ),source->name,source->size,source->type,hashes);
-HXLINE(1039) httpUploadSlot->onFinished( ::Dynamic(new _hx_Closure_2(source,_gthis,hashes,services,httpUploadSlot,callback)));
-HXLINE(1053) this->sendQuery(httpUploadSlot);
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1367_tryNextAttachmentService)
+HXLINE(1368) ::Array< ::Dynamic> remaining = services->slice(1,null());
+HXLINE(1369) if ((remaining->length < 1)) {
+HXLINE(1370) return ::thenshim::_Promise::Promise_Impl__obj::reject( ::borogove::AttachmentUploadError_obj::__alloc( HX_CTX ,HX_("all-services-failed",60,08,03,62),HX_("All discovered HTTP Upload services failed",7f,75,6a,7f),null(),null(),failure->cause,::Array_obj< ::Dynamic>::__new(1)->init(0,failure)));
+ }
+HXLINE(1380) return ::thenshim::_Promise::Promise_Impl__obj::then(this->prepareAttachmentFor(source,name,size,mime,remaining,httpClient), ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(failure)));
}
-HX_DEFINE_DYNAMIC_FUNC4(Client_obj,prepareAttachmentFor,(void))
+HX_DEFINE_DYNAMIC_FUNC7(Client_obj,tryNextAttachmentService,return )
::Array< ::Dynamic> Client_obj::getChats(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1060_getChats)
-HXDLIN(1060) ::Array< ::Dynamic> _this = this->chats;
-HXDLIN(1060) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1060) {
-HXDLIN(1060) int _g1 = 0;
-HXDLIN(1060) while((_g1 < _this->length)){
-HXDLIN(1060) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
-HXDLIN(1060) _g1 = (_g1 + 1);
-HXDLIN(1060) if ((v->uiState != 2)) {
-HXDLIN(1060) _g->push(v);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1403_getChats)
+HXDLIN(1403) ::Array< ::Dynamic> _this = this->chats;
+HXDLIN(1403) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1403) {
+HXDLIN(1403) int _g1 = 0;
+HXDLIN(1403) while((_g1 < _this->length)){
+HXDLIN(1403) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
+HXDLIN(1403) _g1 = (_g1 + 1);
+HXDLIN(1403) if ((v->uiState != 2)) {
+HXDLIN(1403) _g->push(v);
}
}
}
-HXDLIN(1060) return _g;
+HXDLIN(1403) return _g;
}
@@ -3074,9 +3872,42 @@ HXDLIN( 363) return ( (size_t)(out->length) );
}
+::Array< ::Dynamic> Client_obj::getChannels(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1407_getChannels)
+HXDLIN(1407) ::Array< ::Dynamic> _this = this->getChats();
+HXDLIN(1407) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN(1407) {
+HXDLIN(1407) int _g = 0;
+HXDLIN(1407) int _g1 = _this->length;
+HXDLIN(1407) while((_g < _g1)){
+HXDLIN(1407) _g = (_g + 1);
+HXDLIN(1407) int i = (_g - 1);
+HXDLIN(1407) {
+HXDLIN(1407) ::borogove::Channel inValue = ( ( ::borogove::Channel)(::Std_obj::downcast(_hx_array_unsafe_get(_this,i),::hx::ClassOf< ::borogove::Channel >())) );
+HXDLIN(1407) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(1407) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1407) {
+HXDLIN(1407) int _g3 = 0;
+HXDLIN(1407) while((_g3 < result->length)){
+HXDLIN(1407) ::borogove::Channel v = result->__get(_g3).StaticCast< ::borogove::Channel >();
+HXDLIN(1407) _g3 = (_g3 + 1);
+HXDLIN(1407) if (::hx::IsNotNull( v )) {
+HXDLIN(1407) _g2->push(v);
+ }
+ }
+ }
+HXDLIN(1407) return _g2;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,getChannels,return )
+
::borogove::AvailableChatIterator Client_obj::findAvailableChats(::String q){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1070_findAvailableChats)
-HXDLIN(1070) return ::borogove::AvailableChatIterator_obj::__alloc( HX_CTX ,q,::hx::ObjectPtr<OBJ_>(this),this->persistence);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1417_findAvailableChats)
+HXDLIN(1417) return ::borogove::AvailableChatIterator_obj::__alloc( HX_CTX ,q,::hx::ObjectPtr<OBJ_>(this),this->persistence);
}
@@ -3085,178 +3916,178 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,findAvailableChats,return )
::Dynamic Client_obj::availableChatSources(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_6) HXARGC(1)
::Array< ::String > _hx_run(::Array< ::String > ss){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1124_availableChatSources)
-HXLINE(1125) ::haxe::ds::StringMap found = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1126) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
-HXDLIN(1126) {
-HXLINE(1126) int _g1 = 0;
-HXDLIN(1126) while((_g1 < ss->length)){
-HXLINE(1126) ::String v = ss->__get(_g1);
-HXDLIN(1126) _g1 = (_g1 + 1);
-HXLINE(1127) bool didFind;
-HXDLIN(1127) ::Dynamic tmp = found->get(v);
-HXDLIN(1127) if (::hx::IsNotNull( tmp )) {
-HXLINE(1127) didFind = ( (bool)(tmp) );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1471_availableChatSources)
+HXLINE(1472) ::haxe::ds::StringMap found = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1473) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN(1473) {
+HXLINE(1473) int _g1 = 0;
+HXDLIN(1473) while((_g1 < ss->length)){
+HXLINE(1473) ::String v = ss->__get(_g1);
+HXDLIN(1473) _g1 = (_g1 + 1);
+HXLINE(1474) bool didFind;
+HXDLIN(1474) ::Dynamic tmp = found->get(v);
+HXDLIN(1474) if (::hx::IsNotNull( tmp )) {
+HXLINE(1474) didFind = ( (bool)(tmp) );
}
else {
-HXLINE(1127) didFind = false;
+HXLINE(1474) didFind = false;
}
-HXLINE(1128) found->set(v,true);
-HXLINE(1126) bool _hx_tmp;
-HXLINE(1129) if ((v != HX_("",00,00,00,00))) {
-HXLINE(1126) _hx_tmp = !(didFind);
+HXLINE(1475) found->set(v,true);
+HXLINE(1473) bool _hx_tmp;
+HXLINE(1476) if ((v != HX_("",00,00,00,00))) {
+HXLINE(1473) _hx_tmp = !(didFind);
}
else {
-HXLINE(1126) _hx_tmp = false;
+HXLINE(1473) _hx_tmp = false;
}
-HXDLIN(1126) if (_hx_tmp) {
-HXLINE(1126) _g->push(v);
+HXDLIN(1473) if (_hx_tmp) {
+HXLINE(1473) _g->push(v);
}
}
}
-HXDLIN(1126) return _g;
+HXDLIN(1473) return _g;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1076_availableChatSources)
-HXDLIN(1076) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1077) ::Array< ::Dynamic> sources = ::Array_obj< ::Dynamic>::__new(1)->init(0,::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("Name",6b,9e,d8,33)));
-HXLINE(1079) {
-HXLINE(1079) int _g = 0;
-HXDLIN(1079) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN(1079) while((_g < _g1->length)){
-HXLINE(1079) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(1079) _g = (_g + 1);
-HXLINE(1080) if (chat->isTrusted()) {
-HXLINE(1081) ::haxe::ds::StringMap resources = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1082) {
-HXLINE(1082) ::Dynamic _g2 = ::borogove::Caps_obj::withIdentity(chat->getCaps(),HX_("gateway",04,40,59,91),null());
-HXDLIN(1082) while(( (bool)(_g2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1082) ::Dynamic _g3 = _g2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN(1082) ::String resource = ( (::String)(_g3->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
-HXDLIN(1082) ::borogove::Caps caps = ( ( ::borogove::Caps)(_g3->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) );
-HXDLIN(1082) {
-HXLINE(1084) ::Array< ::Dynamic> identities = caps->identities;
-HXLINE(1086) bool _hx_tmp;
-HXDLIN(1086) bool _hx_tmp1;
-HXDLIN(1086) if ((chat->chatId.indexOf(HX_("@",40,00,00,00),null()) >= 0)) {
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1423_availableChatSources)
+HXDLIN(1423) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1424) ::Array< ::Dynamic> sources = ::Array_obj< ::Dynamic>::__new(1)->init(0,::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("Name",6b,9e,d8,33)));
+HXLINE(1426) {
+HXLINE(1426) int _g = 0;
+HXDLIN(1426) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN(1426) while((_g < _g1->length)){
+HXLINE(1426) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1426) _g = (_g + 1);
+HXLINE(1427) if (chat->isTrusted()) {
+HXLINE(1428) ::haxe::ds::StringMap resources = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1429) {
+HXLINE(1429) ::Dynamic _g2 = ::borogove::Caps_obj::withIdentity(chat->getCaps(),HX_("gateway",04,40,59,91),null());
+HXDLIN(1429) while(( (bool)(_g2->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1429) ::Dynamic _g3 = _g2->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXDLIN(1429) ::String resource = ( (::String)(_g3->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
+HXDLIN(1429) ::borogove::Caps caps = ( ( ::borogove::Caps)(_g3->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) );
+HXDLIN(1429) {
+HXLINE(1431) ::Array< ::Dynamic> identities = caps->identities;
+HXLINE(1433) bool _hx_tmp;
+HXDLIN(1433) bool _hx_tmp1;
+HXDLIN(1433) if ((chat->chatId.indexOf(HX_("@",40,00,00,00),null()) >= 0)) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::Identity i){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1086_availableChatSources)
-HXLINE(1086) return (i->category == HX_("conference",1c,2b,83,41));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1433_availableChatSources)
+HXLINE(1433) return (i->category == HX_("conference",1c,2b,83,41));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1086) _hx_tmp1 = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_0())) );
+HXLINE(1433) _hx_tmp1 = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_0())) );
}
else {
-HXLINE(1086) _hx_tmp1 = true;
+HXLINE(1433) _hx_tmp1 = true;
}
-HXDLIN(1086) if (_hx_tmp1) {
+HXDLIN(1433) if (_hx_tmp1) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::borogove::Identity i){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1087_availableChatSources)
-HXLINE(1087) return (i->category == HX_("client",4b,ca,4f,0a));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1434_availableChatSources)
+HXLINE(1434) return (i->category == HX_("client",4b,ca,4f,0a));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1086) _hx_tmp = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_1())) );
+HXLINE(1433) _hx_tmp = ::hx::IsNull( ::Lambda_obj::find(identities, ::Dynamic(new _hx_Closure_1())) );
}
else {
-HXLINE(1086) _hx_tmp = false;
+HXLINE(1433) _hx_tmp = false;
}
-HXLINE(1085) if (_hx_tmp) {
-HXLINE(1089) ::String _hx_tmp2;
-HXDLIN(1089) if (::hx::IsNull( resource )) {
-HXLINE(1089) _hx_tmp2 = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
+HXLINE(1432) if (_hx_tmp) {
+HXLINE(1436) ::String _hx_tmp2;
+HXDLIN(1436) if (::hx::IsNull( resource )) {
+HXLINE(1436) _hx_tmp2 = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
}
else {
-HXLINE(1089) _hx_tmp2 = resource;
+HXLINE(1436) _hx_tmp2 = resource;
}
-HXDLIN(1089) resources->set(_hx_tmp2,caps);
+HXDLIN(1436) resources->set(_hx_tmp2,caps);
}
}
}
}
-HXLINE(1092) bool _hx_tmp3;
-HXDLIN(1092) bool _hx_tmp4;
-HXDLIN(1092) if (!(resources->exists(::borogove::_Chat::Chat_Fields__obj::nullSentinel))) {
-HXLINE(1092) _hx_tmp4 = !(this->sendAvailable);
+HXLINE(1439) bool _hx_tmp3;
+HXDLIN(1439) bool _hx_tmp4;
+HXDLIN(1439) if (!(resources->exists(::borogove::_Chat::Chat_Fields__obj::nullSentinel))) {
+HXLINE(1439) _hx_tmp4 = !(this->sendAvailable);
}
else {
-HXLINE(1092) _hx_tmp4 = false;
+HXLINE(1439) _hx_tmp4 = false;
}
-HXDLIN(1092) if (_hx_tmp4) {
-HXLINE(1092) _hx_tmp3 = ::borogove::JID_obj::parse(chat->chatId)->isDomain();
+HXDLIN(1439) if (_hx_tmp4) {
+HXLINE(1439) _hx_tmp3 = ::borogove::JID_obj::parse(chat->chatId)->isDomain();
}
else {
-HXLINE(1092) _hx_tmp3 = false;
+HXLINE(1439) _hx_tmp3 = false;
}
-HXDLIN(1092) if (_hx_tmp3) {
-HXLINE(1093) resources->set(::borogove::_Chat::Chat_Fields__obj::nullSentinel,::borogove::CapsRepo_obj::empty);
+HXDLIN(1439) if (_hx_tmp3) {
+HXLINE(1440) resources->set(::borogove::_Chat::Chat_Fields__obj::nullSentinel,::borogove::CapsRepo_obj::empty);
}
-HXLINE(1095) {
+HXLINE(1442) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,iter_keys) HXARGC(0)
bool _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1095_availableChatSources)
-HXLINE(1095) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1442_availableChatSources)
+HXLINE(1442) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3,::Array< ::Dynamic>,iter_map,::Array< ::Dynamic>,iter_keys) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1095_availableChatSources)
-HXLINE(1095) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1095) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1442_availableChatSources)
+HXLINE(1442) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1442) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),key)
->setFixed(1,HX_("value",71,7f,b8,31),( ( ::borogove::Caps)(::haxe::IMap_obj::get(iter_map->__get(0),key)) )));
-HXDLIN(1095) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
-HXLINE(1095) return ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(1442) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
+HXLINE(1442) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),null())
->setFixed(1,HX_("value",71,7f,b8,31), ::Dynamic(v->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic))));
}
else {
-HXLINE(1095) return v;
+HXLINE(1442) return v;
}
-HXDLIN(1095) return null();
+HXDLIN(1442) return null();
}
HX_END_LOCAL_FUNC0(return)
-HXLINE(1095) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1095) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1095) ::Dynamic map = resources;
-HXDLIN(1095) iter_map[0] = map;
-HXDLIN(1095) iter_keys[0] = ::haxe::IMap_obj::keys(map);
-HXDLIN(1095) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_2(iter_keys));
-HXDLIN(1095) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_3(iter_map,iter_keys));
-HXDLIN(1095) while(( (bool)(_g_hasNext()) )){
-HXLINE(1095) ::Dynamic _g4 = _g_next();
-HXDLIN(1095) ::String resource1 = ( (::String)(_g4->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
-HXDLIN(1095) ::borogove::Caps caps1 = ( ( ::borogove::Caps)(_g4->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) );
-HXDLIN(1095) {
+HXLINE(1442) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1442) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1442) ::Dynamic map = resources;
+HXDLIN(1442) iter_map[0] = map;
+HXDLIN(1442) iter_keys[0] = ::haxe::IMap_obj::keys(map);
+HXDLIN(1442) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_2(iter_keys));
+HXDLIN(1442) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_3(iter_map,iter_keys));
+HXDLIN(1442) while(( (bool)(_g_hasNext()) )){
+HXLINE(1442) ::Dynamic _g4 = _g_next();
+HXDLIN(1442) ::String resource1 = ( (::String)(_g4->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
+HXDLIN(1442) ::borogove::Caps caps1 = ( ( ::borogove::Caps)(_g4->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) );
+HXDLIN(1442) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis, ::borogove::Caps,caps1, ::borogove::queries::JabberIqGatewayGet,jigGet) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::borogove::Caps,caps1, ::Dynamic,resolve, ::borogove::queries::JabberIqGatewayGet,jigGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1100_availableChatSources)
-HXLINE(1101) ::haxe::ds::Either result = jigGet->getResult();
-HXLINE(1102) if (::hx::IsNull( result )) {
-HXLINE(1103) ::borogove::Identity identity = caps1->identities->__get(0).StaticCast< ::borogove::Identity >();
-HXLINE(1104) if (::hx::IsNull( identity )) {
-HXLINE(1105) resolve(HX_("",00,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1447_availableChatSources)
+HXLINE(1448) ::haxe::ds::Either result = jigGet->getResult();
+HXLINE(1449) if (::hx::IsNull( result )) {
+HXLINE(1450) ::borogove::Identity identity = caps1->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE(1451) if (::hx::IsNull( identity )) {
+HXLINE(1452) resolve(HX_("",00,00,00,00));
}
else {
-HXLINE(1107) resolve(identity->type);
+HXLINE(1454) resolve(identity->type);
}
}
else {
-HXLINE(1110) switch((int)(result->_hx_getIndex())){
+HXLINE(1457) switch((int)(result->_hx_getIndex())){
case (int)0: {
-HXLINE(1111) resolve(HX_("",00,00,00,00));
+HXLINE(1458) resolve(HX_("",00,00,00,00));
}
break;
case (int)1: {
-HXLINE(1112) resolve(result->_hx_getObject(0));
+HXLINE(1459) resolve(result->_hx_getObject(0));
}
break;
}
@@ -3264,40 +4095,40 @@ HXLINE(1112) resolve(result->_hx_getObject(0));
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1099_availableChatSources)
-HXLINE(1100) jigGet->onFinished( ::Dynamic(new _hx_Closure_4(caps1,resolve,jigGet)));
-HXLINE(1116) _gthis->sendQuery(jigGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1446_availableChatSources)
+HXLINE(1447) jigGet->onFinished( ::Dynamic(new _hx_Closure_4(caps1,resolve,jigGet)));
+HXLINE(1463) _gthis->sendQuery(jigGet);
}
HX_END_LOCAL_FUNC2((void))
-HXLINE(1096) ::borogove::JID bareJid = ::borogove::JID_obj::parse(chat->chatId);
-HXLINE(1097) ::String bareJid1 = bareJid->node;
-HXDLIN(1097) ::String bareJid2 = bareJid->domain;
-HXDLIN(1097) ::String fullJid;
-HXDLIN(1097) bool fullJid1;
-HXDLIN(1097) if (bareJid->isDomain()) {
-HXLINE(1097) fullJid1 = (resource1 == HX_("",00,00,00,00));
+HXLINE(1443) ::borogove::JID bareJid = ::borogove::JID_obj::parse(chat->chatId);
+HXLINE(1444) ::String bareJid1 = bareJid->node;
+HXDLIN(1444) ::String bareJid2 = bareJid->domain;
+HXDLIN(1444) ::String fullJid;
+HXDLIN(1444) bool fullJid1;
+HXDLIN(1444) if (bareJid->isDomain()) {
+HXLINE(1444) fullJid1 = (resource1 == HX_("",00,00,00,00));
}
else {
-HXLINE(1097) fullJid1 = false;
+HXLINE(1444) fullJid1 = false;
}
-HXDLIN(1097) if (fullJid1) {
-HXLINE(1097) fullJid = null();
+HXDLIN(1444) if (fullJid1) {
+HXLINE(1444) fullJid = null();
}
else {
-HXLINE(1097) fullJid = resource1;
+HXLINE(1444) fullJid = resource1;
}
-HXLINE(1098) ::borogove::queries::JabberIqGatewayGet jigGet = ::borogove::queries::JabberIqGatewayGet_obj::__alloc( HX_CTX , ::borogove::JID_obj::__alloc( HX_CTX ,bareJid1,bareJid2,fullJid,null())->asString(),null());
-HXLINE(1099) sources->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(_gthis,caps1,jigGet))));
+HXLINE(1445) ::borogove::queries::JabberIqGatewayGet jigGet = ::borogove::queries::JabberIqGatewayGet_obj::__alloc( HX_CTX , ::borogove::JID_obj::__alloc( HX_CTX ,bareJid1,bareJid2,fullJid,null())->asString(),null());
+HXLINE(1446) sources->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(_gthis,caps1,jigGet))));
}
}
}
}
}
}
-HXLINE(1122) sources->push(::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("ID",db,3f,00,00)));
-HXLINE(1123) sources->push(::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("URI",4c,c7,40,00)));
-HXLINE(1124) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(sources), ::Dynamic(new _hx_Closure_6()),null());
+HXLINE(1469) sources->push(::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("ID",db,3f,00,00)));
+HXLINE(1470) sources->push(::thenshim::_Promise::Promise_Impl__obj::resolve(HX_("URI",4c,c7,40,00)));
+HXLINE(1471) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(sources), ::Dynamic(new _hx_Closure_6()),null());
}
@@ -3330,94 +4161,105 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->availableChat
::borogove::Chat Client_obj::startChat( ::borogove::AvailableChat availableChat){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1139_startChat)
-HXLINE(1140) ::borogove::Chat existingChat = this->getChat(availableChat->chatId);
-HXLINE(1141) if (::hx::IsNotNull( existingChat )) {
-HXLINE(1142) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(existingChat,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE(1143) bool _hx_tmp;
-HXDLIN(1143) bool _hx_tmp1;
-HXDLIN(1143) if (::hx::IsNull( channel )) {
-HXLINE(1143) _hx_tmp1 = availableChat->isChannel();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1486_startChat)
+HXLINE(1487) ::borogove::Chat existingChat = this->getChat(availableChat->chatId);
+HXLINE(1488) if (::hx::IsNotNull( existingChat )) {
+HXLINE(1489) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(existingChat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1490) bool _hx_tmp;
+HXDLIN(1490) bool _hx_tmp1;
+HXDLIN(1490) if (::hx::IsNull( channel )) {
+HXLINE(1490) _hx_tmp1 = availableChat->isChannel();
}
else {
-HXLINE(1143) _hx_tmp1 = false;
+HXLINE(1490) _hx_tmp1 = false;
}
-HXDLIN(1143) if (!(_hx_tmp1)) {
-HXLINE(1143) if (::hx::IsNotNull( channel )) {
-HXLINE(1143) _hx_tmp = !(availableChat->isChannel());
+HXDLIN(1490) if (!(_hx_tmp1)) {
+HXLINE(1490) if (::hx::IsNotNull( channel )) {
+HXLINE(1490) _hx_tmp = !(availableChat->isChannel());
}
else {
-HXLINE(1143) _hx_tmp = false;
+HXLINE(1490) _hx_tmp = false;
}
}
else {
-HXLINE(1143) _hx_tmp = true;
- }
-HXDLIN(1143) if (_hx_tmp) {
-HXLINE(1144) ::Array< ::Dynamic> _this = this->chats;
-HXDLIN(1144) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1144) {
-HXLINE(1144) int _g1 = 0;
-HXDLIN(1144) while((_g1 < _this->length)){
-HXLINE(1144) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
-HXDLIN(1144) _g1 = (_g1 + 1);
-HXDLIN(1144) if ((v->chatId != availableChat->chatId)) {
-HXLINE(1144) _g->push(v);
+HXLINE(1490) _hx_tmp = true;
+ }
+HXDLIN(1490) if (_hx_tmp) {
+HXLINE(1491) ::Array< ::Dynamic> _this = this->chats;
+HXDLIN(1491) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1491) {
+HXLINE(1491) int _g1 = 0;
+HXDLIN(1491) while((_g1 < _this->length)){
+HXLINE(1491) ::borogove::Chat v = _this->__get(_g1).StaticCast< ::borogove::Chat >();
+HXDLIN(1491) _g1 = (_g1 + 1);
+HXDLIN(1491) if ((v->chatId != availableChat->chatId)) {
+HXLINE(1491) _g->push(v);
}
}
}
-HXDLIN(1144) this->chats = _g;
+HXDLIN(1491) this->chats = _g;
}
else {
-HXLINE(1146) if ((existingChat->uiState == 2)) {
-HXLINE(1146) existingChat->uiState = 1;
+HXLINE(1493) if ((existingChat->uiState == 2)) {
+HXLINE(1493) existingChat->uiState = 1;
}
-HXLINE(1147) if (::hx::IsNotNull( channel )) {
-HXLINE(1147) channel->selfPing(true);
+HXLINE(1494) if (::hx::IsNotNull( channel )) {
+HXLINE(1494) channel->selfPing(true);
}
-HXLINE(1148) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1148) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,existingChat));
-HXLINE(1149) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,existingChat));
-HXLINE(1150) return existingChat;
+HXLINE(1495) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1495) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,existingChat));
+HXLINE(1496) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,existingChat));
+HXLINE(1497) return existingChat;
}
}
-HXLINE(1154) ::borogove::Chat chat;
-HXDLIN(1154) if (availableChat->isChannel()) {
-HXLINE(1155) ::borogove::Channel channel1 = ::borogove::Channel_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,availableChat->chatId,1,false,false,null(),null(),null(),availableChat->caps);
-HXLINE(1156) channel1->setupNotifications();
-HXLINE(1157) this->chats->unshift(channel1);
-HXLINE(1158) channel1->selfPing(false);
-HXLINE(1154) chat = channel1;
+HXLINE(1501) ::borogove::Chat chat;
+HXDLIN(1501) if (availableChat->isChannel()) {
+HXLINE(1502) ::borogove::Channel channel1 = ::borogove::Channel_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,availableChat->chatId,1,false,false,null(),null(),null(),availableChat->caps);
+HXLINE(1503) channel1->setupNotifications();
+HXLINE(1504) this->chats->unshift(channel1);
+HXLINE(1505) this->chatsIndex->set(channel1->chatId,( ( ::borogove::Chat)(channel1) ));
+HXLINE(1506) channel1->selfPing(false);
+HXLINE(1501) chat = channel1;
}
else {
-HXLINE(1154) chat = this->getDirectChat(availableChat->chatId,false);
+HXLINE(1501) chat = this->getDirectChat(availableChat->chatId,false);
+ }
+HXLINE(1511) if (::hx::IsNotNull( availableChat->rosterItem )) {
+HXLINE(1512) chat->updateFromRoster(availableChat->rosterItem);
}
-HXLINE(1163) ::Dynamic _hx_tmp3 = this->persistence;
-HXDLIN(1163) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
-HXLINE(1164) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
-HXLINE(1165) return chat;
+HXLINE(1514) ::Dynamic _hx_tmp3 = this->persistence;
+HXDLIN(1514) ::borogove::Persistence_obj::storeChats(_hx_tmp3,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(1515) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXLINE(1516) return chat;
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,startChat,return )
::borogove::Chat Client_obj::getChat(::String chatId){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1174_getChat)
-HXDLIN(1174) ::Array< ::Dynamic> it = this->chats;
-HXDLIN(1174) ::borogove::Chat result = null();
-HXDLIN(1174) {
-HXDLIN(1174) int _g = 0;
-HXDLIN(1174) while((_g < it->length)){
-HXDLIN(1174) ::borogove::Chat v = it->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(1174) _g = (_g + 1);
-HXDLIN(1174) if ((v->chatId == chatId)) {
-HXDLIN(1174) result = v;
-HXDLIN(1174) goto _hx_goto_125;
- }
- }
- _hx_goto_125:;
- }
-HXDLIN(1174) return result;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1524_getChat)
+HXLINE(1525) ::borogove::Chat found = ( ( ::borogove::Chat)(this->chatsIndex->get(chatId)) );
+HXLINE(1528) if (::hx::IsNull( found )) {
+HXLINE(1529) ::Array< ::Dynamic> it = this->chats;
+HXDLIN(1529) ::borogove::Chat result = null();
+HXDLIN(1529) {
+HXLINE(1529) int _g = 0;
+HXDLIN(1529) while((_g < it->length)){
+HXLINE(1529) ::borogove::Chat v = it->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1529) _g = (_g + 1);
+HXDLIN(1529) if ((v->chatId == chatId)) {
+HXLINE(1529) result = v;
+HXDLIN(1529) goto _hx_goto_169;
+ }
+ }
+ _hx_goto_169:;
+ }
+HXDLIN(1529) found = result;
+HXLINE(1530) if (::hx::IsNotNull( found )) {
+HXLINE(1530) this->chatsIndex->set(chatId,found);
+ }
+ }
+HXLINE(1533) return found;
}
@@ -3428,45 +4270,45 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,getChat,return )
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::borogove::ModerationAction,action, ::Dynamic,resolve) HXARGC(1)
void _hx_run( ::borogove::ChatMessage moderateMessage){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1180_moderateMessage)
-HXLINE(1181) if (::hx::IsNull( moderateMessage )) {
-HXLINE(1181) resolve(null());
-HXDLIN(1181) return;
- }
-HXLINE(1182) {
-HXLINE(1182) int _g = 0;
-HXDLIN(1182) ::Array< ::Dynamic> _g1 = moderateMessage->attachments;
-HXDLIN(1182) while((_g < _g1->length)){
-HXLINE(1182) ::borogove::ChatAttachment attachment = _g1->__get(_g).StaticCast< ::borogove::ChatAttachment >();
-HXDLIN(1182) _g = (_g + 1);
-HXLINE(1183) {
-HXLINE(1183) int _g2 = 0;
-HXDLIN(1183) ::Array< ::Dynamic> _g3 = attachment->hashes;
-HXDLIN(1183) while((_g2 < _g3->length)){
-HXLINE(1183) ::borogove::Hash hash = _g3->__get(_g2).StaticCast< ::borogove::Hash >();
-HXDLIN(1183) _g2 = (_g2 + 1);
-HXLINE(1184) ::borogove::Persistence_obj::removeMedia(_gthis->persistence,hash->algorithm,hash->hash);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1539_moderateMessage)
+HXLINE(1540) if (::hx::IsNull( moderateMessage )) {
+HXLINE(1540) resolve(null());
+HXDLIN(1540) return;
+ }
+HXLINE(1541) {
+HXLINE(1541) int _g = 0;
+HXDLIN(1541) ::Array< ::Dynamic> _g1 = moderateMessage->attachments;
+HXDLIN(1541) while((_g < _g1->length)){
+HXLINE(1541) ::borogove::ChatAttachment attachment = _g1->__get(_g).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN(1541) _g = (_g + 1);
+HXLINE(1542) {
+HXLINE(1542) int _g2 = 0;
+HXDLIN(1542) ::Array< ::Dynamic> _g3 = attachment->hashes;
+HXDLIN(1542) while((_g2 < _g3->length)){
+HXLINE(1542) ::borogove::Hash hash = _g3->__get(_g2).StaticCast< ::borogove::Hash >();
+HXDLIN(1542) _g2 = (_g2 + 1);
+HXLINE(1543) ::borogove::Persistence_obj::removeMedia(_gthis->persistence,hash->algorithm,hash->hash);
}
}
}
}
-HXLINE(1187) moderateMessage = ::borogove::ChatMessageBuilder_obj::makeModerated(moderateMessage,action->timestamp,action->moderatorId,action->reason);
-HXLINE(1188) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1188) ::borogove::Persistence_obj::updateMessage(_gthis1,_gthis->accountId(),moderateMessage);
-HXLINE(1189) resolve(moderateMessage);
+HXLINE(1546) moderateMessage = ::borogove::ChatMessageBuilder_obj::makeModerated(moderateMessage,action->timeSent,action->timeReceived,action->moderatorId,action->reason);
+HXLINE(1547) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1547) ::borogove::Persistence_obj::updateMessage(_gthis1,_gthis->accountId(),moderateMessage);
+HXLINE(1548) resolve(moderateMessage);
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1180_moderateMessage)
-HXLINE(1180) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1180) ::String _hx_tmp = _gthis->accountId();
-HXDLIN(1180) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_gthis1,_hx_tmp,action->chatId,action->moderateServerId,null()), ::Dynamic(new _hx_Closure_0(_gthis,action,resolve)),null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1539_moderateMessage)
+HXLINE(1539) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1539) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(1539) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_gthis1,_hx_tmp,action->chatId,action->moderateServerId,null()), ::Dynamic(new _hx_Closure_0(_gthis,action,resolve)),null());
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1178_moderateMessage)
-HXDLIN(1178) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1179) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,action)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1537_moderateMessage)
+HXDLIN(1537) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1538) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,action)));
}
@@ -3474,56 +4316,57 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,moderateMessage,return )
::borogove::DirectChat Client_obj::getDirectChat(::String chatId,::hx::Null< bool > __o_triggerIfNew){
bool triggerIfNew = __o_triggerIfNew.Default(true);
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1195_getDirectChat)
-HXLINE(1196) {
-HXLINE(1196) int _g = 0;
-HXDLIN(1196) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN(1196) while((_g < _g1->length)){
-HXLINE(1196) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(1196) _g = (_g + 1);
-HXLINE(1197) bool _hx_tmp;
-HXDLIN(1197) if (::Std_obj::isOfType(chat,::hx::ClassOf< ::borogove::DirectChat >())) {
-HXLINE(1197) _hx_tmp = (chat->chatId == chatId);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1554_getDirectChat)
+HXLINE(1555) {
+HXLINE(1555) int _g = 0;
+HXDLIN(1555) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN(1555) while((_g < _g1->length)){
+HXLINE(1555) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1555) _g = (_g + 1);
+HXLINE(1556) bool _hx_tmp;
+HXDLIN(1556) if (::Std_obj::isOfType(chat,::hx::ClassOf< ::borogove::DirectChat >())) {
+HXLINE(1556) _hx_tmp = (chat->chatId == chatId);
}
else {
-HXLINE(1197) _hx_tmp = false;
+HXLINE(1556) _hx_tmp = false;
}
-HXDLIN(1197) if (_hx_tmp) {
-HXLINE(1198) return ( ( ::borogove::DirectChat)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::DirectChat >())) );
+HXDLIN(1556) if (_hx_tmp) {
+HXLINE(1557) return ( ( ::borogove::DirectChat)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::DirectChat >())) );
}
}
}
-HXLINE(1201) ::borogove::DirectChat chat1 = ::borogove::DirectChat_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,chatId,null(),null(),null(),null(),null(),null(),null());
-HXLINE(1202) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1202) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
-HXLINE(1203) this->chats->push(chat1);
-HXLINE(1204) this->chatActivity(chat1,triggerIfNew);
-HXLINE(1205) return chat1;
+HXLINE(1560) ::borogove::DirectChat chat1 = ::borogove::DirectChat_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,this->persistence,chatId,null(),null(),null(),null(),null(),null(),null());
+HXLINE(1561) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1561) ::borogove::Persistence_obj::storeChats(_hx_tmp1,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
+HXLINE(1562) this->chats->push(chat1);
+HXLINE(1563) this->chatsIndex->set(chat1->chatId,( ( ::borogove::Chat)(chat1) ));
+HXLINE(1564) this->chatActivity(chat1,triggerIfNew);
+HXLINE(1565) return chat1;
}
HX_DEFINE_DYNAMIC_FUNC2(Client_obj,getDirectChat,return )
void Client_obj::enablePush(::String push_service,::String endpoint,::Array< unsigned char > p256dh,::Array< unsigned char > auth,int grace,::Array< unsigned char > vapid_private_pkcs8,::Array< ::String > claims){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1256_enablePush)
-HXLINE(1257) bool _hx_tmp;
-HXDLIN(1257) if (::hx::IsNotNull( vapid_private_pkcs8 )) {
-HXLINE(1257) _hx_tmp = (::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8)->length == 0);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1616_enablePush)
+HXLINE(1617) bool _hx_tmp;
+HXDLIN(1617) if (::hx::IsNotNull( vapid_private_pkcs8 )) {
+HXLINE(1617) _hx_tmp = (::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8)->length == 0);
}
else {
-HXLINE(1257) _hx_tmp = false;
+HXLINE(1617) _hx_tmp = false;
}
-HXDLIN(1257) if (_hx_tmp) {
-HXLINE(1257) vapid_private_pkcs8 = null();
+HXDLIN(1617) if (_hx_tmp) {
+HXLINE(1617) vapid_private_pkcs8 = null();
}
-HXLINE(1258) ::Array< ::String > _hx_tmp1;
-HXDLIN(1258) if (::hx::IsNotNull( claims )) {
-HXLINE(1258) _hx_tmp1 = claims;
+HXLINE(1618) ::Array< ::String > _hx_tmp1;
+HXDLIN(1618) if (::hx::IsNotNull( claims )) {
+HXLINE(1618) _hx_tmp1 = claims;
}
else {
-HXLINE(1258) _hx_tmp1 = ::Array_obj< ::String >::__new(0);
+HXLINE(1618) _hx_tmp1 = ::Array_obj< ::String >::__new(0);
}
-HXDLIN(1258) this->enabledPushData = ::Dynamic(::hx::Anon_obj::Create(7)
+HXDLIN(1618) this->enabledPushData = ::Dynamic(::hx::Anon_obj::Create(7)
->setFixed(0,HX_("grace",f8,03,ea,99),grace)
->setFixed(1,HX_("p256dh",e7,0a,33,b5),p256dh)
->setFixed(2,HX_("push_service",90,f1,d2,f8),push_service)
@@ -3531,59 +4374,59 @@ HXDLIN(1258) this->enabledPushData = ::Dynamic(::hx::Anon_obj::Create(7)
->setFixed(4,HX_("claims",77,1d,09,05),_hx_tmp1)
->setFixed(5,HX_("endpoint",95,d6,5f,31),endpoint)
->setFixed(6,HX_("auth",68,df,76,40),auth));
-HXLINE(1260) ::Array< ::Dynamic> filters = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1261) {
-HXLINE(1261) int _g = 0;
-HXDLIN(1261) ::Array< ::Dynamic> _g1 = this->chats;
-HXDLIN(1261) while((_g < _g1->length)){
-HXLINE(1261) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(1261) _g = (_g + 1);
-HXLINE(1262) if (chat->notificationsFiltered()) {
-HXLINE(1263) ::String chat1 = chat->chatId;
-HXDLIN(1263) bool _hx_tmp2 = chat->notifyMention();
-HXDLIN(1263) filters->push( ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE(1620) ::Array< ::Dynamic> filters = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1621) {
+HXLINE(1621) int _g = 0;
+HXDLIN(1621) ::Array< ::Dynamic> _g1 = this->chats;
+HXDLIN(1621) while((_g < _g1->length)){
+HXLINE(1621) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1621) _g = (_g + 1);
+HXLINE(1622) if (chat->notificationsFiltered()) {
+HXLINE(1623) ::String chat1 = chat->chatId;
+HXDLIN(1623) bool _hx_tmp2 = chat->notifyMention();
+HXDLIN(1623) filters->push( ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("mention",ea,9e,bf,b9),_hx_tmp2)
->setFixed(1,HX_("reply",2a,09,c6,e6),chat->notifyReply())
->setFixed(2,HX_("jid",c5,ca,50,00),chat1)));
}
}
}
-HXLINE(1267) ::haxe::ds::StringMap _g2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXDLIN(1267) _g2->set(HX_("aud",f0,00,4a,00),( (::Array< ::String >)(::tink::_Url::Url_Impl__obj::parse(endpoint,null())->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
-HXLINE(1268) {
-HXLINE(1268) int _g3 = 0;
-HXDLIN(1268) ::Array< ::String > _g4;
-HXDLIN(1268) if (::hx::IsNotNull( claims )) {
-HXLINE(1268) _g4 = claims;
+HXLINE(1627) ::haxe::ds::StringMap _g2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(1627) _g2->set(HX_("aud",f0,00,4a,00),( (::Array< ::String >)(::tink::_Url::Url_Impl__obj::parse(endpoint,null())->__Field(HX_("hosts",0b,ac,62,2b),::hx::paccDynamic)) )->__get(0));
+HXLINE(1628) {
+HXLINE(1628) int _g3 = 0;
+HXDLIN(1628) ::Array< ::String > _g4;
+HXDLIN(1628) if (::hx::IsNotNull( claims )) {
+HXLINE(1628) _g4 = claims;
}
else {
-HXLINE(1268) _g4 = ::Array_obj< ::String >::__new(0);
+HXLINE(1628) _g4 = ::Array_obj< ::String >::__new(0);
}
-HXDLIN(1268) int _g5 = _g4->length;
-HXDLIN(1268) while((_g3 < _g5)){
-HXLINE(1268) _g3 = (_g3 + 1);
-HXDLIN(1268) int i = (_g3 - 1);
-HXLINE(1269) if ((::hx::Mod(i,2) == 0)) {
-HXLINE(1270) _g2->set(claims->__get(i),claims->__get((i + 1)));
+HXDLIN(1628) int _g5 = _g4->length;
+HXDLIN(1628) while((_g3 < _g5)){
+HXLINE(1628) _g3 = (_g3 + 1);
+HXDLIN(1628) int i = (_g3 - 1);
+HXLINE(1629) if ((::hx::Mod(i,2) == 0)) {
+HXLINE(1630) _g2->set(claims->__get(i),claims->__get((i + 1)));
}
}
}
-HXLINE(1275) ::String _hx_tmp3 = this->jid->asBare()->asString();
-HXLINE(1280) ::String _hx_tmp4;
-HXDLIN(1280) if (::hx::IsNull( vapid_private_pkcs8 )) {
-HXLINE(1280) _hx_tmp4 = null();
+HXLINE(1635) ::String _hx_tmp3 = this->jid->asBare()->asString();
+HXLINE(1640) ::String _hx_tmp4;
+HXDLIN(1640) if (::hx::IsNull( vapid_private_pkcs8 )) {
+HXLINE(1640) _hx_tmp4 = null();
}
else {
-HXLINE(1280) _hx_tmp4 = HX_("ES256",65,db,a8,f1);
+HXLINE(1640) _hx_tmp4 = HX_("ES256",65,db,a8,f1);
}
-HXLINE(1281) ::haxe::io::Bytes _hx_tmp5;
-HXDLIN(1281) if (::hx::IsNull( vapid_private_pkcs8 )) {
-HXLINE(1281) _hx_tmp5 = null();
+HXLINE(1641) ::haxe::io::Bytes _hx_tmp5;
+HXDLIN(1641) if (::hx::IsNull( vapid_private_pkcs8 )) {
+HXLINE(1641) _hx_tmp5 = null();
}
else {
-HXLINE(1281) _hx_tmp5 = ::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8);
+HXLINE(1641) _hx_tmp5 = ::haxe::io::Bytes_obj::ofData(vapid_private_pkcs8);
}
-HXLINE(1274) this->sendQuery( ::borogove::queries::Push2Enable_obj::__alloc( HX_CTX ,_hx_tmp3,push_service,endpoint,::haxe::io::Bytes_obj::ofData(p256dh),::haxe::io::Bytes_obj::ofData(auth),_hx_tmp4,_hx_tmp5,_g2,grace,filters));
+HXLINE(1634) this->sendQuery( ::borogove::queries::Push2Enable_obj::__alloc( HX_CTX ,_hx_tmp3,push_service,endpoint,::haxe::io::Bytes_obj::ofData(p256dh),::haxe::io::Bytes_obj::ofData(auth),_hx_tmp4,_hx_tmp5,_g2,grace,filters));
}
@@ -3657,11 +4500,11 @@ HXLINE( 354) this->enablePush(push_service,endpoint,_hx_tmp,_hx_tmp1,grace,_hx_
HX_DEFINE_DYNAMIC_FUNC11(Client_obj,enablePush__fromC,(void))
void Client_obj::updatePushIfEnabled(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1289_updatePushIfEnabled)
-HXLINE(1290) if (::hx::IsNull( this->enabledPushData )) {
-HXLINE(1290) return;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1649_updatePushIfEnabled)
+HXLINE(1650) if (::hx::IsNull( this->enabledPushData )) {
+HXLINE(1650) return;
}
-HXLINE(1291) this->enablePush(( (::String)(this->enabledPushData->__Field(HX_("push_service",90,f1,d2,f8),::hx::paccDynamic)) ),( (::String)(this->enabledPushData->__Field(HX_("endpoint",95,d6,5f,31),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("p256dh",e7,0a,33,b5),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("auth",68,df,76,40),::hx::paccDynamic)) ),( (int)(this->enabledPushData->__Field(HX_("grace",f8,03,ea,99),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("vapid_private_pkcs8",32,d7,0a,03),::hx::paccDynamic)) ),( (::Array< ::String >)(this->enabledPushData->__Field(HX_("claims",77,1d,09,05),::hx::paccDynamic)) ));
+HXLINE(1651) this->enablePush(( (::String)(this->enabledPushData->__Field(HX_("push_service",90,f1,d2,f8),::hx::paccDynamic)) ),( (::String)(this->enabledPushData->__Field(HX_("endpoint",95,d6,5f,31),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("p256dh",e7,0a,33,b5),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("auth",68,df,76,40),::hx::paccDynamic)) ),( (int)(this->enabledPushData->__Field(HX_("grace",f8,03,ea,99),::hx::paccDynamic)) ),( (::Array< unsigned char >)(this->enabledPushData->__Field(HX_("vapid_private_pkcs8",32,d7,0a,03),::hx::paccDynamic)) ),( (::Array< ::String >)(this->enabledPushData->__Field(HX_("claims",77,1d,09,05),::hx::paccDynamic)) ));
}
@@ -3670,15 +4513,15 @@ HX_DEFINE_DYNAMIC_FUNC0(Client_obj,updatePushIfEnabled,(void))
int Client_obj::addPasswordNeededListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1302_addPasswordNeededListener)
-HXLINE(1303) handler(_gthis);
-HXLINE(1304) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1662_addPasswordNeededListener)
+HXLINE(1663) handler(_gthis);
+HXLINE(1664) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1301_addPasswordNeededListener)
-HXDLIN(1301) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1302) return this->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_0(_gthis,handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1661_addPasswordNeededListener)
+HXDLIN(1661) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1662) return this->on(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(new _hx_Closure_0(_gthis,handler)));
}
@@ -3715,14 +4558,14 @@ HXDLIN( 367) return this->addPasswordNeededListener( ::Dynamic(new _hx_Closure_
int Client_obj::addStatusOnlineListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1316_addStatusOnlineListener)
-HXLINE(1317) handler();
-HXLINE(1318) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1676_addStatusOnlineListener)
+HXLINE(1677) handler();
+HXLINE(1678) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1316_addStatusOnlineListener)
-HXDLIN(1316) return this->on(HX_("status/online",10,05,0e,d2), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1676_addStatusOnlineListener)
+HXDLIN(1676) return this->on(HX_("status/online",10,05,0e,d2), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3744,14 +4587,14 @@ HXDLIN( 367) return this->addStatusOnlineListener( ::Dynamic(new _hx_Closure_0(
int Client_obj::addStatusOfflineListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1330_addStatusOfflineListener)
-HXLINE(1331) handler();
-HXLINE(1332) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1690_addStatusOfflineListener)
+HXLINE(1691) handler();
+HXLINE(1692) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1330_addStatusOfflineListener)
-HXDLIN(1330) return this->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1690_addStatusOfflineListener)
+HXDLIN(1690) return this->on(HX_("status/offline",c6,eb,eb,54), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3773,14 +4616,14 @@ HXDLIN( 367) return this->addStatusOfflineListener( ::Dynamic(new _hx_Closure_0
int Client_obj::addConnectionFailedListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1344_addConnectionFailedListener)
-HXLINE(1345) handler();
-HXLINE(1346) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1704_addConnectionFailedListener)
+HXLINE(1705) handler();
+HXLINE(1706) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1344_addConnectionFailedListener)
-HXDLIN(1344) return this->stream->on(HX_("status/error",eb,19,84,6f), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1704_addConnectionFailedListener)
+HXDLIN(1704) return this->stream->on(HX_("status/error",eb,19,84,6f), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3802,13 +4645,13 @@ HXDLIN( 367) return this->addConnectionFailedListener( ::Dynamic(new _hx_Closur
int Client_obj::addTlsCheckListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1359_addTlsCheckListener)
-HXLINE(1359) return ::borogove::EventResult_obj::EventValue(handler( ::Dynamic(data->__Field(HX_("pem",d8,54,55,00),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("dnsNames",5f,19,aa,5a),::hx::paccDynamic))));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1719_addTlsCheckListener)
+HXLINE(1719) return ::borogove::EventResult_obj::EventValue(handler( ::Dynamic(data->__Field(HX_("pem",d8,54,55,00),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("dnsNames",5f,19,aa,5a),::hx::paccDynamic))));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1358_addTlsCheckListener)
-HXDLIN(1358) return this->stream->on(HX_("tls/check",74,a0,4c,75), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1718_addTlsCheckListener)
+HXDLIN(1718) return this->stream->on(HX_("tls/check",74,a0,4c,75), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3859,14 +4702,14 @@ HXDLIN( 367) return this->addTlsCheckListener( ::Dynamic(new _hx_Closure_0(hand
int Client_obj::addChatMessageListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1397_addChatMessageListener)
-HXLINE(1398) handler( ::Dynamic(data->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("event",1a,c8,c4,75),::hx::paccDynamic)));
-HXLINE(1399) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1757_addChatMessageListener)
+HXLINE(1758) handler( ::Dynamic(data->__Field(HX_("message",c7,35,11,9a),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("event",1a,c8,c4,75),::hx::paccDynamic)));
+HXLINE(1759) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1397_addChatMessageListener)
-HXDLIN(1397) return this->on(HX_("message/new",d8,fc,71,67), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1757_addChatMessageListener)
+HXDLIN(1757) return this->on(HX_("message/new",d8,fc,71,67), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3903,14 +4746,14 @@ HXDLIN( 367) return this->addChatMessageListener( ::Dynamic(new _hx_Closure_0(h
int Client_obj::addSyncMessageListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::borogove::ChatMessage data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1412_addSyncMessageListener)
-HXLINE(1413) handler(data);
-HXLINE(1414) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1772_addSyncMessageListener)
+HXLINE(1773) handler(data);
+HXLINE(1774) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1412_addSyncMessageListener)
-HXDLIN(1412) return this->on(HX_("message/sync",e3,76,a8,1f), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1772_addSyncMessageListener)
+HXDLIN(1772) return this->on(HX_("message/sync",e3,76,a8,1f), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -3945,76 +4788,83 @@ HXDLIN( 367) return this->addSyncMessageListener( ::Dynamic(new _hx_Closure_0(h
int Client_obj::addChatsUpdatedListener( ::Dynamic handler){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_3, ::haxe::ds::StringMap,updateChatBuffer,::Array< ::Dynamic>,updateChatTimer, ::Dynamic,handler,::Array< Float >,lastCall) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::haxe::ds::StringMap,updateChatBuffer,::Array< ::Dynamic>,updateChatTimer, ::Dynamic,handler,::Array< Float >,lastCall) HXARGC(1)
::borogove::EventResult _hx_run(::Array< ::Dynamic> data){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1429_addChatsUpdatedListener)
-HXLINE(1430) Float now = ( ::__time_stamp() * ( (Float)(1000) ));
-HXLINE(1431) if (::hx::IsNotNull( updateChatTimer->__get(0).StaticCast< ::haxe::Timer >() )) {
-HXLINE(1432) updateChatTimer->__get(0).StaticCast< ::haxe::Timer >()->stop();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1789_addChatsUpdatedListener)
+HXLINE(1790) Float now = ( ::__time_stamp() * ( (Float)(1000) ));
+HXLINE(1791) if (::hx::IsNotNull( updateChatTimer->__get(0).StaticCast< ::haxe::Timer >() )) {
+HXLINE(1792) updateChatTimer->__get(0).StaticCast< ::haxe::Timer >()->stop();
}
-HXLINE(1434) {
-HXLINE(1434) int _g = 0;
-HXDLIN(1434) while((_g < data->length)){
-HXLINE(1434) ::borogove::Chat chat = data->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(1434) _g = (_g + 1);
-HXLINE(1435) updateChatBuffer->set(chat->chatId,chat);
+HXLINE(1794) {
+HXLINE(1794) int _g = 0;
+HXDLIN(1794) while((_g < data->length)){
+HXLINE(1794) ::borogove::Chat chat = data->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN(1794) _g = (_g + 1);
+HXLINE(1795) if (::hx::IsNull( _gthis->getChat(chat->chatId) )) {
+HXLINE(1795) ::haxe::Log_obj::trace(HX_("chats/update was triggered for a chat not in chats",9c,88,8c,56),::hx::SourceInfo(HX_("borogove/Util.hx",ae,4b,19,66),111,HX_("borogove._Util.Util_Fields_",03,41,c9,1a),HX_("assert",c6,46,03,4c)));
+HXDLIN(1795) __builtin_trap();
+ }
+HXLINE(1796) updateChatBuffer->set(chat->chatId,true);
}
}
-HXLINE(1437) bool _hx_tmp;
-HXDLIN(1437) if (!((lastCall->__get(0) < 0))) {
-HXLINE(1437) _hx_tmp = ((now - lastCall->__get(0)) >= 500);
+HXLINE(1798) bool _hx_tmp;
+HXDLIN(1798) if (!((lastCall->__get(0) < 0))) {
+HXLINE(1798) _hx_tmp = ((now - lastCall->__get(0)) >= 500);
}
else {
-HXLINE(1437) _hx_tmp = true;
+HXLINE(1798) _hx_tmp = true;
}
-HXDLIN(1437) if (_hx_tmp) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,_e) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1439_addChatsUpdatedListener)
-HXLINE(1439) return _e->iterator();
+HXDLIN(1798) if (_hx_tmp) {
+HXLINE(1799) lastCall[0] = now;
+HXLINE(1800) ::Array< ::Dynamic> toSend = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1801) {
+HXLINE(1801) ::Dynamic map = updateChatBuffer;
+HXDLIN(1801) ::Dynamic _g_map = map;
+HXDLIN(1801) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN(1801) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1801) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1801) ::haxe::IMap_obj::get(_g_map,key);
+HXLINE(1802) toSend->push(_gthis->getChat(key));
+ }
}
- HX_END_LOCAL_FUNC0(return)
-
-HXLINE(1438) lastCall[0] = now;
-HXLINE(1439) ::Dynamic handler1 = handler;
-HXDLIN(1439) ::haxe::ds::StringMap _e = updateChatBuffer;
-HXDLIN(1439) handler1(::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(_e))))));
-HXLINE(1440) updateChatTimer[0] = null();
-HXLINE(1441) updateChatBuffer->clear();
+HXLINE(1804) handler(toSend);
+HXLINE(1805) updateChatTimer[0] = null();
+HXLINE(1806) updateChatBuffer->clear();
}
else {
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2, ::haxe::ds::StringMap,updateChatBuffer,::Array< ::Dynamic>,updateChatTimer, ::Dynamic,handler,::Array< Float >,lastCall) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::haxe::ds::StringMap,updateChatBuffer,::Array< ::Dynamic>,updateChatTimer, ::Dynamic,handler,::Array< Float >,lastCall) HXARGC(0)
void _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::haxe::ds::StringMap,_e) HXARGC(0)
- ::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1445_addChatsUpdatedListener)
-HXLINE(1445) return _e->iterator();
- }
- HX_END_LOCAL_FUNC0(return)
-
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1443_addChatsUpdatedListener)
-HXLINE(1444) lastCall[0] = ( ::__time_stamp() * ( (Float)(1000) ));
-HXLINE(1445) ::Dynamic handler1 = handler;
-HXDLIN(1445) ::haxe::ds::StringMap _e = updateChatBuffer;
-HXDLIN(1445) handler1(::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_1(_e))))));
-HXLINE(1446) updateChatTimer[0] = null();
-HXLINE(1447) updateChatBuffer->clear();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1808_addChatsUpdatedListener)
+HXLINE(1809) lastCall[0] = ( ::__time_stamp() * ( (Float)(1000) ));
+HXLINE(1810) ::Array< ::Dynamic> toSend = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1811) {
+HXLINE(1811) ::Dynamic map = updateChatBuffer;
+HXDLIN(1811) ::Dynamic _g_map = map;
+HXDLIN(1811) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN(1811) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1811) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1811) ::haxe::IMap_obj::get(_g_map,key);
+HXLINE(1812) toSend->push(_gthis->getChat(key));
+ }
+ }
+HXLINE(1814) handler(toSend);
+HXLINE(1815) updateChatTimer[0] = null();
+HXLINE(1816) updateChatBuffer->clear();
}
HX_END_LOCAL_FUNC0((void))
-HXLINE(1443) updateChatTimer[0] = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_2(updateChatBuffer,updateChatTimer,handler,lastCall)),500);
+HXLINE(1808) updateChatTimer[0] = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis,updateChatBuffer,updateChatTimer,handler,lastCall)),500);
}
-HXLINE(1450) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE(1819) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1425_addChatsUpdatedListener)
-HXLINE(1426) ::haxe::ds::StringMap updateChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1427) ::Array< Float > lastCall = ::Array_obj< Float >::fromData( _hx_array_data_c0e6dc18_174,1);
-HXLINE(1428) ::Array< ::Dynamic> updateChatTimer = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
-HXLINE(1429) return this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_3(updateChatBuffer,updateChatTimer,handler,lastCall)));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1785_addChatsUpdatedListener)
+HXDLIN(1785) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1786) ::haxe::ds::StringMap updateChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1787) ::Array< Float > lastCall = ::Array_obj< Float >::fromData( _hx_array_data_c0e6dc18_218,1);
+HXLINE(1788) ::Array< ::Dynamic> updateChatTimer = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE(1789) return this->on(HX_("chats/update",3d,8e,1d,14), ::Dynamic(new _hx_Closure_1(_gthis,updateChatBuffer,updateChatTimer,handler,lastCall)));
}
@@ -4051,14 +4901,14 @@ HXDLIN( 367) return this->addChatsUpdatedListener( ::Dynamic(new _hx_Closure_0(
int Client_obj::addCallRingListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1463_addCallRingListener)
-HXLINE(1464) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
-HXLINE(1465) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1832_addCallRingListener)
+HXLINE(1833) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
+HXLINE(1834) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1463_addCallRingListener)
-HXDLIN(1463) return this->on(HX_("call/ring",01,8e,91,54), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1832_addCallRingListener)
+HXDLIN(1832) return this->on(HX_("call/ring",01,8e,91,54), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4095,14 +4945,14 @@ HXDLIN( 367) return this->addCallRingListener( ::Dynamic(new _hx_Closure_0(hand
int Client_obj::addCallRetractListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1477_addCallRetractListener)
-HXLINE(1478) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("sid",0e,9f,57,00),::hx::paccDynamic)));
-HXLINE(1479) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1846_addCallRetractListener)
+HXLINE(1847) handler( ::Dynamic(data->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("sid",0e,9f,57,00),::hx::paccDynamic)));
+HXLINE(1848) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1477_addCallRetractListener)
-HXDLIN(1477) return this->on(HX_("call/retract",50,bc,8d,db), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1846_addCallRetractListener)
+HXDLIN(1846) return this->on(HX_("call/retract",50,bc,8d,db), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4152,14 +5002,14 @@ HXDLIN( 367) return this->addCallRetractListener( ::Dynamic(new _hx_Closure_0(h
int Client_obj::addCallRingingListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run(::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1491_addCallRingingListener)
-HXLINE(1492) handler(data);
-HXLINE(1493) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1860_addCallRingingListener)
+HXLINE(1861) handler(data);
+HXLINE(1862) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1491_addCallRingingListener)
-HXDLIN(1491) return this->on(HX_("call/ringing",81,75,54,f9), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1860_addCallRingingListener)
+HXDLIN(1860) return this->on(HX_("call/ringing",81,75,54,f9), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4196,14 +5046,14 @@ HXDLIN( 367) return this->addCallRingingListener( ::Dynamic(new _hx_Closure_0(h
int Client_obj::addCallUpdateStatusListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1505_addCallUpdateStatusListener)
-HXLINE(1506) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
-HXLINE(1507) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1874_addCallUpdateStatusListener)
+HXLINE(1875) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)));
+HXLINE(1876) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1505_addCallUpdateStatusListener)
-HXDLIN(1505) return this->on(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1874_addCallUpdateStatusListener)
+HXDLIN(1874) return this->on(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4240,14 +5090,14 @@ HXDLIN( 367) return this->addCallUpdateStatusListener( ::Dynamic(new _hx_Closur
int Client_obj::addCallMediaListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1521_addCallMediaListener)
-HXLINE(1522) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("audio",d6,78,80,27),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("video",7b,14,fc,36),::hx::paccDynamic)));
-HXLINE(1523) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1890_addCallMediaListener)
+HXLINE(1891) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("audio",d6,78,80,27),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("video",7b,14,fc,36),::hx::paccDynamic)));
+HXLINE(1892) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1521_addCallMediaListener)
-HXDLIN(1521) return this->on(HX_("call/media",73,5d,1d,c7), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1890_addCallMediaListener)
+HXDLIN(1890) return this->on(HX_("call/media",73,5d,1d,c7), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4284,14 +5134,14 @@ HXDLIN( 367) return this->addCallMediaListener( ::Dynamic(new _hx_Closure_0(han
int Client_obj::addCallTrackListener( ::Dynamic handler){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,handler) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1536_addCallTrackListener)
-HXLINE(1537) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("streams",f3,db,44,f6),::hx::paccDynamic)));
-HXLINE(1538) return ::borogove::EventResult_obj::EventHandled_dyn();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1905_addCallTrackListener)
+HXLINE(1906) handler( ::Dynamic(data->__Field(HX_("session",56,17,98,93),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)), ::Dynamic(data->__Field(HX_("streams",f3,db,44,f6),::hx::paccDynamic)));
+HXLINE(1907) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1536_addCallTrackListener)
-HXDLIN(1536) return this->on(HX_("call/track",1a,e7,80,d7), ::Dynamic(new _hx_Closure_0(handler)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1905_addCallTrackListener)
+HXDLIN(1905) return this->on(HX_("call/track",1a,e7,80,d7), ::Dynamic(new _hx_Closure_0(handler)));
}
@@ -4356,24 +5206,26 @@ HXDLIN( 367) return this->addCallTrackListener( ::Dynamic(new _hx_Closure_0(han
void Client_obj::setInForeground(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1546_setInForeground)
-HXLINE(1547) if (!(this->stream->csi)) {
-HXLINE(1547) return;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1915_setInForeground)
+HXLINE(1916) if (!(this->stream->csi)) {
+HXLINE(1916) return;
}
-HXLINE(1548) this->stream->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:csi:0",13,f1,6d,24)))));
+HXLINE(1917) ::borogove::GenericStream _hx_tmp = this->stream;
+HXDLIN(1917) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:csi:0",13,f1,6d,24))),null()));
}
HX_DEFINE_DYNAMIC_FUNC0(Client_obj,setInForeground,(void))
void Client_obj::setNotInForeground(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1554_setNotInForeground)
-HXLINE(1555) if (!(this->stream->csi)) {
-HXLINE(1555) return;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1923_setNotInForeground)
+HXLINE(1924) if (!(this->stream->csi)) {
+HXLINE(1924) return;
}
-HXLINE(1556) this->stream->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("inactive",6b,17,30,6a), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:csi:0",13,f1,6d,24)))));
+HXLINE(1925) ::borogove::GenericStream _hx_tmp = this->stream;
+HXDLIN(1925) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("inactive",6b,17,30,6a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:csi:0",13,f1,6d,24))),null()));
}
@@ -4382,101 +5234,174 @@ HX_DEFINE_DYNAMIC_FUNC0(Client_obj,setNotInForeground,(void))
::Dynamic Client_obj::fetchMediaByHash(::Array< ::Dynamic> hashes,::Array< ::Dynamic> counterparts){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Dynamic _hx_run( ::Dynamic x){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1564_fetchMediaByHash)
-HXLINE(1564) return x;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1933_fetchMediaByHash)
+HXLINE(1933) return x;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis,::Array< ::Dynamic>,hashes,::Array< ::Dynamic>,counterparts) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1564_fetchMediaByHash)
-HXLINE(1564) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1564) ::Array< ::Dynamic> hashes1 = hashes;
-HXDLIN(1564) return _gthis1->fetchMediaByHash(hashes1,counterparts->slice(1,null()));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1933_fetchMediaByHash)
+HXLINE(1933) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1933) ::Array< ::Dynamic> hashes1 = hashes;
+HXDLIN(1933) return _gthis1->fetchMediaByHash(hashes1,counterparts->slice(1,null()));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1560_fetchMediaByHash)
-HXDLIN(1560) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1563) bool _hx_tmp;
-HXDLIN(1563) if ((hashes->length >= 1)) {
-HXLINE(1563) _hx_tmp = (counterparts->length < 1);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1929_fetchMediaByHash)
+HXDLIN(1929) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1932) bool _hx_tmp;
+HXDLIN(1932) if ((hashes->length >= 1)) {
+HXLINE(1932) _hx_tmp = (counterparts->length < 1);
}
else {
-HXLINE(1563) _hx_tmp = true;
+HXLINE(1932) _hx_tmp = true;
}
-HXDLIN(1563) if (_hx_tmp) {
-HXLINE(1563) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no counterparts left",64,15,a4,38));
+HXDLIN(1932) if (_hx_tmp) {
+HXLINE(1932) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no counterparts left",64,15,a4,38));
}
-HXLINE(1564) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchMediaByHashOneCounterpart(hashes,counterparts->__get(0).StaticCast< ::borogove::JID >()), ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(_gthis,hashes,counterparts)));
+HXLINE(1933) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchMediaByHashOneCounterpart(hashes,counterparts->__get(0).StaticCast< ::borogove::JID >()), ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(_gthis,hashes,counterparts)));
}
HX_DEFINE_DYNAMIC_FUNC2(Client_obj,fetchMediaByHash,return )
+::Dynamic Client_obj::maybeAutodownloadAttachments( ::borogove::Chat chat, ::borogove::ChatMessage message){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
+ bool _hx_run(::Array< ::Dynamic> _){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1958_maybeAutodownloadAttachments)
+HXLINE(1958) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1937_maybeAutodownloadAttachments)
+HXDLIN(1937) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1938) if (::hx::IsNull( chat )) {
+HXLINE(1938) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+HXLINE(1939) ::String chat1 = chat->chatId;
+HXDLIN(1939) if ((chat1 != message->chatId())) {
+HXLINE(1939) HX_STACK_DO_THROW(HX_("Message not in that chat",fc,3f,16,f8));
+ }
+HXLINE(1940) if (!(chat->isTrusted())) {
+HXLINE(1940) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+HXLINE(1941) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE(1942) bool _hx_tmp;
+HXDLIN(1942) if (::hx::IsNotNull( channel )) {
+HXLINE(1942) _hx_tmp = !(channel->isPrivate());
+ }
+ else {
+HXLINE(1942) _hx_tmp = false;
+ }
+HXDLIN(1942) if (_hx_tmp) {
+HXLINE(1942) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
+ }
+HXLINE(1944) ::String chatDomain = ::borogove::JID_obj::parse(chat->chatId)->domain;
+HXLINE(1945) ::Array< ::Dynamic> ps = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1946) {
+HXLINE(1946) int _g = 0;
+HXDLIN(1946) ::Array< ::Dynamic> _g1 = message->attachments;
+HXDLIN(1946) while((_g < _g1->length)){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,chatDomain) HXARGC(1)
+ bool _hx_run(::String uri){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1947_maybeAutodownloadAttachments)
+HXLINE(1947) ::String _hx_tmp = uri.split(HX_("/",2f,00,00,00))->__get(2).split(HX_(":",3a,00,00,00))->__get(0);
+HXDLIN(1947) return ::StringTools_obj::endsWith(_hx_tmp,chatDomain);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1946) ::borogove::ChatAttachment attachment = _g1->__get(_g).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN(1946) _g = (_g + 1);
+HXLINE(1947) if (::hx::IsNotNull( ::Lambda_obj::find(attachment->uris, ::Dynamic(new _hx_Closure_0(chatDomain))) )) {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::borogove::ChatMessage,message, ::borogove::ChatAttachment,attachment) HXARGC(1)
+ ::Dynamic _hx_run( ::borogove::ChatAttachment lookedUp){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1948_maybeAutodownloadAttachments)
+HXLINE(1949) if (::hx::IsNotNull( lookedUp->cachedAt )) {
+HXLINE(1949) return ::thenshim::_Promise::Promise_Impl__obj::resolve(lookedUp);
+ }
+HXLINE(1951) return message->fetchAttachment(attachment,_gthis,false);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(1948) ps->push(::thenshim::_Promise::Promise_Impl__obj::then(attachment->lookup(this->persistence), ::Dynamic(new _hx_Closure_1(_gthis,message,attachment)),null()));
+ }
+ }
+ }
+HXLINE(1956) if ((ps->length < 1)) {
+HXLINE(1956) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+HXLINE(1958) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(ps), ::Dynamic(new _hx_Closure_2()),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Client_obj,maybeAutodownloadAttachments,return )
+
::Dynamic Client_obj::fetchMediaByHashOneCounterpart(::Array< ::Dynamic> hashes, ::borogove::JID counterpart){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_5, ::borogove::JID,counterpart, ::borogove::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(1)
- ::Dynamic _hx_run(bool has){
+ ::Dynamic _hx_run(::String has){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2, ::borogove::JID,counterpart, ::borogove::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::Dynamic,resolve, ::Dynamic,reject, ::borogove::queries::BoB,q1) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1575_fetchMediaByHashOneCounterpart)
-HXLINE(1576) ::Dynamic r = q1->getResult();
-HXLINE(1577) if (::hx::IsNull( r )) {
-HXLINE(1578) reject(HX_("bad or no result from BoB query",ad,e0,04,ee));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1969_fetchMediaByHashOneCounterpart)
+HXLINE(1970) ::Dynamic r = q1->getResult();
+HXLINE(1971) if (::hx::IsNull( r )) {
+HXLINE(1972) reject(HX_("bad or no result from BoB query",ad,e0,04,ee));
}
else {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve) HXARGC(1)
- void _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1580_fetchMediaByHashOneCounterpart)
-HXLINE(1580) resolve(null());
+ void _hx_run(::String _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1974_fetchMediaByHashOneCounterpart)
+HXLINE(1974) resolve(null());
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1580) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis->persistence, ::Dynamic(r->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)),( ( ::haxe::io::Bytes)(r->__Field(HX_("bytes",6b,08,98,bd),::hx::paccDynamic)) )->b), ::Dynamic(new _hx_Closure_0(resolve)),null());
+HXLINE(1974) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1974) ::String r1 = ( (::String)(r->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) );
+HXDLIN(1974) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(_gthis1,r1,::borogove::_Source::Source_Impl__obj::ofTinkSource( ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(( ( ::haxe::io::Bytes)(r->__Field(HX_("bytes",6b,08,98,bd),::hx::paccDynamic)) )))))), ::Dynamic(new _hx_Closure_0(resolve)),null());
}
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1573_fetchMediaByHashOneCounterpart)
-HXLINE(1574) ::String q = counterpart->asString();
-HXDLIN(1574) ::borogove::queries::BoB q1 = ::borogove::queries::BoB_obj::forHash(q,hashes->__get(0).StaticCast< ::borogove::Hash >());
-HXLINE(1575) q1->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,resolve,reject,q1)));
-HXLINE(1583) _gthis->sendQueryLazy(q1);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1967_fetchMediaByHashOneCounterpart)
+HXLINE(1968) ::String q = counterpart->asString();
+HXDLIN(1968) ::borogove::queries::BoB q1 = ::borogove::queries::BoB_obj::forHash(q,hashes->__get(0).StaticCast< ::borogove::Hash >());
+HXLINE(1969) q1->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,resolve,reject,q1)));
+HXLINE(1977) _gthis->sendQueryLazy(q1);
}
HX_END_LOCAL_FUNC2((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
::Dynamic _hx_run( ::Dynamic x){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1584_fetchMediaByHashOneCounterpart)
-HXLINE(1584) return x;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1978_fetchMediaByHashOneCounterpart)
+HXLINE(1978) return x;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::borogove::JID,counterpart, ::borogove::Client,_gthis,::Array< ::Dynamic>,hashes) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1584_fetchMediaByHashOneCounterpart)
-HXLINE(1584) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1584) ::Array< ::Dynamic> _hx_tmp = hashes->slice(1,null());
-HXDLIN(1584) return _gthis1->fetchMediaByHashOneCounterpart(_hx_tmp,counterpart);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1978_fetchMediaByHashOneCounterpart)
+HXLINE(1978) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(1978) ::Array< ::Dynamic> _hx_tmp = hashes->slice(1,null());
+HXDLIN(1978) return _gthis1->fetchMediaByHashOneCounterpart(_hx_tmp,counterpart);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1570_fetchMediaByHashOneCounterpart)
-HXLINE(1571) if (has) {
-HXLINE(1571) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1964_fetchMediaByHashOneCounterpart)
+HXLINE(1965) if (::hx::IsNotNull( has )) {
+HXLINE(1965) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE(1573) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(counterpart,_gthis,hashes))), ::Dynamic(new _hx_Closure_3()), ::Dynamic(new _hx_Closure_4(counterpart,_gthis,hashes)));
+HXLINE(1967) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(counterpart,_gthis,hashes))), ::Dynamic(new _hx_Closure_3()), ::Dynamic(new _hx_Closure_4(counterpart,_gthis,hashes)));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1567_fetchMediaByHashOneCounterpart)
-HXDLIN(1567) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1568) if ((hashes->length < 1)) {
-HXLINE(1568) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no hashes left",8c,68,e6,69));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1961_fetchMediaByHashOneCounterpart)
+HXDLIN(1961) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1962) if ((hashes->length < 1)) {
+HXLINE(1962) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("no hashes left",8c,68,e6,69));
}
-HXLINE(1570) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(this->persistence,hashes->__get(0).StaticCast< ::borogove::Hash >()->algorithm,hashes->__get(0).StaticCast< ::borogove::Hash >()->hash), ::Dynamic(new _hx_Closure_5(counterpart,_gthis,hashes)),null());
+HXLINE(1964) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(this->persistence,hashes->__get(0).StaticCast< ::borogove::Hash >()), ::Dynamic(new _hx_Closure_5(counterpart,_gthis,hashes)),null());
}
@@ -4485,50 +5410,50 @@ HX_DEFINE_DYNAMIC_FUNC2(Client_obj,fetchMediaByHashOneCounterpart,return )
void Client_obj::chatActivity( ::borogove::Chat chat,::hx::Null< bool > __o_trigger){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Chat,chat) HXARGC(1)
bool _hx_run( ::borogove::Chat c){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1596_chatActivity)
-HXLINE(1596) return (c->chatId == chat->chatId);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1990_chatActivity)
+HXLINE(1990) return (c->chatId == chat->chatId);
}
HX_END_LOCAL_FUNC1(return)
bool trigger = __o_trigger.Default(true);
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1589_chatActivity)
-HXLINE(1590) if (chat->isBlocked) {
-HXLINE(1590) return;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1983_chatActivity)
+HXLINE(1984) if (chat->isBlocked) {
+HXLINE(1984) return;
}
-HXLINE(1591) if ((chat->uiState == 2)) {
-HXLINE(1592) chat->uiState = 1;
-HXLINE(1593) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1593) ::String _hx_tmp1 = this->accountId();
-HXDLIN(1593) ::borogove::Persistence_obj::storeChats(_hx_tmp,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(1985) if ((chat->uiState == 2)) {
+HXLINE(1986) chat->uiState = 1;
+HXLINE(1987) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1987) ::String _hx_tmp1 = this->accountId();
+HXDLIN(1987) ::borogove::Persistence_obj::storeChats(_hx_tmp,_hx_tmp1,::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
}
-HXLINE(1595) int pinnedCount;
-HXDLIN(1595) if ((chat->uiState == 0)) {
-HXLINE(1595) pinnedCount = 0;
+HXLINE(1989) int pinnedCount;
+HXDLIN(1989) if ((chat->uiState == 0)) {
+HXLINE(1989) pinnedCount = 0;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run( ::borogove::Chat item,int result){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1595_chatActivity)
-HXLINE(1595) int pinnedCount;
-HXDLIN(1595) if ((item->uiState == 0)) {
-HXLINE(1595) pinnedCount = 1;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1989_chatActivity)
+HXLINE(1989) int pinnedCount;
+HXDLIN(1989) if ((item->uiState == 0)) {
+HXLINE(1989) pinnedCount = 1;
}
else {
-HXLINE(1595) pinnedCount = 0;
+HXLINE(1989) pinnedCount = 0;
}
-HXDLIN(1595) return (result + pinnedCount);
+HXDLIN(1989) return (result + pinnedCount);
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(1595) pinnedCount = ( (int)(::Lambda_obj::fold(this->chats, ::Dynamic(new _hx_Closure_0()),0)) );
+HXLINE(1989) pinnedCount = ( (int)(::Lambda_obj::fold(this->chats, ::Dynamic(new _hx_Closure_0()),0)) );
}
-HXLINE(1596) int idx = ::Lambda_obj::findIndex(this->chats, ::Dynamic(new _hx_Closure_1(chat)));
-HXLINE(1597) if ((idx > pinnedCount)) {
-HXLINE(1598) this->chats->removeRange(idx,1);
-HXLINE(1599) this->chats->insert(pinnedCount,chat);
+HXLINE(1990) int idx = ::Lambda_obj::findIndex(this->chats, ::Dynamic(new _hx_Closure_1(chat)));
+HXLINE(1991) if ((idx > pinnedCount)) {
+HXLINE(1992) this->chats->removeRange(idx,1);
+HXLINE(1993) this->chats->insert(pinnedCount,chat);
}
-HXLINE(1601) if (trigger) {
-HXLINE(1601) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXLINE(1995) if (trigger) {
+HXLINE(1995) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
}
}
@@ -4538,63 +5463,63 @@ HX_DEFINE_DYNAMIC_FUNC2(Client_obj,chatActivity,(void))
void Client_obj::sortChats(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
int _hx_run( ::borogove::Chat a, ::borogove::Chat b){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1607_sortChats)
-HXLINE(1607) if ((a->uiState == b->uiState)) {
-HXLINE(1608) ::borogove::ChatMessage tmp = a->lastMessage;
-HXDLIN(1608) ::String tmp1;
-HXDLIN(1608) if (::hx::IsNotNull( tmp )) {
-HXLINE(1608) tmp1 = tmp->timestamp;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2001_sortChats)
+HXLINE(2001) if ((a->uiState == b->uiState)) {
+HXLINE(2002) ::borogove::ChatMessage tmp = a->lastMessage;
+HXDLIN(2002) ::String tmp1;
+HXDLIN(2002) if (::hx::IsNotNull( tmp )) {
+HXLINE(2002) tmp1 = tmp->timeReceived;
}
else {
-HXLINE(1608) tmp1 = null();
+HXLINE(2002) tmp1 = null();
}
-HXDLIN(1608) ::String tcompare;
-HXDLIN(1608) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1608) tcompare = tmp1;
+HXDLIN(2002) ::String tcompare;
+HXDLIN(2002) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2002) tcompare = tmp1;
}
else {
-HXLINE(1608) tcompare = HX_("0",30,00,00,00);
+HXLINE(2002) tcompare = HX_("0",30,00,00,00);
}
-HXDLIN(1608) ::borogove::ChatMessage tmp2 = b->lastMessage;
-HXDLIN(1608) ::String tmp3;
-HXDLIN(1608) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1608) tmp3 = tmp2->timestamp;
+HXDLIN(2002) ::borogove::ChatMessage tmp2 = b->lastMessage;
+HXDLIN(2002) ::String tmp3;
+HXDLIN(2002) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(2002) tmp3 = tmp2->timeReceived;
}
else {
-HXLINE(1608) tmp3 = null();
+HXLINE(2002) tmp3 = null();
}
-HXDLIN(1608) ::String tcompare1;
-HXDLIN(1608) if (::hx::IsNotNull( tmp3 )) {
-HXLINE(1608) tcompare1 = tmp3;
+HXDLIN(2002) ::String tcompare1;
+HXDLIN(2002) if (::hx::IsNotNull( tmp3 )) {
+HXLINE(2002) tcompare1 = tmp3;
}
else {
-HXLINE(1608) tcompare1 = HX_("0",30,00,00,00);
+HXLINE(2002) tcompare1 = HX_("0",30,00,00,00);
}
-HXDLIN(1608) int tcompare2 = -(::Reflect_obj::compare(tcompare,tcompare1));
-HXLINE(1609) if ((tcompare2 != 0)) {
-HXLINE(1609) return tcompare2;
+HXDLIN(2002) int tcompare2 = -(::Reflect_obj::compare(tcompare,tcompare1));
+HXLINE(2003) if ((tcompare2 != 0)) {
+HXLINE(2003) return tcompare2;
}
-HXLINE(1610) ::String _hx_tmp = a->getDisplayName();
-HXDLIN(1610) return ::Reflect_obj::compare(_hx_tmp,b->getDisplayName());
+HXLINE(2004) ::String _hx_tmp = a->getDisplayName();
+HXDLIN(2004) return ::Reflect_obj::compare(_hx_tmp,b->getDisplayName());
}
else {
-HXLINE(1612) return ::Reflect_obj::compare(a->uiState,b->uiState);
+HXLINE(2006) return ::Reflect_obj::compare(a->uiState,b->uiState);
}
-HXLINE(1607) return 0;
+HXLINE(2001) return 0;
}
HX_END_LOCAL_FUNC2(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1606_sortChats)
-HXDLIN(1606) this->chats->sort( ::Dynamic(new _hx_Closure_0()));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2000_sortChats)
+HXDLIN(2000) this->chats->sort( ::Dynamic(new _hx_Closure_0()));
}
HX_DEFINE_DYNAMIC_FUNC0(Client_obj,sortChats,(void))
::String Client_obj::nextSortId(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1618_nextSortId)
-HXLINE(1619) this->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(this->sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE(1620) return this->sortId;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2012_nextSortId)
+HXLINE(2013) this->sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(this->sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE(2014) return this->sortId;
}
@@ -4603,34 +5528,202 @@ HX_DEFINE_DYNAMIC_FUNC0(Client_obj,nextSortId,return )
::Dynamic Client_obj::storeMessageBuilder( ::borogove::ChatMessageBuilder builder){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::borogove::ChatMessage _hx_run(::Array< ::Dynamic> result){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1626_storeMessageBuilder)
-HXLINE(1626) return result->__get(0).StaticCast< ::borogove::ChatMessage >();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2029_storeMessageBuilder)
+HXLINE(2029) return result->__get(0).StaticCast< ::borogove::ChatMessage >();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1624_storeMessageBuilder)
-HXLINE(1625) if (::hx::IsNull( builder->sortId )) {
-HXLINE(1625) builder->sortId = this->nextSortId();
- }
-HXLINE(1626) return ::thenshim::_Promise::Promise_Impl__obj::then(this->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,builder->build())), ::Dynamic(new _hx_Closure_0()),null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2018_storeMessageBuilder)
+HXLINE(2019) if (::hx::IsNull( builder->sortId )) {
+HXLINE(2020) ::String lower = this->sortId;
+HXLINE(2021) builder->sortId = this->nextSortId();
+HXLINE(2025) ::String _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(2022) builder->debug = ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("now",16,d9,53,00),_hx_tmp)
+ ->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(2,HX_("source",db,b0,31,32),HX_("outgoing",6c,18,89,c7))
+ ->setFixed(3,HX_("path",a5,e5,51,4a),HX_("Client#storeMessageBuilder",7d,0b,fe,b3)));
+ }
+HXLINE(2029) return ::thenshim::_Promise::Promise_Impl__obj::then(this->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,builder->build())), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,storeMessageBuilder,return )
::Dynamic Client_obj::storeMessages(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1631_storeMessages)
-HXDLIN(1631) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1631) return ::borogove::Persistence_obj::storeMessages(_hx_tmp,this->accountId(),messages);
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> updatedMessages){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2050_storeMessages)
+HXLINE(2050) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(2050) return ::borogove::Persistence_obj::storeMessages(_gthis1,_gthis->accountId(),updatedMessages);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2033_storeMessages)
+HXDLIN(2033) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2034) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
+HXDLIN(2034) {
+HXLINE(2034) int _g = 0;
+HXDLIN(2034) int _g1 = messages->length;
+HXDLIN(2034) while((_g < _g1)){
+HXLINE(2034) _g = (_g + 1);
+HXDLIN(2034) int i = (_g - 1);
+HXDLIN(2034) {
+HXLINE(2034) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
+HXDLIN(2034) ::Dynamic inValue;
+HXLINE(2035) bool inValue1;
+HXDLIN(2035) ::borogove::EncryptionInfo tmp = m->encryption;
+HXDLIN(2035) ::Dynamic inValue2;
+HXDLIN(2035) if (::hx::IsNotNull( tmp )) {
+HXLINE(2035) inValue2 = tmp->status;
+ }
+ else {
+HXLINE(2035) inValue2 = null();
+ }
+HXDLIN(2035) if (::hx::IsEq( inValue2,1 )) {
+HXLINE(2035) bool inValue3;
+HXDLIN(2035) if (!(m->isIncoming())) {
+HXLINE(2035) inValue3 = ::hx::IsNotNull( m->localId );
+ }
+ else {
+HXLINE(2035) inValue3 = false;
+ }
+HXDLIN(2035) if (!(inValue3)) {
+HXLINE(2035) inValue1 = ::hx::IsNotNull( m->serverId );
+ }
+ else {
+HXLINE(2035) inValue1 = true;
+ }
+ }
+ else {
+HXLINE(2035) inValue1 = false;
+ }
+HXDLIN(2035) if (inValue1) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessage,m) HXARGC(1)
+ ::borogove::ChatMessage _hx_run( ::borogove::ChatMessage existing){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2036_storeMessages)
+HXLINE(2037) if (::hx::IsNull( existing )) {
+HXLINE(2037) return m;
+ }
+HXLINE(2039) ::haxe::Log_obj::trace(HX_("Merging failed decryyption with existing local copy",09,e1,d8,f0), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,m)->init(1,existing))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("storeMessages",cd,f1,bd,e9))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2039)));
+HXLINE(2040) ::borogove::ChatMessageBuilder b = ::borogove::ChatMessageBuilder_obj::fromMessage(existing);
+HXLINE(2041) if (::hx::IsNotNull( m->serverId )) {
+HXLINE(2041) b->serverId = m->serverId;
+ }
+HXLINE(2042) if (::hx::IsNotNull( m->serverIdBy )) {
+HXLINE(2042) b->serverIdBy = m->serverIdBy;
+ }
+HXLINE(2043) b->syncPoint = m->syncPoint;
+HXLINE(2044) b->sortId = m->sortId;
+HXLINE(2045) b->status = m->status;
+HXLINE(2046) return b->build();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(2036) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(2036) ::String inValue4 = _gthis->accountId();
+HXDLIN(2036) ::String inValue5 = m->chatId();
+HXDLIN(2036) ::String inValue6;
+HXDLIN(2036) if (m->isIncoming()) {
+HXLINE(2036) inValue6 = m->serverId;
+ }
+ else {
+HXLINE(2036) inValue6 = null();
+ }
+HXLINE(2034) inValue = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessage(_gthis1,inValue4,inValue5,inValue6,m->localId), ::Dynamic(new _hx_Closure_0(m)),null());
+ }
+ else {
+HXLINE(2034) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(m);
+ }
+HXDLIN(2034) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN(2034) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_1(_gthis)),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,storeMessages,return )
+void Client_obj::checkForResends(){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis,::String,tooOld) HXARGC(1)
+ void _hx_run(::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2059_checkForResends)
+HXLINE(2059) int _g = 0;
+HXDLIN(2059) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(2059) {
+HXLINE(2059) int _g2 = 0;
+HXDLIN(2059) while((_g2 < messages->length)){
+HXLINE(2059) ::borogove::ChatMessage v = messages->__get(_g2).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(2059) _g2 = (_g2 + 1);
+HXDLIN(2059) if ((v->type != 1)) {
+HXLINE(2059) _g1->push(v);
+ }
+ }
+ }
+HXDLIN(2059) while((_g < _g1->length)){
+HXLINE(2059) ::borogove::ChatMessage m = _g1->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(2059) _g = (_g + 1);
+HXLINE(2060) if ((m->timeSent < tooOld)) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(1)
+ void _hx_run( ::borogove::ChatMessage newM){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2062_checkForResends)
+HXLINE(2062) _gthis->notifyMessageHandlers(newM,3);
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE(2061) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(2061) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(2061) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,m->localId,3,HX_("Message too old to auto-resend",72,59,1d,0c)), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+ }
+ else {
+HXLINE(2065) ::borogove::Client _gthis2 = _gthis;
+HXDLIN(2065) ::borogove::Chat chat = _gthis2->getChat(m->chatId());
+HXLINE(2066) if (::hx::IsNull( chat )) {
+HXLINE(2067) ::Dynamic _hx_tmp1 = ::haxe::Log_obj::trace;
+HXDLIN(2067) _hx_tmp1(HX_("Resend chat not found",12,b4,22,97), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(2)->init(0,m->chatId())->init(1,m))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("checkForResends",77,10,3f,34))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2067)));
+ }
+ else {
+HXLINE(2069) ::borogove::Stanza stanza = m->asStanza();
+HXLINE(2072) ::String _hx_tmp2 = _gthis->accountId();
+HXLINE(2070) stanza->textTag(HX_("delay",83,d7,26,d7),HX_("Resending after reconnect",9a,68,d4,da), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("stamp",03,70,0b,84),m->timeSent)
+ ->setFixed(1,HX_("from",6a,a5,c2,43),_hx_tmp2)
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:delay",e7,f1,95,ae))),null());
+HXLINE(2076) chat->sendMessageStanza(stanza,null(),null());
+ }
+ }
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2053_checkForResends)
+HXDLIN(2053) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2054) ::String tooOld = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-10800000.))));
+HXLINE(2058) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(2058) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesByStatus(_hx_tmp,this->accountId(),0), ::Dynamic(new _hx_Closure_1(_gthis,tooOld)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Client_obj,checkForResends,(void))
+
void Client_obj::sendQuery( ::borogove::queries::GenericQuery query){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1636_sendQuery)
-HXDLIN(1636) ::borogove::GenericStream _hx_tmp = this->stream;
-HXDLIN(1636) _hx_tmp->sendIq(query->getQueryStanza(),query->handleResponse_dyn());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2085_sendQuery)
+HXDLIN(2085) ::borogove::GenericStream _hx_tmp = this->stream;
+HXDLIN(2085) _hx_tmp->sendIq(query->getQueryStanza(),query->handleResponse_dyn());
}
@@ -4639,91 +5732,91 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sendQuery,(void))
void Client_obj::sendNextLazyQuery(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1643_sendNextLazyQuery)
-HXLINE(1644) {
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query )) {
-HXLINE(1646) _gthis->sendQuery(query);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2092_sendNextLazyQuery)
+HXLINE(2093) {
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query )) {
+HXLINE(2095) _gthis->sendQuery(query);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query1 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query1 )) {
-HXLINE(1646) _gthis->sendQuery(query1);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query1 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query1 )) {
+HXLINE(2095) _gthis->sendQuery(query1);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query2 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query2 )) {
-HXLINE(1646) _gthis->sendQuery(query2);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query2 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query2 )) {
+HXLINE(2095) _gthis->sendQuery(query2);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query3 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query3 )) {
-HXLINE(1646) _gthis->sendQuery(query3);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query3 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query3 )) {
+HXLINE(2095) _gthis->sendQuery(query3);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query4 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query4 )) {
-HXLINE(1646) _gthis->sendQuery(query4);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query4 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query4 )) {
+HXLINE(2095) _gthis->sendQuery(query4);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query5 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query5 )) {
-HXLINE(1646) _gthis->sendQuery(query5);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query5 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query5 )) {
+HXLINE(2095) _gthis->sendQuery(query5);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query6 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query6 )) {
-HXLINE(1646) _gthis->sendQuery(query6);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query6 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query6 )) {
+HXLINE(2095) _gthis->sendQuery(query6);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query7 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query7 )) {
-HXLINE(1646) _gthis->sendQuery(query7);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query7 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query7 )) {
+HXLINE(2095) _gthis->sendQuery(query7);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query8 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query8 )) {
-HXLINE(1646) _gthis->sendQuery(query8);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query8 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query8 )) {
+HXLINE(2095) _gthis->sendQuery(query8);
}
}
-HXLINE(1644) {
-HXLINE(1645) ::borogove::queries::GenericQuery query9 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
-HXLINE(1646) if (::hx::IsNotNull( query9 )) {
-HXLINE(1646) _gthis->sendQuery(query9);
+HXLINE(2093) {
+HXLINE(2094) ::borogove::queries::GenericQuery query9 = _gthis->queriesToSend->shift().StaticCast< ::borogove::queries::GenericQuery >();
+HXLINE(2095) if (::hx::IsNotNull( query9 )) {
+HXLINE(2095) _gthis->sendQuery(query9);
}
}
}
-HXLINE(1649) _gthis->lazyQueryTimer = null();
-HXLINE(1650) if ((_gthis->queriesToSend->length > 0)) {
-HXLINE(1650) _gthis->sendNextLazyQuery();
+HXLINE(2098) _gthis->lazyQueryTimer = null();
+HXLINE(2099) if ((_gthis->queriesToSend->length > 0)) {
+HXLINE(2099) _gthis->sendNextLazyQuery();
}
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1641_sendNextLazyQuery)
-HXDLIN(1641) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1642) if (::hx::IsNotNull( this->lazyQueryTimer )) {
-HXLINE(1642) return;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2090_sendNextLazyQuery)
+HXDLIN(2090) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2091) if (::hx::IsNotNull( this->lazyQueryTimer )) {
+HXLINE(2091) return;
}
-HXLINE(1643) this->lazyQueryTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),2000);
+HXLINE(2092) this->lazyQueryTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),2000);
}
HX_DEFINE_DYNAMIC_FUNC0(Client_obj,sendNextLazyQuery,(void))
void Client_obj::sendQueryLazy( ::borogove::queries::GenericQuery query){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1655_sendQueryLazy)
-HXLINE(1656) this->queriesToSend->push(query);
-HXLINE(1657) this->sendNextLazyQuery();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2104_sendQueryLazy)
+HXLINE(2105) this->queriesToSend->push(query);
+HXLINE(2106) this->sendNextLazyQuery();
}
@@ -4732,114 +5825,116 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sendQueryLazy,(void))
void Client_obj::publishWithOptions( ::borogove::Stanza stanza, ::borogove::Stanza options){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::borogove::Stanza,options, ::borogove::Stanza,stanza) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1667_publishWithOptions)
-HXLINE(1667) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(1668) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
-HXDLIN(1668) ::borogove::Stanza preconditionError;
-HXDLIN(1668) if (::hx::IsNotNull( tmp )) {
-HXLINE(1668) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2119_publishWithOptions)
+HXLINE(2119) if (::hx::IsEq( response->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE(2120) ::borogove::Stanza tmp = response->getChild(HX_("error",c8,cb,29,73),null());
+HXDLIN(2120) ::borogove::Stanza preconditionError;
+HXDLIN(2120) if (::hx::IsNotNull( tmp )) {
+HXLINE(2120) preconditionError = tmp->getChild(HX_("precondition-not-met",2d,db,78,db),HX_("http://jabber.org/protocol/pubsub#errors",97,74,3a,a8));
}
else {
-HXLINE(1668) preconditionError = null();
+HXLINE(2120) preconditionError = null();
}
-HXLINE(1669) if (::hx::IsNotNull( preconditionError )) {
+HXLINE(2121) if (::hx::IsNotNull( preconditionError )) {
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::borogove::Stanza,options, ::borogove::Stanza,stanza) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1677_publishWithOptions)
-HXLINE(1677) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("result",dd,68,84,08))) {
-HXLINE(1678) _gthis->publishWithOptions(stanza,options);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2129_publishWithOptions)
+HXLINE(2129) if (::hx::IsEq( response->attr->get(HX_("type",ba,f2,08,4d)),HX_("result",dd,68,84,08) )) {
+HXLINE(2130) _gthis->publishWithOptions(stanza,options);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1671) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXLINE(1672) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub#owner",c7,28,a3,08))));
-HXLINE(1674) ::String _hx_tmp1 = stanza->findText(HX_("{http://jabber.org/protocol/pubsub}pubsub/publish@node",5e,1b,df,ac));
-HXLINE(1671) _gthis1->sendIq(_hx_tmp->tag(HX_("configure",e6,f9,5b,c0), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),_hx_tmp1)))->addChild(options), ::Dynamic(new _hx_Closure_0(_gthis,options,stanza)));
+HXLINE(2123) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXLINE(2124) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/pubsub#owner",c7,28,a3,08))),null());
+HXLINE(2126) ::String _hx_tmp1 = stanza->findText(HX_("{http://jabber.org/protocol/pubsub}pubsub/publish@node",5e,1b,df,ac));
+HXLINE(2123) _gthis1->sendIq(_hx_tmp->tag(HX_("configure",e6,f9,5b,c0), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),_hx_tmp1)),null())->addChild(options), ::Dynamic(new _hx_Closure_0(_gthis,options,stanza)));
}
}
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1661_publishWithOptions)
-HXDLIN(1661) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1662) ::borogove::Stanza clone = stanza->clone();
-HXLINE(1663) clone->findChild(HX_("{http://jabber.org/protocol/pubsub}pubsub/publish",64,a4,8d,39))->tag(HX_("publish-options",60,0b,5c,74),null())->addChild(options);
-HXLINE(1664) this->stream->sendIq(clone, ::Dynamic(new _hx_Closure_1(_gthis,options,stanza)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2110_publishWithOptions)
+HXDLIN(2110) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2111) ::borogove::Stanza clone = stanza->clone();
+HXLINE(2112) clone->findChild(HX_("{http://jabber.org/protocol/pubsub}pubsub",24,cb,f7,a3))->tag(HX_("publish-options",60,0b,5c,74),null(),null())->addChild(options);
+HXLINE(2116) this->stream->sendIq(clone, ::Dynamic(new _hx_Closure_1(_gthis,options,stanza)));
}
HX_DEFINE_DYNAMIC_FUNC2(Client_obj,publishWithOptions,(void))
void Client_obj::sendStanza( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1689_sendStanza)
-HXLINE(1690) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1690) ::Dynamic this1 = stanza->attr;
-HXDLIN(1690) ::Reflect_obj::setField(this1,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2141_sendStanza)
+HXLINE(2142) this->channelPinger->pingDueInWindow();
+HXLINE(2143) if (::hx::IsNull( stanza->attr->get(HX_("id",db,5b,00,00)) )) {
+HXLINE(2143) ::haxe::ds::StringMap stanza1 = stanza->attr;
+HXDLIN(2143) stanza1->set(HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
}
-HXLINE(1691) this->stream->sendStanza(stanza);
+HXLINE(2144) this->stream->sendStanza(stanza);
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sendStanza,(void))
void Client_obj::sendPresence(::String to, ::Dynamic augment){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1695_sendPresence)
-HXLINE(1696) ::Dynamic stanza;
-HXDLIN(1696) if (::hx::IsNull( to )) {
-HXLINE(1696) stanza = ::Dynamic(::hx::Anon_obj::Create(0));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2148_sendPresence)
+HXLINE(2149) ::borogove::Caps stanza = this->caps;
+HXDLIN(2149) ::Dynamic stanza1;
+HXDLIN(2149) if (::hx::IsNull( to )) {
+HXLINE(2149) stanza1 = ::Dynamic(::hx::Anon_obj::Create(0));
}
else {
-HXLINE(1696) stanza = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(2149) stanza1 = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("to",7b,65,00,00),to));
}
-HXDLIN(1696) ::borogove::Stanza stanza1 = this->caps->addC( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66),stanza));
-HXLINE(1697) ::String stanza2 = this->displayName();
-HXLINE(1696) ::borogove::Stanza stanza3 = stanza1->textTag(HX_("nick",a3,7b,05,49),stanza2, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))));
-HXLINE(1699) ::borogove::Chat tmp = this->getChat(this->accountId());
-HXDLIN(1699) ::borogove::Status status;
-HXDLIN(1699) if (::hx::IsNotNull( tmp )) {
-HXLINE(1699) status = tmp->status;
+HXDLIN(2149) ::borogove::Stanza stanza2 = stanza->addC( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66),stanza1,null()));
+HXLINE(2150) ::String stanza3 = this->displayName();
+HXLINE(2149) ::borogove::Stanza stanza4 = stanza2->textTag(HX_("nick",a3,7b,05,49),stanza3, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/nick",17,30,dc,e9))),null());
+HXLINE(2152) ::borogove::Chat tmp = this->getChat(this->accountId());
+HXDLIN(2152) ::borogove::Status status;
+HXDLIN(2152) if (::hx::IsNotNull( tmp )) {
+HXLINE(2152) status = tmp->status;
}
else {
-HXLINE(1699) status = null();
+HXLINE(2152) status = null();
}
-HXLINE(1700) ::String statusText;
-HXDLIN(1700) ::String tmp1;
-HXDLIN(1700) if (::hx::IsNotNull( status )) {
-HXLINE(1700) tmp1 = status->toString();
+HXLINE(2153) ::String statusText;
+HXDLIN(2153) ::String tmp1;
+HXDLIN(2153) if (::hx::IsNotNull( status )) {
+HXLINE(2153) tmp1 = status->toString();
}
else {
-HXLINE(1700) tmp1 = null();
+HXLINE(2153) tmp1 = null();
}
-HXDLIN(1700) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1700) statusText = tmp1;
+HXDLIN(2153) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2153) statusText = tmp1;
}
else {
-HXLINE(1700) statusText = HX_("",00,00,00,00);
+HXLINE(2153) statusText = HX_("",00,00,00,00);
}
-HXLINE(1701) if ((statusText != HX_("",00,00,00,00))) {
-HXLINE(1701) stanza3->textTag(HX_("status",32,e7,fb,05),statusText,null());
+HXLINE(2154) if ((statusText != HX_("",00,00,00,00))) {
+HXLINE(2154) stanza4->textTag(HX_("status",32,e7,fb,05),statusText,null(),null());
}
-HXLINE(1703) ::Dynamic _hx_tmp;
-HXDLIN(1703) if (::hx::IsNotNull( augment )) {
-HXLINE(1703) _hx_tmp = augment;
+HXLINE(2156) ::Dynamic _hx_tmp;
+HXDLIN(2156) if (::hx::IsNotNull( augment )) {
+HXLINE(2156) _hx_tmp = augment;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::borogove::Stanza _hx_run( ::borogove::Stanza s){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1703_sendPresence)
-HXLINE(1703) return s;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2156_sendPresence)
+HXLINE(2156) return s;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1703) _hx_tmp = ::Dynamic(new _hx_Closure_0());
+HXLINE(2156) _hx_tmp = ::Dynamic(new _hx_Closure_0());
}
-HXDLIN(1703) this->sendStanza(( ( ::borogove::Stanza)(_hx_tmp(stanza3)) ));
+HXDLIN(2156) this->sendStanza(( ( ::borogove::Stanza)(_hx_tmp(stanza4)) ));
}
@@ -4848,89 +5943,89 @@ HX_DEFINE_DYNAMIC_FUNC2(Client_obj,sendPresence,(void))
void Client_obj::getIceServers( ::Dynamic callback){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::queries::ExtDiscoGet,extDiscoGet, ::Dynamic,callback) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1710_getIceServers)
-HXLINE(1711) ::haxe::ds::StringMap didUrl = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1712) ::Array< ::Dynamic> servers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1713) {
-HXLINE(1713) int _g = 0;
-HXDLIN(1713) ::Array< ::Dynamic> _g1;
-HXDLIN(1713) ::Array< ::Dynamic> tmp = extDiscoGet->getResult();
-HXDLIN(1713) if (::hx::IsNotNull( tmp )) {
-HXLINE(1713) _g1 = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2163_getIceServers)
+HXLINE(2164) ::haxe::ds::StringMap didUrl = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(2165) ::Array< ::Dynamic> servers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2166) {
+HXLINE(2166) int _g = 0;
+HXDLIN(2166) ::Array< ::Dynamic> _g1;
+HXDLIN(2166) ::Array< ::Dynamic> tmp = extDiscoGet->getResult();
+HXDLIN(2166) if (::hx::IsNotNull( tmp )) {
+HXLINE(2166) _g1 = tmp;
}
else {
-HXLINE(1713) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2166) _g1 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN(1713) while((_g < _g1->length)){
-HXLINE(1713) ::borogove::Stanza service = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(1713) _g = (_g + 1);
-HXLINE(1714) if (!(::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_234,4)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) )))) {
-HXLINE(1714) continue;
+HXDLIN(2166) while((_g < _g1->length)){
+HXLINE(2166) ::borogove::Stanza service = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2166) _g = (_g + 1);
+HXLINE(2167) if (!(::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_291,4)->contains(service->attr->get(HX_("type",ba,f2,08,4d))))) {
+HXLINE(2167) continue;
}
-HXLINE(1715) ::String host = ( (::String)(::Reflect_obj::field(service->attr,HX_("host",68,cf,12,45))) );
-HXLINE(1716) bool _hx_tmp;
-HXDLIN(1716) if (::hx::IsNotNull( host )) {
-HXLINE(1716) _hx_tmp = (host == HX_("",00,00,00,00));
+HXLINE(2168) ::String host = service->attr->get_string(HX_("host",68,cf,12,45));
+HXLINE(2169) bool _hx_tmp;
+HXDLIN(2169) if (::hx::IsNotNull( host )) {
+HXLINE(2169) _hx_tmp = (host == HX_("",00,00,00,00));
}
else {
-HXLINE(1716) _hx_tmp = true;
+HXLINE(2169) _hx_tmp = true;
}
-HXDLIN(1716) if (_hx_tmp) {
-HXLINE(1716) continue;
+HXDLIN(2169) if (_hx_tmp) {
+HXLINE(2169) continue;
}
-HXLINE(1717) ::Dynamic port = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(service->attr,HX_("port",81,83,5c,4a))) ));
-HXLINE(1718) bool _hx_tmp1;
-HXDLIN(1718) bool _hx_tmp2;
-HXDLIN(1718) if (::hx::IsNotNull( port )) {
-HXLINE(1718) _hx_tmp2 = ::hx::IsLess( port,1 );
+HXLINE(2170) ::Dynamic port = ::Std_obj::parseInt(service->attr->get_string(HX_("port",81,83,5c,4a)));
+HXLINE(2171) bool _hx_tmp1;
+HXDLIN(2171) bool _hx_tmp2;
+HXDLIN(2171) if (::hx::IsNotNull( port )) {
+HXLINE(2171) _hx_tmp2 = ::hx::IsLess( port,1 );
}
else {
-HXLINE(1718) _hx_tmp2 = true;
+HXLINE(2171) _hx_tmp2 = true;
}
-HXDLIN(1718) if (!(_hx_tmp2)) {
-HXLINE(1718) _hx_tmp1 = ::hx::IsGreater( port,65535 );
+HXDLIN(2171) if (!(_hx_tmp2)) {
+HXLINE(2171) _hx_tmp1 = ::hx::IsGreater( port,65535 );
}
else {
-HXLINE(1718) _hx_tmp1 = true;
+HXLINE(2171) _hx_tmp1 = true;
}
-HXDLIN(1718) if (_hx_tmp1) {
-HXLINE(1718) continue;
+HXDLIN(2171) if (_hx_tmp1) {
+HXLINE(2171) continue;
}
-HXLINE(1719) bool isTurn = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_235,2)->contains(( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ));
-HXLINE(1720) ::String url = (( (::String)(::Reflect_obj::field(service->attr,HX_("type",ba,f2,08,4d))) ) + HX_(":",3a,00,00,00));
-HXDLIN(1720) ::String url1;
-HXDLIN(1720) if ((host.indexOf(HX_(":",3a,00,00,00),null()) >= 0)) {
-HXLINE(1720) url1 = ((HX_("[",5b,00,00,00) + host) + HX_("]",5d,00,00,00));
+HXLINE(2172) bool isTurn = ::Array_obj< ::String >::fromData( _hx_array_data_c0e6dc18_292,2)->contains(service->attr->get(HX_("type",ba,f2,08,4d)));
+HXLINE(2173) ::String url = (service->attr->get(HX_("type",ba,f2,08,4d)) + HX_(":",3a,00,00,00));
+HXDLIN(2173) ::String url1;
+HXDLIN(2173) if ((host.indexOf(HX_(":",3a,00,00,00),null()) >= 0)) {
+HXLINE(2173) url1 = ((HX_("[",5b,00,00,00) + host) + HX_("]",5d,00,00,00));
}
else {
-HXLINE(1720) url1 = host;
+HXLINE(2173) url1 = host;
}
-HXDLIN(1720) ::String url2;
-HXDLIN(1720) if (isTurn) {
-HXLINE(1720) url2 = (HX_("?transport=",73,c9,f2,13) + ( (::String)(::Reflect_obj::field(service->attr,HX_("transport",a9,4f,2f,4c))) ));
+HXDLIN(2173) ::String url2;
+HXDLIN(2173) if (isTurn) {
+HXLINE(2173) url2 = (HX_("?transport=",73,c9,f2,13) + service->attr->get(HX_("transport",a9,4f,2f,4c)));
}
else {
-HXLINE(1720) url2 = HX_("",00,00,00,00);
+HXLINE(2173) url2 = HX_("",00,00,00,00);
}
-HXDLIN(1720) ::String url3 = ((((url + url1) + HX_(":",3a,00,00,00)) + port) + url2);
-HXLINE(1721) if (!(didUrl->exists(url3))) {
-HXLINE(1723) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(service->attr,HX_("username",16,86,eb,20))) );
-HXLINE(1722) servers->push( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("credential",d7,89,b2,20),( (::String)(::Reflect_obj::field(service->attr,HX_("password",1b,23,d0,48))) ))
+HXDLIN(2173) ::String url3 = ((((url + url1) + HX_(":",3a,00,00,00)) + port) + url2);
+HXLINE(2174) if (!(didUrl->exists(url3))) {
+HXLINE(2176) ::String _hx_tmp3 = service->attr->get_string(HX_("username",16,86,eb,20));
+HXLINE(2175) servers->push( ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("credential",d7,89,b2,20),service->attr->get(HX_("password",1b,23,d0,48)))
->setFixed(1,HX_("username",16,86,eb,20),_hx_tmp3)
->setFixed(2,HX_("urls",24,d6,ac,4d),::Array_obj< ::String >::__new(1)->init(0,url3))));
-HXLINE(1727) didUrl->set(url3,true);
+HXLINE(2180) didUrl->set(url3,true);
}
}
}
-HXLINE(1730) callback(servers);
+HXLINE(2183) callback(servers);
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1708_getIceServers)
-HXLINE(1709) ::borogove::queries::ExtDiscoGet extDiscoGet = ::borogove::queries::ExtDiscoGet_obj::__alloc( HX_CTX ,this->jid->domain);
-HXLINE(1710) extDiscoGet->onFinished( ::Dynamic(new _hx_Closure_0(extDiscoGet,callback)));
-HXLINE(1732) this->sendQuery(extDiscoGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2161_getIceServers)
+HXLINE(2162) ::borogove::queries::ExtDiscoGet extDiscoGet = ::borogove::queries::ExtDiscoGet_obj::__alloc( HX_CTX ,this->jid->domain);
+HXLINE(2163) extDiscoGet->onFinished( ::Dynamic(new _hx_Closure_0(extDiscoGet,callback)));
+HXLINE(2185) this->sendQuery(extDiscoGet);
}
@@ -4939,104 +6034,111 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,getIceServers,(void))
void Client_obj::discoverServices( ::borogove::JID target,::String node, ::Dynamic callback){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis, ::Dynamic,callback, ::borogove::queries::DiscoItemsGet,itemsGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1740_discoverServices)
-HXLINE(1740) int _g = 0;
-HXDLIN(1740) ::Array< ::Dynamic> _g1;
-HXDLIN(1740) ::Array< ::Dynamic> tmp = itemsGet->getResult();
-HXDLIN(1740) if (::hx::IsNotNull( tmp )) {
-HXLINE(1740) _g1 = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2193_discoverServices)
+HXLINE(2193) int _g = 0;
+HXDLIN(2193) ::Array< ::Dynamic> _g1;
+HXDLIN(2193) ::Array< ::Dynamic> tmp = itemsGet->getResult();
+HXDLIN(2193) if (::hx::IsNotNull( tmp )) {
+HXLINE(2193) _g1 = tmp;
}
else {
-HXLINE(1740) _g1 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2193) _g1 = ::Array_obj< ::Dynamic>::__new(0);
}
-HXDLIN(1740) while((_g < _g1->length)){
+HXDLIN(2193) while((_g < _g1->length)){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::queries::DiscoInfoGet,infoGet1, ::Dynamic,item, ::Dynamic,callback) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1743_discoverServices)
-HXLINE(1743) ::Dynamic callback1 = callback;
-HXDLIN(1743) ::Dynamic item1 = item;
-HXDLIN(1743) ::borogove::Caps tmp = infoGet1->getResult();
-HXDLIN(1743) ::borogove::Caps _hx_tmp;
-HXDLIN(1743) if (::hx::IsNotNull( tmp )) {
-HXLINE(1743) _hx_tmp = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2196_discoverServices)
+HXLINE(2196) ::Dynamic callback1 = callback;
+HXDLIN(2196) ::Dynamic item1 = item;
+HXDLIN(2196) ::borogove::Caps tmp = infoGet1->getResult();
+HXDLIN(2196) ::borogove::Caps _hx_tmp;
+HXDLIN(2196) if (::hx::IsNotNull( tmp )) {
+HXLINE(2196) _hx_tmp = tmp;
}
else {
-HXLINE(1743) _hx_tmp = ::borogove::CapsRepo_obj::empty;
+HXLINE(2196) _hx_tmp = ::borogove::CapsRepo_obj::empty;
}
-HXDLIN(1743) callback1(item1,_hx_tmp);
+HXDLIN(2196) callback1(item1,_hx_tmp);
}
HX_END_LOCAL_FUNC0((void))
-HXLINE(1740) ::Dynamic item = _g1->__get(_g);
-HXDLIN(1740) _g = (_g + 1);
-HXLINE(1741) ::String infoGet = ( ( ::borogove::JID)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
-HXDLIN(1741) ::borogove::queries::DiscoInfoGet infoGet1 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,infoGet,( (::String)(item->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) ));
-HXLINE(1742) infoGet1->onFinished( ::Dynamic(new _hx_Closure_0(infoGet1,item,callback)));
-HXLINE(1745) _gthis->sendQuery(infoGet1);
+HXLINE(2193) ::Dynamic item = _g1->__get(_g);
+HXDLIN(2193) _g = (_g + 1);
+HXLINE(2194) ::String infoGet = ( ( ::borogove::JID)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) )->asString();
+HXDLIN(2194) ::borogove::queries::DiscoInfoGet infoGet1 = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,infoGet,( (::String)(item->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) ));
+HXLINE(2195) infoGet1->onFinished( ::Dynamic(new _hx_Closure_0(infoGet1,item,callback)));
+HXLINE(2198) _gthis->sendQuery(infoGet1);
}
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1737_discoverServices)
-HXDLIN(1737) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1738) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,target->asString(),node);
-HXLINE(1739) itemsGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,callback,itemsGet)));
-HXLINE(1748) this->sendQuery(itemsGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2190_discoverServices)
+HXDLIN(2190) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2191) ::borogove::queries::DiscoItemsGet itemsGet = ::borogove::queries::DiscoItemsGet_obj::__alloc( HX_CTX ,target->asString(),node);
+HXLINE(2192) itemsGet->onFinished( ::Dynamic(new _hx_Closure_1(_gthis,callback,itemsGet)));
+HXLINE(2201) this->sendQuery(itemsGet);
}
HX_DEFINE_DYNAMIC_FUNC3(Client_obj,discoverServices,(void))
void Client_obj::notifyMessageHandlers( ::borogove::ChatMessage message,int event){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1752_notifyMessageHandlers)
-HXLINE(1753) ::borogove::Chat chat = this->getChat(message->chatId());
-HXLINE(1754) bool _hx_tmp;
-HXDLIN(1754) if (::hx::IsNotNull( chat )) {
-HXLINE(1754) _hx_tmp = chat->isBlocked;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2205_notifyMessageHandlers)
+HXLINE(2206) ::borogove::Chat chat = this->getChat(message->chatId());
+HXLINE(2207) bool _hx_tmp;
+HXDLIN(2207) if (::hx::IsNotNull( chat )) {
+HXLINE(2207) _hx_tmp = chat->isBlocked;
}
else {
-HXLINE(1754) _hx_tmp = false;
+HXLINE(2207) _hx_tmp = false;
+ }
+HXDLIN(2207) if (_hx_tmp) {
+HXLINE(2207) return;
}
-HXDLIN(1754) if (_hx_tmp) {
-HXLINE(1754) return;
+HXLINE(2209) bool _hx_tmp1;
+HXDLIN(2209) bool _hx_tmp2;
+HXDLIN(2209) bool _hx_tmp3;
+HXDLIN(2209) bool _hx_tmp4;
+HXDLIN(2209) bool _hx_tmp5;
+HXDLIN(2209) if ((event == 0)) {
+HXLINE(2209) _hx_tmp5 = (message->type == 0);
+ }
+ else {
+HXLINE(2209) _hx_tmp5 = false;
}
-HXLINE(1756) bool _hx_tmp1;
-HXDLIN(1756) bool _hx_tmp2;
-HXDLIN(1756) bool _hx_tmp3;
-HXDLIN(1756) bool _hx_tmp4;
-HXDLIN(1756) if ((event == 0)) {
-HXLINE(1756) _hx_tmp4 = (message->type == 0);
+HXDLIN(2209) if (_hx_tmp5) {
+HXLINE(2209) _hx_tmp4 = message->isIncoming();
}
else {
-HXLINE(1756) _hx_tmp4 = false;
+HXLINE(2209) _hx_tmp4 = false;
}
-HXDLIN(1756) if (_hx_tmp4) {
-HXLINE(1756) _hx_tmp3 = ::hx::IsNotNull( message->localId );
+HXDLIN(2209) if (_hx_tmp4) {
+HXLINE(2209) _hx_tmp3 = ::hx::IsNotNull( message->localId );
}
else {
-HXLINE(1756) _hx_tmp3 = false;
+HXLINE(2209) _hx_tmp3 = false;
}
-HXDLIN(1756) if (_hx_tmp3) {
-HXLINE(1756) _hx_tmp2 = ::hx::IsNotNull( chat );
+HXDLIN(2209) if (_hx_tmp3) {
+HXLINE(2209) _hx_tmp2 = ::hx::IsNotNull( chat );
}
else {
-HXLINE(1756) _hx_tmp2 = false;
+HXLINE(2209) _hx_tmp2 = false;
}
-HXDLIN(1756) if (_hx_tmp2) {
-HXLINE(1756) _hx_tmp1 = chat->isTrusted();
+HXDLIN(2209) if (_hx_tmp2) {
+HXLINE(2209) _hx_tmp1 = chat->isTrusted();
}
else {
-HXLINE(1756) _hx_tmp1 = false;
+HXLINE(2209) _hx_tmp1 = false;
}
-HXDLIN(1756) if (_hx_tmp1) {
-HXLINE(1758) ::String _hx_tmp5 = message->from->asString();
-HXLINE(1757) this->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("to",7b,65,00,00),_hx_tmp5)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->tag(HX_("received",21,45,fd,e2), ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2209) if (_hx_tmp1) {
+HXLINE(2211) ::String _hx_tmp6 = message->from->asString();
+HXLINE(2210) this->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),_hx_tmp6)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->tag(HX_("received",21,45,fd,e2), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),message->localId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c)))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c))),null()));
}
-HXLINE(1763) this->trigger(HX_("message/new",d8,fc,71,67), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2216) this->trigger(HX_("message/new",d8,fc,71,67), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("message",c7,35,11,9a),message)
->setFixed(1,HX_("event",1a,c8,c4,75),event)));
}
@@ -5045,58 +6147,65 @@ HXLINE(1763) this->trigger(HX_("message/new",d8,fc,71,67), ::Dynamic(::hx::Anon
HX_DEFINE_DYNAMIC_FUNC2(Client_obj,notifyMessageHandlers,(void))
void Client_obj::notifySyncMessageHandlers( ::borogove::ChatMessage message){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1767_notifySyncMessageHandlers)
-HXLINE(1768) bool _hx_tmp;
-HXDLIN(1768) if (::hx::IsNotNull( message )) {
-HXLINE(1768) _hx_tmp = (message->versions->length > 1);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2220_notifySyncMessageHandlers)
+HXLINE(2221) bool _hx_tmp;
+HXDLIN(2221) if (::hx::IsNotNull( message )) {
+HXLINE(2221) _hx_tmp = (message->versions->length > 1);
}
else {
-HXLINE(1768) _hx_tmp = true;
+HXLINE(2221) _hx_tmp = true;
}
-HXDLIN(1768) if (_hx_tmp) {
-HXLINE(1768) return;
+HXDLIN(2221) if (_hx_tmp) {
+HXLINE(2221) return;
}
-HXLINE(1769) ::borogove::Chat chat = this->getChat(message->chatId());
-HXLINE(1770) bool _hx_tmp1;
-HXDLIN(1770) if (::hx::IsNotNull( chat )) {
-HXLINE(1770) _hx_tmp1 = chat->isBlocked;
+HXLINE(2222) ::borogove::Chat chat = this->getChat(message->chatId());
+HXLINE(2223) bool _hx_tmp1;
+HXDLIN(2223) if (::hx::IsNotNull( chat )) {
+HXLINE(2223) _hx_tmp1 = chat->isBlocked;
}
else {
-HXLINE(1770) _hx_tmp1 = false;
+HXLINE(2223) _hx_tmp1 = false;
}
-HXDLIN(1770) if (_hx_tmp1) {
-HXLINE(1770) return;
+HXDLIN(2223) if (_hx_tmp1) {
+HXLINE(2223) return;
}
-HXLINE(1772) bool _hx_tmp2;
-HXDLIN(1772) bool _hx_tmp3;
-HXDLIN(1772) bool _hx_tmp4;
-HXDLIN(1772) if ((message->type == 0)) {
-HXLINE(1772) _hx_tmp4 = ::hx::IsNotNull( message->localId );
+HXLINE(2225) bool _hx_tmp2;
+HXDLIN(2225) bool _hx_tmp3;
+HXDLIN(2225) bool _hx_tmp4;
+HXDLIN(2225) bool _hx_tmp5;
+HXDLIN(2225) if ((message->type == 0)) {
+HXLINE(2225) _hx_tmp5 = message->isIncoming();
}
else {
-HXLINE(1772) _hx_tmp4 = false;
+HXLINE(2225) _hx_tmp5 = false;
}
-HXDLIN(1772) if (_hx_tmp4) {
-HXLINE(1772) _hx_tmp3 = ::hx::IsNotNull( chat );
+HXDLIN(2225) if (_hx_tmp5) {
+HXLINE(2225) _hx_tmp4 = ::hx::IsNotNull( message->localId );
}
else {
-HXLINE(1772) _hx_tmp3 = false;
+HXLINE(2225) _hx_tmp4 = false;
}
-HXDLIN(1772) if (_hx_tmp3) {
-HXLINE(1772) _hx_tmp2 = chat->isTrusted();
+HXDLIN(2225) if (_hx_tmp4) {
+HXLINE(2225) _hx_tmp3 = ::hx::IsNotNull( chat );
}
else {
-HXLINE(1772) _hx_tmp2 = false;
+HXLINE(2225) _hx_tmp3 = false;
}
-HXDLIN(1772) if (_hx_tmp2) {
-HXLINE(1774) ::String _hx_tmp5 = message->from->asString();
-HXLINE(1773) this->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("to",7b,65,00,00),_hx_tmp5)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->tag(HX_("received",21,45,fd,e2), ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2225) if (_hx_tmp3) {
+HXLINE(2225) _hx_tmp2 = chat->isTrusted();
+ }
+ else {
+HXLINE(2225) _hx_tmp2 = false;
+ }
+HXDLIN(2225) if (_hx_tmp2) {
+HXLINE(2227) ::String _hx_tmp6 = message->from->asString();
+HXLINE(2226) this->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),_hx_tmp6)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->tag(HX_("received",21,45,fd,e2), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),message->localId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c)))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:receipts",d7,40,8f,8c))),null()));
}
-HXLINE(1779) this->trigger(HX_("message/sync",e3,76,a8,1f),message);
+HXLINE(2232) this->trigger(HX_("message/sync",e3,76,a8,1f),message);
}
@@ -5105,30 +6214,46 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,notifySyncMessageHandlers,(void))
void Client_obj::rosterGet(){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::borogove::queries::RosterGet,rosterGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1784_rosterGet)
-HXLINE(1785) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1786) {
-HXLINE(1786) int _g = 0;
-HXDLIN(1786) ::Array< ::Dynamic> _g1 = rosterGet->getResult();
-HXDLIN(1786) while((_g < _g1->length)){
-HXLINE(1786) ::Dynamic item = _g1->__get(_g);
-HXDLIN(1786) _g = (_g + 1);
-HXLINE(1787) ::borogove::DirectChat chat = _gthis->getDirectChat(( (::String)(item->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),false);
-HXLINE(1788) chat->updateFromRoster(item);
-HXLINE(1789) chatsToUpdate->push(chat);
- }
- }
-HXLINE(1791) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1791) ::borogove::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),chatsToUpdate);
-HXLINE(1792) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2237_rosterGet)
+HXLINE(2238) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2242) {
+HXLINE(2242) int _g = 0;
+HXDLIN(2242) ::Array< ::Dynamic> _g1 = rosterGet->getResult();
+HXDLIN(2242) while((_g < _g1->length)){
+HXLINE(2242) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2242) _g = (_g + 1);
+HXLINE(2243) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(2243) ::borogove::DirectChat chat = _gthis1->getDirectChat(item->attr->get_string(HX_("jid",c5,ca,50,00)),false);
+HXLINE(2244) chat->updateFromRoster(item);
+HXLINE(2245) chatsToUpdate->push(chat);
+ }
+ }
+HXLINE(2247) if (::hx::IsNotNull( rosterGet->ver )) {
+HXLINE(2248) _gthis->rosterVer = rosterGet->ver;
+HXLINE(2249) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(2249) ::String _hx_tmp = _gthis->accountId();
+HXDLIN(2249) ::String _hx_tmp1;
+HXDLIN(2249) ::String tmp = _gthis->stream->clientId;
+HXDLIN(2249) if (::hx::IsNotNull( tmp )) {
+HXLINE(2249) _hx_tmp1 = tmp;
+ }
+ else {
+HXLINE(2249) _hx_tmp1 = _gthis->jid->resource;
+ }
+HXDLIN(2249) ::String _hx_tmp2 = _gthis->displayName();
+HXDLIN(2249) ::borogove::Persistence_obj::storeLogin(_gthis2,_hx_tmp,_hx_tmp1,_hx_tmp2,_gthis->rosterVer,null());
+ }
+HXLINE(2251) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(2251) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
+HXLINE(2252) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),chatsToUpdate);
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1782_rosterGet)
-HXDLIN(1782) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1783) ::borogove::queries::RosterGet rosterGet = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,null());
-HXLINE(1784) rosterGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,rosterGet)));
-HXLINE(1794) this->sendQuery(rosterGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2235_rosterGet)
+HXDLIN(2235) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2236) ::borogove::queries::RosterGet rosterGet = ::borogove::queries::RosterGet_obj::__alloc( HX_CTX ,this->rosterVer);
+HXLINE(2237) rosterGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,rosterGet)));
+HXLINE(2254) this->sendQuery(rosterGet);
}
@@ -5137,184 +6262,193 @@ HX_DEFINE_DYNAMIC_FUNC0(Client_obj,rosterGet,(void))
void Client_obj::startChatWith(::String jid, ::Dynamic handleCaps, ::Dynamic handleChat){
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::Dynamic,handleChat, ::Dynamic,handleCaps, ::borogove::queries::DiscoInfoGet,discoGet,::String,jid) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1799_startChatWith)
-HXLINE(1800) ::borogove::Caps resultCaps = discoGet->getResult();
-HXLINE(1801) int uiState = ( (int)(handleCaps(resultCaps)) );
-HXLINE(1802) if (::hx::IsNull( resultCaps )) {
-HXLINE(1803) ::borogove::Stanza tmp = discoGet->responseStanza;
-HXDLIN(1803) ::borogove::Stanza tmp1;
-HXDLIN(1803) if (::hx::IsNotNull( tmp )) {
-HXLINE(1803) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2259_startChatWith)
+HXLINE(2260) ::borogove::Caps resultCaps = discoGet->getResult();
+HXLINE(2261) int uiState = ( (int)(handleCaps(resultCaps)) );
+HXLINE(2262) if (::hx::IsNull( resultCaps )) {
+HXLINE(2263) ::borogove::Stanza tmp = discoGet->responseStanza;
+HXDLIN(2263) ::borogove::Stanza tmp1;
+HXDLIN(2263) if (::hx::IsNotNull( tmp )) {
+HXLINE(2263) tmp1 = tmp->getChild(HX_("error",c8,cb,29,73),null());
}
else {
-HXLINE(1803) tmp1 = null();
+HXLINE(2263) tmp1 = null();
}
-HXDLIN(1803) ::borogove::Stanza err;
-HXDLIN(1803) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1803) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+HXDLIN(2263) ::borogove::Stanza err;
+HXDLIN(2263) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(2263) err = tmp1->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
}
else {
-HXLINE(1803) err = null();
+HXLINE(2263) err = null();
}
-HXLINE(1804) bool _hx_tmp;
-HXDLIN(1804) bool _hx_tmp1;
-HXDLIN(1804) if (::hx::IsNotNull( err )) {
-HXLINE(1804) ::String _hx_tmp2;
-HXDLIN(1804) if (::hx::IsNotNull( err )) {
-HXLINE(1804) _hx_tmp2 = err->name;
+HXLINE(2264) bool _hx_tmp;
+HXDLIN(2264) bool _hx_tmp1;
+HXDLIN(2264) if (::hx::IsNotNull( err )) {
+HXLINE(2264) ::String _hx_tmp2;
+HXDLIN(2264) if (::hx::IsNotNull( err )) {
+HXLINE(2264) _hx_tmp2 = err->name;
}
else {
-HXLINE(1804) _hx_tmp2 = null();
+HXLINE(2264) _hx_tmp2 = null();
}
-HXDLIN(1804) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
+HXDLIN(2264) _hx_tmp1 = (_hx_tmp2 == HX_("service-unavailable",f8,3c,11,1c));
}
else {
-HXLINE(1804) _hx_tmp1 = true;
+HXLINE(2264) _hx_tmp1 = true;
}
-HXDLIN(1804) if (!(_hx_tmp1)) {
-HXLINE(1804) ::String _hx_tmp3;
-HXDLIN(1804) if (::hx::IsNotNull( err )) {
-HXLINE(1804) _hx_tmp3 = err->name;
+HXDLIN(2264) if (!(_hx_tmp1)) {
+HXLINE(2264) ::String _hx_tmp3;
+HXDLIN(2264) if (::hx::IsNotNull( err )) {
+HXLINE(2264) _hx_tmp3 = err->name;
}
else {
-HXLINE(1804) _hx_tmp3 = null();
+HXLINE(2264) _hx_tmp3 = null();
}
-HXDLIN(1804) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
+HXDLIN(2264) _hx_tmp = (_hx_tmp3 == HX_("feature-not-implemented",71,20,2e,96));
}
else {
-HXLINE(1804) _hx_tmp = true;
+HXLINE(2264) _hx_tmp = true;
}
-HXDLIN(1804) if (_hx_tmp) {
-HXLINE(1805) ::borogove::DirectChat chat = _gthis->getDirectChat(jid,false);
-HXLINE(1806) chat->uiState = uiState;
-HXLINE(1807) handleChat(chat);
-HXLINE(1808) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1808) ::borogove::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
-HXLINE(1809) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXDLIN(2264) if (_hx_tmp) {
+HXLINE(2265) ::borogove::DirectChat chat = _gthis->getDirectChat(jid,false);
+HXLINE(2266) chat->uiState = uiState;
+HXLINE(2267) handleChat(chat);
+HXLINE(2268) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(2268) ::borogove::Persistence_obj::storeChats(_gthis1,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(2269) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
}
}
else {
-HXLINE(1812) ::borogove::Caps cachedCaps = _gthis->capsRepo->add(resultCaps,null());
-HXLINE(1813) if (cachedCaps->isChannel(jid)) {
-HXLINE(1814) ::borogove::Channel chat1 = ::borogove::Channel_obj::__alloc( HX_CTX ,_gthis,_gthis->stream,_gthis->persistence,jid,uiState,false,false,null(),null(),null(),cachedCaps);
-HXLINE(1815) chat1->setupNotifications();
-HXLINE(1816) _gthis->chats->unshift(chat1);
-HXLINE(1817) bool _hx_tmp4;
-HXDLIN(1817) if (_gthis->inSync) {
-HXLINE(1817) _hx_tmp4 = _gthis->sendAvailable;
+HXLINE(2272) ::borogove::Caps cachedCaps = _gthis->capsRepo->add(resultCaps,null());
+HXLINE(2273) if (cachedCaps->isChannel(jid)) {
+HXLINE(2274) ::borogove::Chat existing = _gthis->getChat(jid);
+HXLINE(2275) ::borogove::Chat chat1;
+HXDLIN(2275) if (::hx::IsNull( existing )) {
+HXLINE(2276) ::borogove::Channel channel = ::borogove::Channel_obj::__alloc( HX_CTX ,_gthis,_gthis->stream,_gthis->persistence,jid,uiState,false,false,null(),null(),null(),cachedCaps);
+HXLINE(2277) channel->setupNotifications();
+HXLINE(2278) bool chat2;
+HXDLIN(2278) if (_gthis->inSync) {
+HXLINE(2278) chat2 = _gthis->sendAvailable;
+ }
+ else {
+HXLINE(2278) chat2 = false;
+ }
+HXDLIN(2278) if (chat2) {
+HXLINE(2278) channel->selfPing(false);
+ }
+HXLINE(2279) _gthis->chatsIndex->set(channel->chatId,( ( ::borogove::Chat)(channel) ));
+HXLINE(2280) _gthis->chats->unshift(channel);
+HXLINE(2275) chat1 = channel;
}
else {
-HXLINE(1817) _hx_tmp4 = false;
+HXLINE(2275) chat1 = existing;
}
-HXDLIN(1817) if (_hx_tmp4) {
-HXLINE(1817) chat1->selfPing(false);
- }
-HXLINE(1818) handleChat(chat1);
-HXLINE(1819) ::Dynamic _gthis2 = _gthis->persistence;
-HXDLIN(1819) ::borogove::Persistence_obj::storeChats(_gthis2,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
-HXLINE(1820) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
+HXLINE(2285) handleChat(chat1);
+HXLINE(2286) ::Dynamic _gthis2 = _gthis->persistence;
+HXDLIN(2286) ::borogove::Persistence_obj::storeChats(_gthis2,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat1));
+HXLINE(2287) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat1));
}
else {
-HXLINE(1822) ::borogove::DirectChat chat2 = _gthis->getDirectChat(jid,false);
-HXLINE(1823) chat2->uiState = uiState;
-HXLINE(1824) handleChat(chat2);
-HXLINE(1825) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1825) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat2));
-HXLINE(1826) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat2));
+HXLINE(2289) ::borogove::DirectChat chat3 = _gthis->getDirectChat(jid,false);
+HXLINE(2290) chat3->uiState = uiState;
+HXLINE(2291) handleChat(chat3);
+HXLINE(2292) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(2292) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat3));
+HXLINE(2293) _gthis->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat3));
}
}
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1797_startChatWith)
-HXDLIN(1797) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1798) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid,null());
-HXLINE(1799) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,handleChat,handleCaps,discoGet,jid)));
-HXLINE(1830) this->sendQuery(discoGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2257_startChatWith)
+HXDLIN(2257) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2258) ::borogove::queries::DiscoInfoGet discoGet = ::borogove::queries::DiscoInfoGet_obj::__alloc( HX_CTX ,jid,null());
+HXLINE(2259) discoGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,handleChat,handleCaps,discoGet,jid)));
+HXLINE(2297) this->sendQuery(discoGet);
}
HX_DEFINE_DYNAMIC_FUNC3(Client_obj,startChatWith,(void))
void Client_obj::mucInvite(::String chatId, ::borogove::Chat chat,::String senderId,::String threadId,::String serverId,::String serverIdBy,::String reason,::String password){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1833_mucInvite)
-HXDLIN(1833) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1834) if (::hx::IsNull( chat )) {
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2300_mucInvite)
+HXDLIN(2300) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2301) if (::hx::IsNull( chat )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
int _hx_run( ::borogove::Caps _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1835_mucInvite)
-HXLINE(1835) return 3;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2302_mucInvite)
+HXLINE(2302) return 3;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S8(::hx::LocalFunc,_hx_Closure_1, ::borogove::Client,_gthis,::String,serverId,::String,senderId,::String,chatId,::String,serverIdBy,::String,password,::String,reason,::String,threadId) HXARGC(1)
void _hx_run( ::borogove::Chat chat){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1836_mucInvite)
-HXLINE(1836) _gthis->mucInvite(chatId,chat,senderId,threadId,serverId,serverIdBy,reason,password);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2303_mucInvite)
+HXLINE(2303) _gthis->mucInvite(chatId,chat,senderId,threadId,serverId,serverIdBy,reason,password);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1835) this->startChatWith(chatId, ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(_gthis,serverId,senderId,chatId,serverIdBy,password,reason,threadId)));
-HXLINE(1838) return;
+HXLINE(2302) this->startChatWith(chatId, ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1(_gthis,serverId,senderId,chatId,serverIdBy,password,reason,threadId)));
+HXLINE(2305) return;
}
-HXLINE(1842) bool _hx_tmp;
-HXDLIN(1842) if ((chat->uiState != 2)) {
-HXLINE(1842) _hx_tmp = (chat->uiState != 3);
+HXLINE(2309) bool _hx_tmp;
+HXDLIN(2309) if ((chat->uiState != 2)) {
+HXLINE(2309) _hx_tmp = (chat->uiState != 3);
}
else {
-HXLINE(1842) _hx_tmp = false;
+HXLINE(2309) _hx_tmp = false;
}
-HXDLIN(1842) if (_hx_tmp) {
-HXLINE(1842) return;
+HXDLIN(2309) if (_hx_tmp) {
+HXLINE(2309) return;
}
-HXLINE(1844) chat->extensions->removeChildren(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE(1845) ::borogove::Stanza inviteExt = chat->extensions->tag(HX_("invite",c9,f1,db,9f), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2311) chat->extensions->removeChildren(HX_("invite",c9,f1,db,9f),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE(2312) ::borogove::Stanza inviteExt = chat->extensions->tag(HX_("invite",c9,f1,db,9f), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("from",6a,a5,c2,43),senderId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))));
-HXLINE(1846) if (::hx::IsNotNull( reason )) {
-HXLINE(1846) inviteExt->textTag(HX_("reason",c4,0f,9d,fc),reason,null());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14))),null());
+HXLINE(2313) if (::hx::IsNotNull( reason )) {
+HXLINE(2313) inviteExt->textTag(HX_("reason",c4,0f,9d,fc),reason,null(),null());
}
-HXLINE(1847) if (::hx::IsNotNull( password )) {
-HXLINE(1847) inviteExt->textTag(HX_("password",1b,23,d0,48),password,null());
+HXLINE(2314) if (::hx::IsNotNull( password )) {
+HXLINE(2314) inviteExt->textTag(HX_("password",1b,23,d0,48),password,null(),null());
}
-HXLINE(1848) if (::hx::IsNotNull( threadId )) {
-HXLINE(1848) inviteExt->tag(HX_("continue",67,e0,c8,31), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("thread",ca,7a,b9,8e),threadId)))->up();
+HXLINE(2315) if (::hx::IsNotNull( threadId )) {
+HXLINE(2315) inviteExt->tag(HX_("continue",67,e0,c8,31), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("thread",ca,7a,b9,8e),threadId)),null())->up();
}
-HXLINE(1849) bool _hx_tmp1;
-HXDLIN(1849) if (::hx::IsNotNull( serverId )) {
-HXLINE(1849) _hx_tmp1 = ::hx::IsNotNull( serverIdBy );
+HXLINE(2316) bool _hx_tmp1;
+HXDLIN(2316) if (::hx::IsNotNull( serverId )) {
+HXLINE(2316) _hx_tmp1 = ::hx::IsNotNull( serverIdBy );
}
else {
-HXLINE(1849) _hx_tmp1 = false;
+HXLINE(2316) _hx_tmp1 = false;
}
-HXDLIN(1849) if (_hx_tmp1) {
-HXLINE(1850) inviteExt->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
+HXDLIN(2316) if (_hx_tmp1) {
+HXLINE(2317) inviteExt->tag(HX_("stanza-id",73,8a,54,e9), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("by",d7,55,00,00),serverIdBy)
->setFixed(1,HX_("id",db,5b,00,00),serverId)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))))->up();
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:sid:0",a8,4b,37,54))),null())->up();
}
-HXLINE(1852) inviteExt->up();
-HXLINE(1853) chat->uiState = 3;
-HXLINE(1854) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
-HXLINE(1855) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1855) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
+HXLINE(2319) inviteExt->up();
+HXLINE(2320) chat->uiState = 3;
+HXLINE(2321) this->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,chat));
+HXLINE(2322) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(2322) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,chat));
}
HX_DEFINE_DYNAMIC_FUNC8(Client_obj,mucInvite,(void))
void Client_obj::serverBlocked(::String blocked){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1858_serverBlocked)
-HXLINE(1859) ::borogove::Chat chat;
-HXDLIN(1859) ::borogove::Chat tmp = this->getChat(blocked);
-HXDLIN(1859) if (::hx::IsNotNull( tmp )) {
-HXLINE(1859) chat = tmp;
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2325_serverBlocked)
+HXLINE(2326) ::borogove::Chat chat;
+HXDLIN(2326) ::borogove::Chat tmp = this->getChat(blocked);
+HXDLIN(2326) if (::hx::IsNotNull( tmp )) {
+HXLINE(2326) chat = tmp;
}
else {
-HXLINE(1859) chat = this->getDirectChat(blocked,false);
+HXLINE(2326) chat = this->getDirectChat(blocked,false);
}
-HXLINE(1860) chat->block(false,null(),false);
+HXLINE(2327) chat->block(false,null(),false);
}
@@ -5323,212 +6457,212 @@ HX_DEFINE_DYNAMIC_FUNC1(Client_obj,serverBlocked,(void))
void Client_obj::bookmarksGet( ::Dynamic callback){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::borogove::queries::BlocklistGet,blockingGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1867_bookmarksGet)
-HXLINE(1867) int _g = 0;
-HXDLIN(1867) ::Array< ::String > _g1 = blockingGet->getResult();
-HXDLIN(1867) while((_g < _g1->length)){
-HXLINE(1867) ::String blocked = _g1->__get(_g);
-HXDLIN(1867) _g = (_g + 1);
-HXLINE(1868) _gthis->serverBlocked(blocked);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2334_bookmarksGet)
+HXLINE(2334) int _g = 0;
+HXDLIN(2334) ::Array< ::String > _g1 = blockingGet->getResult();
+HXDLIN(2334) while((_g < _g1->length)){
+HXLINE(2334) ::String blocked = _g1->__get(_g);
+HXDLIN(2334) _g = (_g + 1);
+HXLINE(2335) _gthis->serverBlocked(blocked);
}
}
HX_END_LOCAL_FUNC0((void))
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis, ::borogove::queries::PubsubGet,mdsGet) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1874_bookmarksGet)
-HXLINE(1875) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1876) {
-HXLINE(1876) int _g = 0;
-HXDLIN(1876) ::Array< ::Dynamic> _g1 = mdsGet->getResult();
-HXDLIN(1876) while((_g < _g1->length)){
-HXLINE(1876) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(1876) _g = (_g + 1);
-HXLINE(1877) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1878) ::borogove::Stanza tmp = item->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
-HXDLIN(1878) ::borogove::Stanza upTo;
-HXDLIN(1878) if (::hx::IsNotNull( tmp )) {
-HXLINE(1878) upTo = tmp->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2341_bookmarksGet)
+HXLINE(2342) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2343) {
+HXLINE(2343) int _g = 0;
+HXDLIN(2343) ::Array< ::Dynamic> _g1 = mdsGet->getResult();
+HXDLIN(2343) while((_g < _g1->length)){
+HXLINE(2343) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2343) _g = (_g + 1);
+HXLINE(2344) if (::hx::IsNotNull( item->attr->get(HX_("id",db,5b,00,00)) )) {
+HXLINE(2345) ::borogove::Stanza tmp = item->getChild(HX_("displayed",21,17,db,c1),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb));
+HXDLIN(2345) ::borogove::Stanza upTo;
+HXDLIN(2345) if (::hx::IsNotNull( tmp )) {
+HXLINE(2345) upTo = tmp->getChild(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
}
else {
-HXLINE(1878) upTo = null();
+HXLINE(2345) upTo = null();
}
-HXLINE(1879) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1879) ::borogove::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
-HXLINE(1880) if (::hx::IsNull( chat )) {
+HXLINE(2346) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(2346) ::borogove::Chat chat = _gthis1->getChat(item->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE(2347) if (::hx::IsNull( chat )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
int _hx_run( ::borogove::Caps _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1881_bookmarksGet)
-HXLINE(1881) return 2;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2348_bookmarksGet)
+HXLINE(2348) return 2;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Stanza,upTo) HXARGC(1)
void _hx_run( ::borogove::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1881_bookmarksGet)
-HXLINE(1881) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN(1881) chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),null());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2348_bookmarksGet)
+HXLINE(2348) ::String _hx_tmp = upTo->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN(2348) chat->markReadUpToId(_hx_tmp,upTo->attr->get_string(HX_("by",d7,55,00,00)),null());
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1881) ::borogove::Client _gthis2 = _gthis;
-HXDLIN(1881) _gthis2->startChatWith(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2(upTo)));
+HXLINE(2348) ::borogove::Client _gthis2 = _gthis;
+HXDLIN(2348) _gthis2->startChatWith(item->attr->get_string(HX_("id",db,5b,00,00)), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2(upTo)));
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1883_bookmarksGet)
-HXLINE(1883) return null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2350_bookmarksGet)
+HXLINE(2350) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
::Dynamic _hx_run( ::Dynamic e){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1883_bookmarksGet)
-HXLINE(1883) if (::hx::IsNotNull( e )) {
-HXLINE(1883) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2350_bookmarksGet)
+HXLINE(2350) if (::hx::IsNotNull( e )) {
+HXLINE(2350) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
}
else {
-HXLINE(1883) return null();
+HXLINE(2350) return null();
}
-HXDLIN(1883) return null();
+HXDLIN(2350) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1883) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(upTo->attr,HX_("id",db,5b,00,00))) );
-HXDLIN(1883) ::thenshim::_Promise::Promise_Impl__obj::then(chat->markReadUpToId(_hx_tmp,( (::String)(::Reflect_obj::field(upTo->attr,HX_("by",d7,55,00,00))) ),false), ::Dynamic(new _hx_Closure_3()), ::Dynamic(new _hx_Closure_4()));
-HXLINE(1884) chatsToUpdate->push(chat);
+HXLINE(2350) ::String _hx_tmp = upTo->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN(2350) ::thenshim::_Promise::Promise_Impl__obj::then(chat->markReadUpToId(_hx_tmp,upTo->attr->get_string(HX_("by",d7,55,00,00)),false), ::Dynamic(new _hx_Closure_3()), ::Dynamic(new _hx_Closure_4()));
+HXLINE(2351) chatsToUpdate->push(chat);
}
}
}
}
-HXLINE(1888) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1888) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
+HXLINE(2355) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(2355) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
}
HX_END_LOCAL_FUNC0((void))
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_8, ::borogove::Client,_gthis, ::borogove::queries::PubsubGet,pubsubGet, ::Dynamic,callback) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1893_bookmarksGet)
-HXLINE(1894) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1895) {
-HXLINE(1895) int _g = 0;
-HXDLIN(1895) ::Array< ::Dynamic> _g1 = pubsubGet->getResult();
-HXDLIN(1895) while((_g < _g1->length)){
-HXLINE(1895) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(1895) _g = (_g + 1);
-HXLINE(1896) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ) )) {
-HXLINE(1897) ::borogove::Client _gthis1 = _gthis;
-HXDLIN(1897) ::borogove::Chat chat = _gthis1->getChat(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ));
-HXLINE(1898) if (::hx::IsNull( chat )) {
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2360_bookmarksGet)
+HXLINE(2361) ::Array< ::Dynamic> chatsToUpdate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2362) {
+HXLINE(2362) int _g = 0;
+HXDLIN(2362) ::Array< ::Dynamic> _g1 = pubsubGet->getResult();
+HXDLIN(2362) while((_g < _g1->length)){
+HXLINE(2362) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2362) _g = (_g + 1);
+HXLINE(2363) if (::hx::IsNotNull( item->attr->get(HX_("id",db,5b,00,00)) )) {
+HXLINE(2364) ::borogove::Client _gthis1 = _gthis;
+HXDLIN(2364) ::borogove::Chat chat = _gthis1->getChat(item->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE(2365) if (::hx::IsNull( chat )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6, ::borogove::Stanza,item) HXARGC(1)
int _hx_run( ::borogove::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1901_bookmarksGet)
-HXLINE(1902) if (::hx::IsNull( caps )) {
-HXLINE(1902) return 1;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2368_bookmarksGet)
+HXLINE(2369) if (::hx::IsNull( caps )) {
+HXLINE(2369) return 1;
}
-HXLINE(1904) ::borogove::Identity identity = caps->identities->__get(0).StaticCast< ::borogove::Identity >();
-HXLINE(1905) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
-HXLINE(1906) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(conf->attr,HX_("name",4b,72,ff,48))) ) )) {
-HXLINE(1907) ::String value;
-HXDLIN(1907) if (::hx::IsNotNull( identity )) {
-HXLINE(1907) value = identity->name;
+HXLINE(2371) ::borogove::Identity identity = caps->identities->__get(0).StaticCast< ::borogove::Identity >();
+HXLINE(2372) ::borogove::Stanza conf = item->getChild(HX_("conference",1c,2b,83,41),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXLINE(2373) if (::hx::IsNull( conf->attr->get(HX_("name",4b,72,ff,48)) )) {
+HXLINE(2374) ::String _hx_tmp;
+HXDLIN(2374) if (::hx::IsNotNull( identity )) {
+HXLINE(2374) _hx_tmp = identity->name;
}
else {
-HXLINE(1907) value = null();
+HXLINE(2374) _hx_tmp = null();
}
-HXDLIN(1907) ::Reflect_obj::setField(conf->attr,HX_("name",4b,72,ff,48),value);
+HXDLIN(2374) conf->attr->set(HX_("name",4b,72,ff,48),_hx_tmp);
}
-HXLINE(1909) bool _hx_tmp;
-HXDLIN(1909) bool _hx_tmp1;
-HXDLIN(1909) if ((( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) != HX_("1",31,00,00,00))) {
-HXLINE(1909) _hx_tmp1 = (( (::String)(::Reflect_obj::field(conf->attr,HX_("autojoin",d9,f6,b1,3e))) ) == HX_("true",4e,a7,03,4d));
+HXLINE(2376) bool _hx_tmp1;
+HXDLIN(2376) bool _hx_tmp2;
+HXDLIN(2376) if (::hx::IsNotEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("1",31,00,00,00) )) {
+HXLINE(2376) _hx_tmp2 = ::hx::IsEq( conf->attr->get(HX_("autojoin",d9,f6,b1,3e)),HX_("true",4e,a7,03,4d) );
}
else {
-HXLINE(1909) _hx_tmp1 = true;
+HXLINE(2376) _hx_tmp2 = true;
}
-HXDLIN(1909) if (!(_hx_tmp1)) {
-HXLINE(1909) _hx_tmp = !(caps->isChannel(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) )));
+HXDLIN(2376) if (!(_hx_tmp2)) {
+HXLINE(2376) _hx_tmp1 = !(caps->isChannel(item->attr->get_string(HX_("id",db,5b,00,00))));
}
else {
-HXLINE(1909) _hx_tmp = true;
+HXLINE(2376) _hx_tmp1 = true;
}
-HXDLIN(1909) if (_hx_tmp) {
-HXLINE(1909) return 1;
+HXDLIN(2376) if (_hx_tmp1) {
+HXLINE(2376) return 1;
}
else {
-HXLINE(1909) return 2;
+HXLINE(2376) return 2;
}
-HXDLIN(1909) return null();
+HXDLIN(2376) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Stanza,item) HXARGC(1)
void _hx_run( ::borogove::Chat chat){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1912_bookmarksGet)
-HXLINE(1912) chat->updateFromBookmark(item);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2379_bookmarksGet)
+HXLINE(2379) chat->updateFromBookmark(item);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1899) ::borogove::Client _gthis2 = _gthis;
-HXDLIN(1899) _gthis2->startChatWith(( (::String)(::Reflect_obj::field(item->attr,HX_("id",db,5b,00,00))) ), ::Dynamic(new _hx_Closure_6(item)), ::Dynamic(new _hx_Closure_7(item)));
+HXLINE(2366) ::borogove::Client _gthis2 = _gthis;
+HXDLIN(2366) _gthis2->startChatWith(item->attr->get_string(HX_("id",db,5b,00,00)), ::Dynamic(new _hx_Closure_6(item)), ::Dynamic(new _hx_Closure_7(item)));
}
else {
-HXLINE(1916) chat->updateFromBookmark(item);
-HXLINE(1917) chatsToUpdate->push(chat);
+HXLINE(2383) chat->updateFromBookmark(item);
+HXLINE(2384) chatsToUpdate->push(chat);
}
}
}
}
-HXLINE(1921) ::Dynamic _gthis3 = _gthis->persistence;
-HXDLIN(1921) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
-HXLINE(1922) callback();
+HXLINE(2388) ::Dynamic _gthis3 = _gthis->persistence;
+HXDLIN(2388) ::borogove::Persistence_obj::storeChats(_gthis3,_gthis->accountId(),chatsToUpdate);
+HXLINE(2389) callback();
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1864_bookmarksGet)
-HXDLIN(1864) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1865) ::borogove::queries::BlocklistGet blockingGet = ::borogove::queries::BlocklistGet_obj::__alloc( HX_CTX );
-HXLINE(1866) blockingGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,blockingGet)));
-HXLINE(1871) this->sendQuery(blockingGet);
-HXLINE(1873) ::borogove::queries::PubsubGet mdsGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb),null());
-HXLINE(1874) mdsGet->onFinished( ::Dynamic(new _hx_Closure_5(_gthis,mdsGet)));
-HXLINE(1890) this->sendQuery(mdsGet);
-HXLINE(1892) ::borogove::queries::PubsubGet pubsubGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d),null());
-HXLINE(1893) pubsubGet->onFinished( ::Dynamic(new _hx_Closure_8(_gthis,pubsubGet,callback)));
-HXLINE(1924) this->sendQuery(pubsubGet);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2331_bookmarksGet)
+HXDLIN(2331) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2332) ::borogove::queries::BlocklistGet blockingGet = ::borogove::queries::BlocklistGet_obj::__alloc( HX_CTX );
+HXLINE(2333) blockingGet->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,blockingGet)));
+HXLINE(2338) this->sendQuery(blockingGet);
+HXLINE(2340) ::borogove::queries::PubsubGet mdsGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:mds:displayed:0",bd,60,cc,fb),null());
+HXLINE(2341) mdsGet->onFinished( ::Dynamic(new _hx_Closure_5(_gthis,mdsGet)));
+HXLINE(2357) this->sendQuery(mdsGet);
+HXLINE(2359) ::borogove::queries::PubsubGet pubsubGet = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,null(),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d),null());
+HXLINE(2360) pubsubGet->onFinished( ::Dynamic(new _hx_Closure_8(_gthis,pubsubGet,callback)));
+HXLINE(2391) this->sendQuery(pubsubGet);
}
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,bookmarksGet,(void))
void Client_obj::checkForReceipts( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1927_checkForReceipts)
-HXDLIN(1927) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1928) {
-HXLINE(1928) int _g = 0;
-HXDLIN(1928) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("received",21,45,fd,e2),HX_("urn:xmpp:receipts",d7,40,8f,8c));
-HXDLIN(1928) while((_g < _g1->length)){
-HXLINE(1928) ::borogove::Stanza receipt = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(1928) _g = (_g + 1);
-HXLINE(1929) ::String id = ( (::String)(::Reflect_obj::field(receipt->attr,HX_("id",db,5b,00,00))) );
-HXLINE(1930) if (::hx::IsNotNull( id )) {
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2394_checkForReceipts)
+HXDLIN(2394) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2397) {
+HXLINE(2397) int _g = 0;
+HXDLIN(2397) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("received",21,45,fd,e2),HX_("urn:xmpp:receipts",d7,40,8f,8c));
+HXDLIN(2397) while((_g < _g1->length)){
+HXLINE(2397) ::borogove::Stanza receipt = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(2397) _g = (_g + 1);
+HXLINE(2398) ::String id = receipt->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE(2399) if (::hx::IsNotNull( id )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis) HXARGC(1)
void _hx_run( ::borogove::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1936_checkForReceipts)
-HXLINE(1936) _gthis->notifyMessageHandlers(m,3);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2405_checkForReceipts)
+HXLINE(2405) _gthis->notifyMessageHandlers(m,3);
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1936_checkForReceipts)
-HXLINE(1936) return null();
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2405_checkForReceipts)
+HXLINE(2405) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1931) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1931) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_hx_tmp,this->accountId(),id,2,null()), ::Dynamic(new _hx_Closure_0(_gthis)), ::Dynamic(new _hx_Closure_1()));
+HXLINE(2400) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(2400) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_hx_tmp,this->accountId(),id,2,null()), ::Dynamic(new _hx_Closure_0(_gthis)), ::Dynamic(new _hx_Closure_1()));
}
}
}
@@ -5538,21 +6672,21 @@ HXDLIN(1931) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persi
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,checkForReceipts,(void))
void Client_obj::sync( ::Dynamic callback){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1941_sync)
-HXDLIN(1941) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1942) if (::Std_obj::isOfType(this->persistence,::hx::ClassOf< ::borogove::persistence::Dummy >())) {
-HXLINE(1943) callback(true);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2410_sync)
+HXDLIN(2410) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2411) if (::Std_obj::isOfType(this->persistence,::hx::ClassOf< ::borogove::persistence::Dummy >())) {
+HXLINE(2412) callback(true);
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::Client,_gthis, ::Dynamic,callback) HXARGC(1)
void _hx_run( ::borogove::ChatMessage point){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1945_sync)
-HXLINE(1945) _gthis->doSync(callback,point,null());
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2414_sync)
+HXLINE(2414) _gthis->doSync(callback,point,null());
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1945) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1945) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_hx_tmp,this->accountId(),null()), ::Dynamic(new _hx_Closure_0(_gthis,callback)),null());
+HXLINE(2414) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(2414) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(_hx_tmp,this->accountId(),null()), ::Dynamic(new _hx_Closure_0(_gthis,callback)),null());
}
}
@@ -5560,25 +6694,25 @@ HXDLIN(1945) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persist
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,sync,(void))
void Client_obj::onMAMJMI(::String sid, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1950_onMAMJMI)
-HXLINE(1951) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ) )) {
-HXLINE(1951) return;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2419_onMAMJMI)
+HXLINE(2420) if (::hx::IsNull( stanza->attr->get(HX_("from",6a,a5,c2,43)) )) {
+HXLINE(2420) return;
}
-HXLINE(1952) ::borogove::JID from = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE(1953) ::borogove::DirectChat chat = this->getDirectChat(from->asBare()->asString(),null());
-HXLINE(1954) if (chat->jingleSessions->exists(sid)) {
-HXLINE(1954) return;
+HXLINE(2421) ::borogove::JID from = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE(2422) ::borogove::DirectChat chat = this->getDirectChat(from->asBare()->asString(),null());
+HXLINE(2423) if (chat->jingleSessions->exists(sid)) {
+HXLINE(2423) return;
}
-HXLINE(1956) if (::hx::IsNull( stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07)) )) {
-HXLINE(1956) return;
+HXLINE(2425) if (::hx::IsNull( stanza->getChild(HX_("propose",fe,fe,e9,f9),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07)) )) {
+HXLINE(2425) return;
}
-HXLINE(1957) ::borogove::calls::IncomingProposedSession session = ::borogove::calls::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,sid);
-HXLINE(1958) {
-HXLINE(1958) ::Dynamic this1 = chat->jingleSessions;
-HXDLIN(1958) ( ( ::haxe::ds::StringMap)(this1) )->set(session->get_sid(),session);
+HXLINE(2426) ::borogove::calls::IncomingProposedSession session = ::borogove::calls::IncomingProposedSession_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),from,sid);
+HXLINE(2427) {
+HXLINE(2427) ::Dynamic this1 = chat->jingleSessions;
+HXDLIN(2427) ( ( ::haxe::ds::StringMap)(this1) )->set(session->get_sid(),session);
}
-HXLINE(1959) this->chatActivity(chat,null());
-HXLINE(1960) session->ring();
+HXLINE(2428) this->chatActivity(chat,null());
+HXLINE(2429) session->ring();
}
@@ -5587,168 +6721,207 @@ HX_DEFINE_DYNAMIC_FUNC2(Client_obj,onMAMJMI,(void))
void Client_obj::doSync( ::Dynamic callback, ::borogove::ChatMessage syncPoint,::String sortA){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1975_doSync)
-HXLINE(1976) builder->syncPoint = true;
-HXLINE(1977) return builder;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2448_doSync)
+HXLINE(2449) builder->syncPoint = true;
+HXLINE(2450) return builder;
}
HX_END_LOCAL_FUNC2(return)
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_8, ::borogove::MessageSync,sync2, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::Dynamic,callback) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_10, ::borogove::MessageSync,sync2, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::Dynamic,callback) HXARGC(1)
void _hx_run( ::Dynamic messageList){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_6, ::borogove::MessageSync,sync2, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::Dynamic,callback) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::borogove::Client,_gthis) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> ms){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2497_doSync)
+HXLINE(2497) return _gthis->storeMessages(ms);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_8, ::borogove::MessageSync,sync2, ::borogove::Client,_gthis, ::haxe::ds::StringMap,chatIds, ::Dynamic,callback) HXARGC(1)
void _hx_run(::Array< ::Dynamic> results){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2013_doSync)
-HXLINE(2014) {
-HXLINE(2014) int _g = 0;
-HXDLIN(2014) while((_g < results->length)){
-HXLINE(2014) ::Array< ::Dynamic> messages = results->__get(_g).StaticCast< ::Array< ::Dynamic> >();
-HXDLIN(2014) _g = (_g + 1);
-HXLINE(2015) if (::hx::IsNotNull( messages )) {
-HXLINE(2016) int _g1 = 0;
-HXDLIN(2016) while((_g1 < messages->length)){
-HXLINE(2016) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(2016) _g1 = (_g1 + 1);
-HXLINE(2017) _gthis->notifySyncMessageHandlers(message);
-HXLINE(2018) _gthis->sortId = message->sortId;
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2499_doSync)
+HXLINE(2500) {
+HXLINE(2500) int _g = 0;
+HXDLIN(2500) while((_g < results->length)){
+HXLINE(2500) ::Array< ::Dynamic> messages = results->__get(_g).StaticCast< ::Array< ::Dynamic> >();
+HXDLIN(2500) _g = (_g + 1);
+HXLINE(2501) if (::hx::IsNotNull( messages )) {
+HXLINE(2502) int _g1 = 0;
+HXDLIN(2502) while((_g1 < messages->length)){
+HXLINE(2502) ::borogove::ChatMessage message = messages->__get(_g1).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(2502) _g1 = (_g1 + 1);
+HXLINE(2503) _gthis->notifySyncMessageHandlers(message);
+HXLINE(2504) _gthis->sortId = message->sortId;
}
}
}
}
-HXLINE(2023) if (sync2->hasMore()) {
-HXLINE(2024) sync2->fetchNext();
+HXLINE(2509) if (sync2->hasMore()) {
+HXLINE(2510) sync2->fetchNext();
}
else {
-HXLINE(2027) {
-HXLINE(2027) ::Dynamic this1 = sync2->jmi;
-HXDLIN(2027) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
-HXDLIN(2027) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(2027) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(2027) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this1,key)) );
-HXLINE(2028) _gthis->onMAMJMI(key,_g_value);
+HXLINE(2513) {
+HXLINE(2513) ::Dynamic this1 = sync2->jmi;
+HXDLIN(2513) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(2513) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(2513) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(2513) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(2514) _gthis->onMAMJMI(key,_g_value);
}
}
-HXLINE(2031) {
-HXLINE(2031) ::Dynamic map = chatIds;
-HXDLIN(2031) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(map);
-HXDLIN(2031) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(2031) ::String key1 = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(2031) ::haxe::IMap_obj::get(map,key1);
-HXLINE(2034) if (::hx::IsNull( _gthis->getChat(key1) )) {
-HXLINE(2034) _gthis->getDirectChat(key1,null());
+HXLINE(2517) {
+HXLINE(2517) ::Dynamic map = chatIds;
+HXDLIN(2517) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(map);
+HXDLIN(2517) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(2517) ::String key1 = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(2517) ::haxe::IMap_obj::get(map,key1);
+HXLINE(2520) if (::hx::IsNull( _gthis->getChat(key1) )) {
+HXLINE(2520) _gthis->getDirectChat(key1,null());
}
}
}
-HXLINE(2036) if (::hx::IsNotNull( callback )) {
-HXLINE(2036) callback(true);
+HXLINE(2522) if (::hx::IsNotNull( callback )) {
+HXLINE(2522) callback(true);
}
}
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::Dynamic,callback) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_9, ::Dynamic,callback) HXARGC(1)
void _hx_run( ::Dynamic e){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2039_doSync)
-HXLINE(2040) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN(2040) ::String _hx_tmp1;
-HXDLIN(2040) if (::hx::IsNull( e )) {
-HXLINE(2040) _hx_tmp1 = HX_("null",87,9e,0e,49);
- }
- else {
-HXLINE(2040) _hx_tmp1 = ::Std_obj::string(e);
- }
-HXDLIN(2040) _hx_tmp(HX_("SYNC: error",67,8e,34,8a), ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2525_doSync)
+HXLINE(2526) ::haxe::Log_obj::trace(HX_("SYNC: error",67,8e,34,8a), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_hx_tmp1))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,e))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),2040)));
-HXLINE(2041) callback(false);
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2526)));
+HXLINE(2527) callback(false);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1980_doSync)
-HXLINE(1981) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1982) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1983) {
-HXLINE(1983) int _g = 0;
-HXDLIN(1983) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
-HXDLIN(1983) while((_g < _g1->length)){
-HXLINE(1983) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
-HXDLIN(1983) _g = (_g + 1);
-HXLINE(1984) {
-HXLINE(1984) ::borogove::MessageStanza _g2 = m->parsed;
-HXDLIN(1984) switch((int)(_g2->_hx_getIndex())){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2453_doSync)
+HXLINE(2454) ::Array< ::Dynamic> promises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2455) ::Array< ::Dynamic> chatMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2456) {
+HXLINE(2456) int _g = 0;
+HXDLIN(2456) ::Array< ::Dynamic> _g1 = ( (::Array< ::Dynamic>)(messageList->__Field(HX_("messages",cc,d8,fd,34),::hx::paccDynamic)) );
+HXDLIN(2456) while((_g < _g1->length)){
+HXLINE(2456) ::borogove::Message m = _g1->__get(_g).StaticCast< ::borogove::Message >();
+HXDLIN(2456) _g = (_g + 1);
+HXLINE(2457) {
+HXLINE(2457) ::borogove::MessageStanza _g2 = m->parsed;
+HXDLIN(2457) switch((int)(_g2->_hx_getIndex())){
case (int)0: {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::borogove::ChatMessage m){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2002_doSync)
-HXLINE(2002) return ::Array_obj< ::Dynamic>::__new(1)->init(0,m);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2488_doSync)
+HXLINE(2488) return ::Array_obj< ::Dynamic>::__new(1)->init(0,m);
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2002_doSync)
-HXLINE(2002) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2488_doSync)
+HXLINE(2488) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1997) ::Dynamic _gthis1 = _gthis->persistence;
-HXLINE(1998) ::String _hx_tmp = _gthis->accountId();
-HXLINE(1997) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2())));
+HXLINE(2483) ::Dynamic _gthis1 = _gthis->persistence;
+HXLINE(2484) ::String _hx_tmp = _gthis->accountId();
+HXLINE(2483) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::updateMessageStatus(_gthis1,_hx_tmp,_g2->_hx_getString(0),3,_g2->_hx_getObject(1).StaticCast< ::borogove::Stanza >()->getErrorText()), ::Dynamic(new _hx_Closure_1()), ::Dynamic(new _hx_Closure_2())));
}
break;
case (int)1: {
-HXLINE(1985) ::borogove::ChatMessage _g3 = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1985) {
-HXLINE(1986) chatMessages->push(_g3);
-HXLINE(1987) if ((_g3->type == 0)) {
-HXLINE(1987) ::String k = _g3->chatId();
-HXDLIN(1987) chatIds->set(k,true);
+HXLINE(2458) ::borogove::ChatMessage message = _g2->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXLINE(2459) bool _hx_tmp1;
+HXDLIN(2459) if (_gthis->blockIncomingWithoutE2EE) {
+HXLINE(2459) _hx_tmp1 = ::hx::IsNull( m->encryption );
+ }
+ else {
+HXLINE(2459) _hx_tmp1 = false;
+ }
+HXDLIN(2459) if (_hx_tmp1) {
+HXLINE(2461) ::borogove::Client _gthis2 = _gthis;
+HXLINE(2462) ::String message1 = message->localId;
+HXDLIN(2462) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("id",db,5b,00,00),message1)
+ ->setFixed(1,HX_("to",7b,65,00,00),message->from->asString())
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73))),null());
+HXLINE(2463) ::String _hx_tmp3 = _gthis->jid->asString();
+HXLINE(2461) _gthis2->sendStanza(_hx_tmp2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("by",d7,55,00,00),_hx_tmp3)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))),null())->tag(HX_("policy-violation",4a,ce,a9,ac), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null())->up()->textTag(HX_("text",ad,cc,f9,4c),HX_("E2EE Required",12,e2,8b,1e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null()));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::ChatMessage,message) HXARGC(1)
+ ::borogove::ChatMessage _hx_run(bool _){
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2471_doSync)
+HXLINE(2471) return message;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE(2468) {
+HXLINE(2468) int _g3 = 0;
+HXDLIN(2468) ::Array< ::Dynamic> _g4 = message->inlineHashReferences();
+HXDLIN(2468) while((_g3 < _g4->length)){
+HXLINE(2468) ::borogove::Hash hash = _g4->__get(_g3).StaticCast< ::borogove::Hash >();
+HXDLIN(2468) _g3 = (_g3 + 1);
+HXLINE(2469) _gthis->fetchMediaByHash(::Array_obj< ::Dynamic>::__new(1)->init(0,hash),::Array_obj< ::Dynamic>::__new(1)->init(0,message->from));
+ }
+ }
+HXLINE(2471) ::borogove::Client _gthis3 = _gthis;
+HXDLIN(2471) ::borogove::Client _gthis4 = _gthis;
+HXDLIN(2471) ::borogove::Chat _hx_tmp4 = _gthis4->getChat(message->chatId());
+HXDLIN(2471) chatMessages->push(::thenshim::_Promise::Promise_Impl__obj::then(_gthis3->maybeAutodownloadAttachments(_hx_tmp4,message), ::Dynamic(new _hx_Closure_3(message)),null()));
+HXLINE(2472) if ((message->type == 0)) {
+HXLINE(2472) ::String k = message->chatId();
+HXDLIN(2472) chatIds->set(k,true);
}
}
}
break;
case (int)3: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::Client,_gthis, ::borogove::ModerationAction,action) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5, ::borogove::Client,_gthis, ::borogove::ModerationAction,action) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,resolve) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::Dynamic,resolve) HXARGC(1)
void _hx_run( ::borogove::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1994_doSync)
-HXLINE(1994) resolve(null());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2480_doSync)
+HXLINE(2480) resolve(null());
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1994_doSync)
-HXLINE(1994) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->moderateMessage(action), ::Dynamic(new _hx_Closure_3(resolve)),null());
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2480_doSync)
+HXLINE(2480) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->moderateMessage(action), ::Dynamic(new _hx_Closure_4(resolve)),null());
}
HX_END_LOCAL_FUNC2((void))
-HXLINE(1992) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
-HXLINE(1993) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_4(_gthis,action))));
+HXLINE(2478) ::borogove::ModerationAction action = _g2->_hx_getObject(0).StaticCast< ::borogove::ModerationAction >();
+HXLINE(2479) promises->push(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_5(_gthis,action))));
}
break;
case (int)4: {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_5) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_6) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage _){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1990_doSync)
-HXLINE(1990) return null();
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2476_doSync)
+HXLINE(2476) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1990) ::Dynamic _gthis2 = _gthis->persistence;
-HXLINE(1989) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_gthis2,_gthis->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_5()),null()));
+HXLINE(2476) ::Dynamic _gthis5 = _gthis->persistence;
+HXLINE(2475) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_gthis5,_gthis->accountId(),_g2->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_6()),null()));
}
break;
case (int)5: {
-HXLINE(2004) ::borogove::Client _gthis3 = _gthis;
-HXDLIN(2004) ::String m1 = m->chatId;
-HXDLIN(2004) ::borogove::Chat _hx_tmp1 = _gthis->getChat(m->chatId);
-HXDLIN(2004) _gthis3->mucInvite(m1,_hx_tmp1,m->senderId,m->threadId,_g2->_hx_getString(0),_g2->_hx_getString(1),_g2->_hx_getString(2),_g2->_hx_getString(3));
+HXLINE(2490) ::borogove::Client _gthis6 = _gthis;
+HXDLIN(2490) ::String m1 = m->chatId;
+HXDLIN(2490) ::borogove::Chat _hx_tmp5 = _gthis->getChat(m->chatId);
+HXDLIN(2490) _gthis6->mucInvite(m1,_hx_tmp5,m->senderId,m->threadId,_g2->_hx_getString(0),_g2->_hx_getString(1),_g2->_hx_getString(2),_g2->_hx_getString(3));
}
break;
- case (int)6: {
-HXLINE(2006) _gthis->checkForReceipts(_g2->_hx_getObject(0).StaticCast< ::borogove::Stanza >());
+ case (int)7: {
+HXLINE(2492) _gthis->checkForReceipts(_g2->_hx_getObject(0).StaticCast< ::borogove::Stanza >());
}
break;
default:{
@@ -5757,93 +6930,110 @@ HXLINE(2006) _gthis->checkForReceipts(_g2->_hx_getObject(0).StaticCast<
}
}
}
-HXLINE(2011) promises->push(_gthis->storeMessages(chatMessages));
-HXLINE(2012) ::haxe::Log_obj::trace(HX_("SYNC: MAM page wait for writes",ad,4c,95,21),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),2012,HX_("borogove.Client",18,dc,e6,c0),HX_("doSync",86,5f,63,1c)));
-HXLINE(2013) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_6(sync2,_gthis,chatIds,callback)), ::Dynamic(new _hx_Closure_7(callback)));
+HXLINE(2497) promises->push(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(chatMessages), ::Dynamic(new _hx_Closure_7(_gthis)),null()));
+HXLINE(2498) ::haxe::Log_obj::trace(HX_("SYNC: MAM page wait for writes",ad,4c,95,21),::hx::SourceInfo(HX_("borogove/Client.hx",85,7d,15,8e),2498,HX_("borogove.Client",18,dc,e6,c0),HX_("doSync",86,5f,63,1c)));
+HXLINE(2499) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promises), ::Dynamic(new _hx_Closure_8(sync2,_gthis,chatIds,callback)), ::Dynamic(new _hx_Closure_9(callback)));
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_9, ::borogove::Client,_gthis, ::borogove::ChatMessage,syncPoint, ::Dynamic,callback) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_11, ::borogove::Client,_gthis, ::borogove::ChatMessage,syncPoint, ::Dynamic,callback) HXARGC(1)
void _hx_run( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2045_doSync)
-HXLINE(2045) if (::hx::IsNotNull( syncPoint )) {
-HXLINE(2047) _gthis->doSync(callback,null(),syncPoint->sortId);
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2531_doSync)
+HXLINE(2531) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(2533) _gthis->doSync(callback,null(),syncPoint->sortId);
}
else {
-HXLINE(2049) ::haxe::Log_obj::trace(HX_("SYNC: error",67,8e,34,8a), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE(2535) ::haxe::Log_obj::trace(HX_("SYNC: error",67,8e,34,8a), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,stanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),2049)));
-HXLINE(2050) if (::hx::IsNotNull( callback )) {
-HXLINE(2050) callback(false);
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2535)));
+HXLINE(2536) if (::hx::IsNotNull( callback )) {
+HXLINE(2536) callback(false);
}
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_1964_doSync)
-HXDLIN(1964) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1965) ::String thirtyDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-2592000000.))));
-HXLINE(1971) ::Dynamic sync;
-HXDLIN(1971) if (::hx::IsNull( syncPoint )) {
-HXLINE(1971) sync = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_GC_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2433_doSync)
+HXDLIN(2433) ::borogove::Client _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(2434) ::String thirtyDaysAgo = ::borogove::Date_obj::format(::Date_obj::fromTime((::Date_obj::now()->getTime() + ((Float)-2592000000.))));
+HXLINE(2437) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXLINE(2439) ::String _hx_tmp1 = this->accountId();
+HXDLIN(2439) ::String _hx_tmp2;
+HXDLIN(2439) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(2439) _hx_tmp2 = syncPoint->serverId;
+ }
+ else {
+HXLINE(2439) _hx_tmp2 = null();
+ }
+HXDLIN(2439) ::String _hx_tmp3;
+HXDLIN(2439) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(2439) _hx_tmp3 = syncPoint->sortId;
+ }
+ else {
+HXLINE(2439) _hx_tmp3 = null();
+ }
+HXLINE(2437) _hx_tmp(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Client",18,dc,e6,c0))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("sortA",23,4b,ca,80),sortA)
+ ->setFixed(1,HX_("reason",c4,0f,9d,fc),HX_("client doSync",bb,1c,77,4c))
+ ->setFixed(2,HX_("accountId",e8,81,54,29),_hx_tmp1)
+ ->setFixed(3,HX_("syncPointSortId",ae,d4,b4,51),_hx_tmp3)
+ ->setFixed(4,HX_("syncPointServerId",93,3a,99,61),_hx_tmp2))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("doSync",86,5f,63,1c))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Client.hx",85,7d,15,8e))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),2437)));
+HXLINE(2444) ::Dynamic sync;
+HXDLIN(2444) if (::hx::IsNull( syncPoint )) {
+HXLINE(2444) sync = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("startTime",8f,45,f0,05),thirtyDaysAgo));
}
else {
-HXLINE(1971) sync = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(2444) sync = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("after",1c,66,a2,1d),syncPoint->serverId))));
}
-HXLINE(1972) ::String sync1;
-HXDLIN(1972) if (::hx::IsNotNull( sortA )) {
-HXLINE(1972) sync1 = sortA;
+HXLINE(2445) ::String sync1;
+HXDLIN(2445) if (::hx::IsNotNull( sortA )) {
+HXLINE(2445) sync1 = sortA;
}
else {
-HXLINE(1972) if (::hx::IsNotNull( syncPoint )) {
-HXLINE(1972) sync1 = syncPoint->sortId;
+HXLINE(2445) if (::hx::IsNotNull( syncPoint )) {
+HXLINE(2445) sync1 = syncPoint->sortId;
}
else {
-HXLINE(1972) sync1 = null();
+HXLINE(2445) sync1 = null();
}
}
-HXLINE(1968) ::borogove::MessageSync sync2 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,sync,sync1,null(),null());
-HXLINE(1975) sync2->addContext( ::Dynamic(new _hx_Closure_0()));
-HXLINE(1979) ::haxe::ds::StringMap chatIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1980) sync2->onMessages( ::Dynamic(new _hx_Closure_8(sync2,_gthis,chatIds,callback)));
-HXLINE(2044) sync2->onError( ::Dynamic(new _hx_Closure_9(_gthis,syncPoint,callback)));
-HXLINE(2053) sync2->fetchNext();
+HXLINE(2441) ::borogove::MessageSync sync2 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),this->stream,sync,sync1,null(),null());
+HXLINE(2448) sync2->addContext( ::Dynamic(new _hx_Closure_0()));
+HXLINE(2452) ::haxe::ds::StringMap chatIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(2453) sync2->onMessages( ::Dynamic(new _hx_Closure_10(sync2,_gthis,chatIds,callback)));
+HXLINE(2530) sync2->onError( ::Dynamic(new _hx_Closure_11(_gthis,syncPoint,callback)));
+HXLINE(2539) sync2->fetchNext();
}
HX_DEFINE_DYNAMIC_FUNC3(Client_obj,doSync,(void))
void Client_obj::pingAllChannels(bool refresh){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2057_pingAllChannels)
-HXDLIN(2057) int _g = 0;
-HXDLIN(2057) ::Array< ::Dynamic> _g1 = this->getChats();
-HXDLIN(2057) while((_g < _g1->length)){
-HXDLIN(2057) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(2057) _g = (_g + 1);
-HXLINE(2058) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE(2059) if (::hx::IsNotNull( channel )) {
-HXLINE(2059) bool _hx_tmp;
-HXDLIN(2059) if (!(refresh)) {
-HXLINE(2059) ::borogove::Caps _hx_tmp1;
-HXDLIN(2059) if (::hx::IsNotNull( channel )) {
-HXLINE(2059) _hx_tmp1 = channel->disco;
- }
- else {
-HXLINE(2059) _hx_tmp1 = null();
- }
-HXDLIN(2059) _hx_tmp = ::hx::IsNull( _hx_tmp1 );
- }
- else {
-HXLINE(2059) _hx_tmp = true;
- }
-HXDLIN(2059) channel->selfPing(_hx_tmp);
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2543_pingAllChannels)
+HXDLIN(2543) int _g = 0;
+HXDLIN(2543) ::Array< ::Dynamic> _g1 = this->getChannels();
+HXDLIN(2543) while((_g < _g1->length)){
+HXDLIN(2543) ::borogove::Channel channel = _g1->__get(_g).StaticCast< ::borogove::Channel >();
+HXDLIN(2543) _g = (_g + 1);
+HXLINE(2544) bool _hx_tmp;
+HXDLIN(2544) if (!(refresh)) {
+HXLINE(2544) _hx_tmp = ::hx::IsNull( channel->disco );
+ }
+ else {
+HXLINE(2544) _hx_tmp = true;
}
+HXDLIN(2544) channel->selfPing(_hx_tmp);
}
}
@@ -5851,35 +7041,32 @@ HXDLIN(2059) channel->selfPing(_hx_tmp);
HX_DEFINE_DYNAMIC_FUNC1(Client_obj,pingAllChannels,(void))
void Client_obj::joinAllChannels(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2064_joinAllChannels)
-HXDLIN(2064) int _g = 0;
-HXDLIN(2064) ::Array< ::Dynamic> _g1 = this->getChats();
-HXDLIN(2064) while((_g < _g1->length)){
-HXDLIN(2064) ::borogove::Chat chat = _g1->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN(2064) _g = (_g + 1);
-HXLINE(2065) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(chat,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE(2066) if (::hx::IsNotNull( channel )) {
-HXLINE(2067) if ((channel->disco->identities->length < 1)) {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,channel) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2069_joinAllChannels)
-HXLINE(2069) channel->join();
- }
- HX_END_LOCAL_FUNC0((void))
-
-HXLINE(2068) channel->refreshDisco( ::Dynamic(new _hx_Closure_0(channel)));
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2549_joinAllChannels)
+HXDLIN(2549) int _g = 0;
+HXDLIN(2549) ::Array< ::Dynamic> _g1 = this->getChannels();
+HXDLIN(2549) while((_g < _g1->length)){
+HXDLIN(2549) ::borogove::Channel channel = _g1->__get(_g).StaticCast< ::borogove::Channel >();
+HXDLIN(2549) _g = (_g + 1);
+HXLINE(2550) if ((channel->disco->identities->length < 1)) {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::Channel,channel) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2552_joinAllChannels)
+HXLINE(2552) channel->join(true);
}
- else {
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,channel) HXARGC(0)
- void _hx_run(){
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2073_joinAllChannels)
-HXLINE(2073) channel->refreshDisco(null());
- }
- HX_END_LOCAL_FUNC0((void))
+ HX_END_LOCAL_FUNC0((void))
-HXLINE(2072) channel->join();
-HXLINE(2073) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(channel)),30000);
+HXLINE(2551) channel->refreshDisco( ::Dynamic(new _hx_Closure_0(channel)));
+ }
+ else {
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Channel,channel) HXARGC(0)
+ void _hx_run(){
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_2556_joinAllChannels)
+HXLINE(2556) channel->refreshDisco(null());
}
+ HX_END_LOCAL_FUNC0((void))
+
+HXLINE(2555) channel->join(true);
+HXLINE(2556) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(channel)),30000);
}
}
}
@@ -5909,9 +7096,12 @@ void Client_obj::__Mark(HX_MARK_PARAMS)
{
HX_MARK_BEGIN_CLASS(Client);
HX_MARK_MEMBER_NAME(sendAvailable,"sendAvailable");
+ HX_MARK_MEMBER_NAME(blockIncomingWithoutE2EE,"blockIncomingWithoutE2EE");
+ HX_MARK_MEMBER_NAME(outgoingE2EEPreference,"outgoingE2EEPreference");
HX_MARK_MEMBER_NAME(stream,"stream");
HX_MARK_MEMBER_NAME(jid,"jid");
HX_MARK_MEMBER_NAME(chats,"chats");
+ HX_MARK_MEMBER_NAME(chatsIndex,"chatsIndex");
HX_MARK_MEMBER_NAME(persistence,"persistence");
HX_MARK_MEMBER_NAME(capsRepo,"capsRepo");
HX_MARK_MEMBER_NAME(caps,"caps");
@@ -5920,11 +7110,12 @@ void Client_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(token,"token");
HX_MARK_MEMBER_NAME(fastCount,"fastCount");
HX_MARK_MEMBER_NAME(sortId,"sortId");
+ HX_MARK_MEMBER_NAME(rosterVer,"rosterVer");
HX_MARK_MEMBER_NAME(pendingCaps,"pendingCaps");
HX_MARK_MEMBER_NAME(brokenAvatars,"brokenAvatars");
- HX_MARK_MEMBER_NAME(encryptionPolicy,"encryptionPolicy");
HX_MARK_MEMBER_NAME(inSync,"inSync");
HX_MARK_MEMBER_NAME(firstSync,"firstSync");
+ HX_MARK_MEMBER_NAME(channelPinger,"channelPinger");
HX_MARK_MEMBER_NAME(enabledPushData,"enabledPushData");
HX_MARK_MEMBER_NAME(lazyQueryTimer,"lazyQueryTimer");
HX_MARK_MEMBER_NAME(queriesToSend,"queriesToSend");
@@ -5935,9 +7126,12 @@ void Client_obj::__Mark(HX_MARK_PARAMS)
void Client_obj::__Visit(HX_VISIT_PARAMS)
{
HX_VISIT_MEMBER_NAME(sendAvailable,"sendAvailable");
+ HX_VISIT_MEMBER_NAME(blockIncomingWithoutE2EE,"blockIncomingWithoutE2EE");
+ HX_VISIT_MEMBER_NAME(outgoingE2EEPreference,"outgoingE2EEPreference");
HX_VISIT_MEMBER_NAME(stream,"stream");
HX_VISIT_MEMBER_NAME(jid,"jid");
HX_VISIT_MEMBER_NAME(chats,"chats");
+ HX_VISIT_MEMBER_NAME(chatsIndex,"chatsIndex");
HX_VISIT_MEMBER_NAME(persistence,"persistence");
HX_VISIT_MEMBER_NAME(capsRepo,"capsRepo");
HX_VISIT_MEMBER_NAME(caps,"caps");
@@ -5946,11 +7140,12 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(token,"token");
HX_VISIT_MEMBER_NAME(fastCount,"fastCount");
HX_VISIT_MEMBER_NAME(sortId,"sortId");
+ HX_VISIT_MEMBER_NAME(rosterVer,"rosterVer");
HX_VISIT_MEMBER_NAME(pendingCaps,"pendingCaps");
HX_VISIT_MEMBER_NAME(brokenAvatars,"brokenAvatars");
- HX_VISIT_MEMBER_NAME(encryptionPolicy,"encryptionPolicy");
HX_VISIT_MEMBER_NAME(inSync,"inSync");
HX_VISIT_MEMBER_NAME(firstSync,"firstSync");
+ HX_VISIT_MEMBER_NAME(channelPinger,"channelPinger");
HX_VISIT_MEMBER_NAME(enabledPushData,"enabledPushData");
HX_VISIT_MEMBER_NAME(lazyQueryTimer,"lazyQueryTimer");
HX_VISIT_MEMBER_NAME(queriesToSend,"queriesToSend");
@@ -5980,18 +7175,22 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"doSync") ) { return ::hx::Val( doSync_dyn() ); }
break;
case 7:
+ if (HX_FIELD_EQ(inName,"banE2ee") ) { return ::hx::Val( banE2ee_dyn() ); }
if (HX_FIELD_EQ(inName,"getChat") ) { return ::hx::Val( getChat_dyn() ); }
break;
case 8:
if (HX_FIELD_EQ(inName,"capsRepo") ) { return ::hx::Val( capsRepo ); }
+ if (HX_FIELD_EQ(inName,"setPhoto") ) { return ::hx::Val( setPhoto_dyn() ); }
if (HX_FIELD_EQ(inName,"getChats") ) { return ::hx::Val( getChats_dyn() ); }
if (HX_FIELD_EQ(inName,"onMAMJMI") ) { return ::hx::Val( onMAMJMI_dyn() ); }
break;
case 9:
if (HX_FIELD_EQ(inName,"fastCount") ) { return ::hx::Val( fastCount ); }
+ if (HX_FIELD_EQ(inName,"rosterVer") ) { return ::hx::Val( rosterVer ); }
if (HX_FIELD_EQ(inName,"firstSync") ) { return ::hx::Val( firstSync ); }
if (HX_FIELD_EQ(inName,"accountId") ) { return ::hx::Val( accountId_dyn() ); }
if (HX_FIELD_EQ(inName,"setStatus") ) { return ::hx::Val( setStatus_dyn() ); }
+ if (HX_FIELD_EQ(inName,"fetchUris") ) { return ::hx::Val( fetchUris_dyn() ); }
if (HX_FIELD_EQ(inName,"startChat") ) { return ::hx::Val( startChat_dyn() ); }
if (HX_FIELD_EQ(inName,"sortChats") ) { return ::hx::Val( sortChats_dyn() ); }
if (HX_FIELD_EQ(inName,"sendQuery") ) { return ::hx::Val( sendQuery_dyn() ); }
@@ -5999,7 +7198,9 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"mucInvite") ) { return ::hx::Val( mucInvite_dyn() ); }
break;
case 10:
+ if (HX_FIELD_EQ(inName,"chatsIndex") ) { return ::hx::Val( chatsIndex ); }
if (HX_FIELD_EQ(inName,"setProfile") ) { return ::hx::Val( setProfile_dyn() ); }
+ if (HX_FIELD_EQ(inName,"preferE2ee") ) { return ::hx::Val( preferE2ee_dyn() ); }
if (HX_FIELD_EQ(inName,"enablePush") ) { return ::hx::Val( enablePush_dyn() ); }
if (HX_FIELD_EQ(inName,"nextSortId") ) { return ::hx::Val( nextSortId_dyn() ); }
if (HX_FIELD_EQ(inName,"sendStanza") ) { return ::hx::Val( sendStanza_dyn() ); }
@@ -6010,6 +7211,7 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"usePassword") ) { return ::hx::Val( usePassword_dyn() ); }
if (HX_FIELD_EQ(inName,"displayName") ) { return ::hx::Val( displayName_dyn() ); }
if (HX_FIELD_EQ(inName,"onConnected") ) { return ::hx::Val( onConnected_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getChannels") ) { return ::hx::Val( getChannels_dyn() ); }
break;
case 12:
if (HX_FIELD_EQ(inName,"_displayName") ) { return ::hx::Val( _displayName ); }
@@ -6022,6 +7224,8 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"sendAvailable") ) { return ::hx::Val( sendAvailable ); }
if (HX_FIELD_EQ(inName,"fastMechanism") ) { return ::hx::Val( fastMechanism ); }
if (HX_FIELD_EQ(inName,"brokenAvatars") ) { return ::hx::Val( brokenAvatars ); }
+ if (HX_FIELD_EQ(inName,"channelPinger") ) { return ::hx::Val( channelPinger ); }
+ if (HX_FIELD_EQ(inName,"putAttachment") ) { return ::hx::Val( putAttachment_dyn() ); }
if (HX_FIELD_EQ(inName,"getDirectChat") ) { return ::hx::Val( getDirectChat_dyn() ); }
if (HX_FIELD_EQ(inName,"storeMessages") ) { return ::hx::Val( storeMessages_dyn() ); }
if (HX_FIELD_EQ(inName,"queriesToSend") ) { return ::hx::Val( queriesToSend ); }
@@ -6034,14 +7238,15 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"lazyQueryTimer") ) { return ::hx::Val( lazyQueryTimer ); }
break;
case 15:
+ if (HX_FIELD_EQ(inName,"fetchAttachment") ) { return ::hx::Val( fetchAttachment_dyn() ); }
if (HX_FIELD_EQ(inName,"moderateMessage") ) { return ::hx::Val( moderateMessage_dyn() ); }
if (HX_FIELD_EQ(inName,"enabledPushData") ) { return ::hx::Val( enabledPushData ); }
if (HX_FIELD_EQ(inName,"setInForeground") ) { return ::hx::Val( setInForeground_dyn() ); }
+ if (HX_FIELD_EQ(inName,"checkForResends") ) { return ::hx::Val( checkForResends_dyn() ); }
if (HX_FIELD_EQ(inName,"pingAllChannels") ) { return ::hx::Val( pingAllChannels_dyn() ); }
if (HX_FIELD_EQ(inName,"joinAllChannels") ) { return ::hx::Val( joinAllChannels_dyn() ); }
break;
case 16:
- if (HX_FIELD_EQ(inName,"encryptionPolicy") ) { return ::hx::Val( encryptionPolicy ); }
if (HX_FIELD_EQ(inName,"fetchMediaByHash") ) { return ::hx::Val( fetchMediaByHash_dyn() ); }
if (HX_FIELD_EQ(inName,"discoverServices") ) { return ::hx::Val( discoverServices_dyn() ); }
if (HX_FIELD_EQ(inName,"checkForReceipts") ) { return ::hx::Val( checkForReceipts_dyn() ); }
@@ -6074,6 +7279,7 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"notifyMessageHandlers") ) { return ::hx::Val( notifyMessageHandlers_dyn() ); }
break;
case 22:
+ if (HX_FIELD_EQ(inName,"outgoingE2EEPreference") ) { return ::hx::Val( outgoingE2EEPreference ); }
if (HX_FIELD_EQ(inName,"addChatMessageListener") ) { return ::hx::Val( addChatMessageListener_dyn() ); }
if (HX_FIELD_EQ(inName,"addSyncMessageListener") ) { return ::hx::Val( addSyncMessageListener_dyn() ); }
if (HX_FIELD_EQ(inName,"addCallRetractListener") ) { return ::hx::Val( addCallRetractListener_dyn() ); }
@@ -6085,6 +7291,8 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
break;
case 24:
if (HX_FIELD_EQ(inName,"set_sendAvailable__fromC") ) { return ::hx::Val( set_sendAvailable__fromC_dyn() ); }
+ if (HX_FIELD_EQ(inName,"blockIncomingWithoutE2EE") ) { return ::hx::Val( blockIncomingWithoutE2EE ); }
+ if (HX_FIELD_EQ(inName,"tryNextAttachmentService") ) { return ::hx::Val( tryNextAttachmentService_dyn() ); }
if (HX_FIELD_EQ(inName,"addStatusOfflineListener") ) { return ::hx::Val( addStatusOfflineListener_dyn() ); }
break;
case 25:
@@ -6095,8 +7303,17 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"addConnectionFailedListener") ) { return ::hx::Val( addConnectionFailedListener_dyn() ); }
if (HX_FIELD_EQ(inName,"addCallUpdateStatusListener") ) { return ::hx::Val( addCallUpdateStatusListener_dyn() ); }
break;
+ case 28:
+ if (HX_FIELD_EQ(inName,"maybeAutodownloadAttachments") ) { return ::hx::Val( maybeAutodownloadAttachments_dyn() ); }
+ break;
case 30:
if (HX_FIELD_EQ(inName,"fetchMediaByHashOneCounterpart") ) { return ::hx::Val( fetchMediaByHashOneCounterpart_dyn() ); }
+ break;
+ case 31:
+ if (HX_FIELD_EQ(inName,"blockIncomingWithoutE2EE__fromC") ) { return ::hx::Val( blockIncomingWithoutE2EE__fromC_dyn() ); }
+ break;
+ case 35:
+ if (HX_FIELD_EQ(inName,"set_blockIncomingWithoutE2EE__fromC") ) { return ::hx::Val( set_blockIncomingWithoutE2EE__fromC_dyn() ); }
}
return super::__Field(inName,inCallProp);
}
@@ -6124,8 +7341,12 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
break;
case 9:
if (HX_FIELD_EQ(inName,"fastCount") ) { fastCount=inValue.Cast< ::Dynamic >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"rosterVer") ) { rosterVer=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"firstSync") ) { firstSync=inValue.Cast< bool >(); return inValue; }
break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"chatsIndex") ) { chatsIndex=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ break;
case 11:
if (HX_FIELD_EQ(inName,"persistence") ) { persistence=inValue.Cast< ::Dynamic >(); return inValue; }
if (HX_FIELD_EQ(inName,"pendingCaps") ) { pendingCaps=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
@@ -6137,6 +7358,7 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"sendAvailable") ) { sendAvailable=inValue.Cast< bool >(); return inValue; }
if (HX_FIELD_EQ(inName,"fastMechanism") ) { fastMechanism=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"brokenAvatars") ) { brokenAvatars=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"channelPinger") ) { channelPinger=inValue.Cast< ::borogove::ChannelPinger >(); return inValue; }
if (HX_FIELD_EQ(inName,"queriesToSend") ) { queriesToSend=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
break;
case 14:
@@ -6145,8 +7367,11 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
case 15:
if (HX_FIELD_EQ(inName,"enabledPushData") ) { enabledPushData=inValue.Cast< ::Dynamic >(); return inValue; }
break;
- case 16:
- if (HX_FIELD_EQ(inName,"encryptionPolicy") ) { encryptionPolicy=inValue.Cast< ::borogove::EncryptionPolicy >(); return inValue; }
+ case 22:
+ if (HX_FIELD_EQ(inName,"outgoingE2EEPreference") ) { outgoingE2EEPreference=inValue.Cast< ::Array< int > >(); return inValue; }
+ break;
+ case 24:
+ if (HX_FIELD_EQ(inName,"blockIncomingWithoutE2EE") ) { blockIncomingWithoutE2EE=inValue.Cast< bool >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -6154,9 +7379,12 @@ void Client_obj::__Visit(HX_VISIT_PARAMS)
void Client_obj::__GetFields(Array< ::String> &outFields)
{
outFields->push(HX_("sendAvailable",61,c3,fd,db));
+ outFields->push(HX_("blockIncomingWithoutE2EE",a2,57,a3,f6));
+ outFields->push(HX_("outgoingE2EEPreference",14,6b,50,f5));
outFields->push(HX_("stream",80,14,2d,11));
outFields->push(HX_("jid",c5,ca,50,00));
outFields->push(HX_("chats",9b,9e,b3,45));
+ outFields->push(HX_("chatsIndex",77,9a,02,df));
outFields->push(HX_("persistence",5f,17,c4,f6));
outFields->push(HX_("capsRepo",33,c5,b1,15));
outFields->push(HX_("caps",21,1c,ba,41));
@@ -6165,11 +7393,12 @@ void Client_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("token",f9,82,2b,14));
outFields->push(HX_("fastCount",93,fc,67,a5));
outFields->push(HX_("sortId",d9,7a,37,30));
+ outFields->push(HX_("rosterVer",98,f5,fe,3e));
outFields->push(HX_("pendingCaps",18,58,88,be));
outFields->push(HX_("brokenAvatars",65,ac,4f,eb));
- outFields->push(HX_("encryptionPolicy",d5,f0,3c,e7));
outFields->push(HX_("inSync",e0,98,c5,88));
outFields->push(HX_("firstSync",ab,36,2e,03));
+ outFields->push(HX_("channelPinger",82,34,cf,9d));
outFields->push(HX_("enabledPushData",c5,32,81,93));
outFields->push(HX_("lazyQueryTimer",31,55,56,27));
outFields->push(HX_("queriesToSend",69,0e,0c,ca));
@@ -6179,9 +7408,12 @@ void Client_obj::__GetFields(Array< ::String> &outFields)
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo Client_obj_sMemberStorageInfo[] = {
{::hx::fsBool,(int)offsetof(Client_obj,sendAvailable),HX_("sendAvailable",61,c3,fd,db)},
+ {::hx::fsBool,(int)offsetof(Client_obj,blockIncomingWithoutE2EE),HX_("blockIncomingWithoutE2EE",a2,57,a3,f6)},
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Client_obj,outgoingE2EEPreference),HX_("outgoingE2EEPreference",14,6b,50,f5)},
{::hx::fsObject /* ::borogove::GenericStream */ ,(int)offsetof(Client_obj,stream),HX_("stream",80,14,2d,11)},
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(Client_obj,jid),HX_("jid",c5,ca,50,00)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Client_obj,chats),HX_("chats",9b,9e,b3,45)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Client_obj,chatsIndex),HX_("chatsIndex",77,9a,02,df)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Client_obj,persistence),HX_("persistence",5f,17,c4,f6)},
{::hx::fsObject /* ::borogove::CapsRepo */ ,(int)offsetof(Client_obj,capsRepo),HX_("capsRepo",33,c5,b1,15)},
{::hx::fsObject /* ::borogove::Caps */ ,(int)offsetof(Client_obj,caps),HX_("caps",21,1c,ba,41)},
@@ -6190,11 +7422,12 @@ static ::hx::StorageInfo Client_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(Client_obj,token),HX_("token",f9,82,2b,14)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Client_obj,fastCount),HX_("fastCount",93,fc,67,a5)},
{::hx::fsString,(int)offsetof(Client_obj,sortId),HX_("sortId",d9,7a,37,30)},
+ {::hx::fsString,(int)offsetof(Client_obj,rosterVer),HX_("rosterVer",98,f5,fe,3e)},
{::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Client_obj,pendingCaps),HX_("pendingCaps",18,58,88,be)},
{::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Client_obj,brokenAvatars),HX_("brokenAvatars",65,ac,4f,eb)},
- {::hx::fsObject /* ::borogove::EncryptionPolicy */ ,(int)offsetof(Client_obj,encryptionPolicy),HX_("encryptionPolicy",d5,f0,3c,e7)},
{::hx::fsBool,(int)offsetof(Client_obj,inSync),HX_("inSync",e0,98,c5,88)},
{::hx::fsBool,(int)offsetof(Client_obj,firstSync),HX_("firstSync",ab,36,2e,03)},
+ {::hx::fsObject /* ::borogove::ChannelPinger */ ,(int)offsetof(Client_obj,channelPinger),HX_("channelPinger",82,34,cf,9d)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Client_obj,enabledPushData),HX_("enabledPushData",c5,32,81,93)},
{::hx::fsObject /* ::haxe::Timer */ ,(int)offsetof(Client_obj,lazyQueryTimer),HX_("lazyQueryTimer",31,55,56,27)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Client_obj,queriesToSend),HX_("queriesToSend",69,0e,0c,ca)},
@@ -6206,9 +7439,14 @@ static ::hx::StaticInfo *Client_obj_sStaticStorageInfo = 0;
static ::String Client_obj_sMemberFields[] = {
HX_("sendAvailable",61,c3,fd,db),
HX_("set_sendAvailable__fromC",35,ea,10,2d),
+ HX_("blockIncomingWithoutE2EE",a2,57,a3,f6),
+ HX_("blockIncomingWithoutE2EE__fromC",17,31,5e,3b),
+ HX_("set_blockIncomingWithoutE2EE__fromC",3a,a9,7f,ad),
+ HX_("outgoingE2EEPreference",14,6b,50,f5),
HX_("stream",80,14,2d,11),
HX_("jid",c5,ca,50,00),
HX_("chats",9b,9e,b3,45),
+ HX_("chatsIndex",77,9a,02,df),
HX_("persistence",5f,17,c4,f6),
HX_("capsRepo",33,c5,b1,15),
HX_("caps",21,1c,ba,41),
@@ -6217,11 +7455,12 @@ static ::String Client_obj_sMemberFields[] = {
HX_("token",f9,82,2b,14),
HX_("fastCount",93,fc,67,a5),
HX_("sortId",d9,7a,37,30),
+ HX_("rosterVer",98,f5,fe,3e),
HX_("pendingCaps",18,58,88,be),
HX_("brokenAvatars",65,ac,4f,eb),
- HX_("encryptionPolicy",d5,f0,3c,e7),
HX_("inSync",e0,98,c5,88),
HX_("firstSync",ab,36,2e,03),
+ HX_("channelPinger",82,34,cf,9d),
HX_("processLiveMessage",0c,f2,77,58),
HX_("start",62,74,0b,84),
HX_("startOffline",a1,72,73,44),
@@ -6229,13 +7468,21 @@ static ::String Client_obj_sMemberFields[] = {
HX_("usePassword",82,2a,db,a2),
HX_("accountId",e8,81,54,29),
HX_("displayName",ad,11,f2,30),
+ HX_("setPhoto",b0,31,28,d0),
HX_("setProfile",a7,6d,28,46),
HX_("setStatus",74,5c,a3,65),
HX_("updateDisplayName",24,be,5b,95),
+ HX_("preferE2ee",fd,1f,05,66),
+ HX_("banE2ee",3c,47,ab,37),
HX_("onConnected",aa,c5,39,c5),
+ HX_("fetchAttachment",bd,6c,63,61),
+ HX_("fetchUris",e1,b8,57,24),
HX_("prepareAttachment",4a,6c,4b,52),
HX_("prepareAttachmentFor",df,5c,bf,82),
+ HX_("putAttachment",92,a7,a0,c9),
+ HX_("tryNextAttachmentService",e4,12,57,37),
HX_("getChats",25,ae,8a,a5),
+ HX_("getChannels",06,6d,e2,90),
HX_("findAvailableChats",2b,92,7a,e4),
HX_("availableChatSources",f7,d3,2b,65),
HX_("startChat",5a,d8,b2,fa),
@@ -6263,12 +7510,14 @@ static ::String Client_obj_sMemberFields[] = {
HX_("setInForeground",ca,fb,6b,7d),
HX_("setNotInForeground",39,f1,bb,be),
HX_("fetchMediaByHash",2f,ff,07,87),
+ HX_("maybeAutodownloadAttachments",b1,53,2d,4e),
HX_("fetchMediaByHashOneCounterpart",b8,d3,9a,5e),
HX_("chatActivity",c7,e0,61,f8),
HX_("sortChats",5d,72,27,4e),
HX_("nextSortId",2c,2c,69,e5),
HX_("storeMessageBuilder",d5,73,e0,e5),
HX_("storeMessages",cd,f1,bd,e9),
+ HX_("checkForResends",77,10,3f,34),
HX_("sendQuery",a0,48,5a,1e),
HX_("lazyQueryTimer",31,55,56,27),
HX_("queriesToSend",69,0e,0c,ca),
@@ -6322,9 +7571,9 @@ void Client_obj::__register()
void Client_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_62_boot)
-HXDLIN( 62) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(39)
+ HX_STACKFRAME(&_hx_pos_a492fd7f83fa2dd6_61_boot)
+HXDLIN( 61) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(41)
->setFixed(0,HX_("addChatsUpdatedListener__fromC",e4,7a,96,80), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(1,HX_("addSyncMessageListener__fromC",ba,f6,2b,88), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -6345,63 +7594,67 @@ HXDLIN( 62) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(9,HX_("addTlsCheckListener__fromC",17,a0,1f,a9), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(10,HX_("addCallTrackListener__fromC",39,05,06,c4), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(10,HX_("set_blockIncomingWithoutE2EE__fromC",3a,a9,7f,ad), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(11,HX_("addCallTrackListener__fromC",39,05,06,c4), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(11,HX_("addCallMediaListener",99,4a,d3,ce), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(12,HX_("addCallMediaListener",99,4a,d3,ce), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(12,HX_("addChatsUpdatedListener",35,56,de,d1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(13,HX_("addChatsUpdatedListener",35,56,de,d1), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(13,HX_("addConnectionFailedListener__fromC",29,3d,00,dc), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(14,HX_("addConnectionFailedListener__fromC",29,3d,00,dc), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(14,HX_("addChatMessageListener__fromC",f7,a0,32,de), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(15,HX_("addChatMessageListener__fromC",f7,a0,32,de), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(15,HX_("addCallRingListener",43,06,12,df), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(16,HX_("addCallRingListener",43,06,12,df), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(16,HX_("addPasswordNeededListener",45,5f,7e,e2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("addPasswordNeededListener",45,5f,7e,e2), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(17,HX_("addSyncMessageListener",9f,bb,b2,e2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(18,HX_("addSyncMessageListener",9f,bb,b2,e2), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(18,HX_("addChatMessageListener",c2,ab,0f,ed), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("addChatMessageListener",c2,ab,0f,ed), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(19,HX_("addStatusOfflineListener",84,03,7d,f1), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(20,HX_("addStatusOfflineListener",84,03,7d,f1), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(20,HX_("addStatusOnlineListener",ba,7f,0a,f9), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("addStatusOnlineListener",ba,7f,0a,f9), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(21,HX_("addCallUpdateStatusListener__fromC",8b,13,03,02), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("addCallUpdateStatusListener__fromC",8b,13,03,02), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(22,HX_("addCallUpdateStatusListener",ae,ae,44,09), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("addCallUpdateStatusListener",ae,ae,44,09), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(23,HX_("addCallRetractListener",f6,56,33,1b), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(24,HX_("addCallRetractListener",f6,56,33,1b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(24,HX_("addPasswordNeededListener__fromC",d4,b3,20,1d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(25,HX_("addPasswordNeededListener__fromC",d4,b3,20,1d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
+ ->setFixed(26,HX_("set_sendAvailable__fromC",35,ea,10,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(25,HX_("set_sendAvailable__fromC",35,ea,10,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("enablePush__fromC",1c,70,b7,2f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(26,HX_("enablePush__fromC",1c,70,b7,2f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("addCallMediaListener__fromC",00,9b,9c,36), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(27,HX_("addCallMediaListener__fromC",00,9b,9c,36), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("blockIncomingWithoutE2EE__fromC",17,31,5e,3b), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(28,HX_("addCallRingingListener",27,29,10,44), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("addCallRingingListener",27,29,10,44), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(29,HX_("startOffline",a1,72,73,44), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("startOffline",a1,72,73,44), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(30,HX_("addCallTrackListener",40,53,e3,46), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("addCallTrackListener",40,53,e3,46), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(31,HX_("addConnectionFailedListener",50,7d,89,49), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(33,HX_("addConnectionFailedListener",50,7d,89,49), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(32,HX_("prepareAttachment",4a,6c,4b,52), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(34,HX_("prepareAttachment",4a,6c,4b,52), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(33,HX_("addTlsCheckListener",a2,08,8a,52), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(35,HX_("addTlsCheckListener",a2,08,8a,52), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(34,HX_("addCallRetractListener__fromC",43,84,e9,5a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(36,HX_("addCallRetractListener__fromC",43,84,e9,5a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(35,HX_("startOffline__fromC",f8,03,65,60), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(37,HX_("startOffline__fromC",f8,03,65,60), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(36,HX_("availableChatSources",f7,d3,2b,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(38,HX_("availableChatSources",f7,d3,2b,65), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(37,HX_("addStatusOfflineListener__fromC",75,a5,68,6e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(39,HX_("addStatusOfflineListener__fromC",75,a5,68,6e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(38,HX_("getChats__fromC",f4,00,7e,7e), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(40,HX_("getChats__fromC",f4,00,7e,7e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/CommandSession.cpp b/Sources/c_borogove/src/borogove/CommandSession.cpp
index 0bb01e2..2d52912 100644
--- a/Sources/c_borogove/src/borogove/CommandSession.cpp
+++ b/Sources/c_borogove/src/borogove/CommandSession.cpp
@@ -55,6 +55,9 @@
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
@@ -222,13 +225,13 @@ HXLINE( 114) if (extendedAction) {
HXLINE( 115) if (::hx::IsNull( toSubmit->__get(0).StaticCast< ::borogove::Stanza >() )) {
HXLINE( 115) toSubmit[0] = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null());
}
HXLINE( 117) ::borogove::Stanza fld = ::borogove::_DataForm::DataForm_Impl__obj::field(toSubmit->__get(0).StaticCast< ::borogove::Stanza >(),HX_("http://jabber.org/protocol/commands#actions",76,e9,80,16));
HXLINE( 118) if (::hx::IsNull( fld )) {
HXLINE( 119) ::borogove::Stanza _hx_tmp3 = toSubmit->__get(0).StaticCast< ::borogove::Stanza >()->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),HX_("http://jabber.org/protocol/commands#actions",76,e9,80,16))));
-HXDLIN( 119) _hx_tmp3->textTag(HX_("value",71,7f,b8,31),action1->__get(0),null())->up();
+ ->setFixed(0,HX_("var",e7,de,59,00),HX_("http://jabber.org/protocol/commands#actions",76,e9,80,16))),null());
+HXDLIN( 119) _hx_tmp3->textTag(HX_("value",71,7f,b8,31),action1->__get(0),null(),null())->up();
}
else {
HXLINE( 121) ::borogove::_DataForm::Field_Impl__obj::set_value(fld,::Array_obj< ::String >::__new(1)->init(0,action1->__get(0)));
diff --git a/Sources/c_borogove/src/borogove/DirectChat.cpp b/Sources/c_borogove/src/borogove/DirectChat.cpp
index 4444064..cabc248 100644
--- a/Sources/c_borogove/src/borogove/DirectChat.cpp
+++ b/Sources/c_borogove/src/borogove/DirectChat.cpp
@@ -122,57 +122,57 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_e6282dde58caedf0_1056_new,"borogove.DirectChat","new",0xe0794ae0,"borogove.DirectChat.new","borogove/Chat.hx",1056,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1082_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1082,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1083_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1083,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1069_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1069,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1095_getCaps,"borogove.DirectChat","getCaps",0x00f18657,"borogove.DirectChat.getCaps","borogove/Chat.hx",1095,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1091_getCaps,"borogove.DirectChat","getCaps",0x00f18657,"borogove.DirectChat.getCaps","borogove/Chat.hx",1091,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1103_getResourceCaps,"borogove.DirectChat","getResourceCaps",0x4bbab445,"borogove.DirectChat.getResourceCaps","borogove/Chat.hx",1103,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1108_getDisplayName,"borogove.DirectChat","getDisplayName",0xca7ffa37,"borogove.DirectChat.getDisplayName","borogove/Chat.hx",1108,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1121_members,"borogove.DirectChat","members",0x0724e759,"borogove.DirectChat.members","borogove/Chat.hx",1121,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1125_getMemberDetails,"borogove.DirectChat","getMemberDetails",0xd04f2092,"borogove.DirectChat.getMemberDetails","borogove/Chat.hx",1125,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1141_setLastMessage,"borogove.DirectChat","setLastMessage",0x086abb0f,"borogove.DirectChat.setLastMessage","borogove/Chat.hx",1141,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1151_counterparts,"borogove.DirectChat","counterparts",0x8dab4624,"borogove.DirectChat.counterparts","borogove/Chat.hx",1151,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1159_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",1159,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1155_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",1155,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1178_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",1178,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1171_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",1171,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1190_getMessagesAround,"borogove.DirectChat","getMessagesAround",0x8bed6fef,"borogove.DirectChat.getMessagesAround","borogove/Chat.hx",1190,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1198_prepareIncomingMessage,"borogove.DirectChat","prepareIncomingMessage",0xf788013a,"borogove.DirectChat.prepareIncomingMessage","borogove/Chat.hx",1198,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1204_prepareOutgoingMessage,"borogove.DirectChat","prepareOutgoingMessage",0x5db4c674,"borogove.DirectChat.prepareOutgoingMessage","borogove/Chat.hx",1204,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1223_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1223,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1229_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1229,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1217_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1217,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1237_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1237,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1255_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1255,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1247_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1247,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1261_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1261,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1301_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1301,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1275_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1275,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1293_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1293,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1333_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1333,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1332_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1332,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1307_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1307,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1346_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1346,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1364_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1364,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1341_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1341,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1383_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1383,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1368_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1368,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1391_sendChatState,"borogove.DirectChat","sendChatState",0x3d4cbc31,"borogove.DirectChat.sendChatState","borogove/Chat.hx",1391,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1411_close,"borogove.DirectChat","close",0x98bc3238,"borogove.DirectChat.close","borogove/Chat.hx",1411,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1056_boot,"borogove.DirectChat","boot",0x81c139b2,"borogove.DirectChat.boot","borogove/Chat.hx",1056,0x1763ae98)
+HX_DEFINE_STACK_FRAME(_hx_pos_e6282dde58caedf0_1115_new,"borogove.DirectChat","new",0xe0794ae0,"borogove.DirectChat.new","borogove/Chat.hx",1115,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1141_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1141,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1142_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1142,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1128_setPresence,"borogove.DirectChat","setPresence",0x291c167d,"borogove.DirectChat.setPresence","borogove/Chat.hx",1128,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1154_getCaps,"borogove.DirectChat","getCaps",0x00f18657,"borogove.DirectChat.getCaps","borogove/Chat.hx",1154,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1150_getCaps,"borogove.DirectChat","getCaps",0x00f18657,"borogove.DirectChat.getCaps","borogove/Chat.hx",1150,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1162_getResourceCaps,"borogove.DirectChat","getResourceCaps",0x4bbab445,"borogove.DirectChat.getResourceCaps","borogove/Chat.hx",1162,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1167_getDisplayName,"borogove.DirectChat","getDisplayName",0xca7ffa37,"borogove.DirectChat.getDisplayName","borogove/Chat.hx",1167,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1180_members,"borogove.DirectChat","members",0x0724e759,"borogove.DirectChat.members","borogove/Chat.hx",1180,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1184_getMemberDetails,"borogove.DirectChat","getMemberDetails",0xd04f2092,"borogove.DirectChat.getMemberDetails","borogove/Chat.hx",1184,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1200_setLastMessage,"borogove.DirectChat","setLastMessage",0x086abb0f,"borogove.DirectChat.setLastMessage","borogove/Chat.hx",1200,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1210_counterparts,"borogove.DirectChat","counterparts",0x8dab4624,"borogove.DirectChat.counterparts","borogove/Chat.hx",1210,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1218_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",1218,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1214_getMessagesBefore,"borogove.DirectChat","getMessagesBefore",0x701bcc21,"borogove.DirectChat.getMessagesBefore","borogove/Chat.hx",1214,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1244_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",1244,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1234_getMessagesAfter,"borogove.DirectChat","getMessagesAfter",0x74b138ba,"borogove.DirectChat.getMessagesAfter","borogove/Chat.hx",1234,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1260_getMessagesAround,"borogove.DirectChat","getMessagesAround",0x8bed6fef,"borogove.DirectChat.getMessagesAround","borogove/Chat.hx",1260,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1268_prepareIncomingMessage,"borogove.DirectChat","prepareIncomingMessage",0xf788013a,"borogove.DirectChat.prepareIncomingMessage","borogove/Chat.hx",1268,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1283_prepareOutgoingMessage,"borogove.DirectChat","prepareOutgoingMessage",0x5db4c674,"borogove.DirectChat.prepareOutgoingMessage","borogove/Chat.hx",1283,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1303_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1303,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1309_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1309,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1297_correctMessage,"borogove.DirectChat","correctMessage",0x06b2cbfd,"borogove.DirectChat.correctMessage","borogove/Chat.hx",1297,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1316_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1316,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1334_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1334,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1326_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1326,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1340_sendMessage,"borogove.DirectChat","sendMessage",0xb60183df,"borogove.DirectChat.sendMessage","borogove/Chat.hx",1340,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1380_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1380,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1354_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1354,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1372_removeReaction,"borogove.DirectChat","removeReaction",0xd2fab98d,"borogove.DirectChat.removeReaction","borogove/Chat.hx",1372,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1424_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1424,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1423_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1423,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1386_sendMessageStanza,"borogove.DirectChat","sendMessageStanza",0x9c440734,"borogove.DirectChat.sendMessageStanza","borogove/Chat.hx",1386,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1437_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1437,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1455_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1455,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1432_markReadUpTo,"borogove.DirectChat","markReadUpTo",0x03c49dd9,"borogove.DirectChat.markReadUpTo","borogove/Chat.hx",1432,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1481_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1481,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1459_bookmark,"borogove.DirectChat","bookmark",0x64600236,"borogove.DirectChat.bookmark","borogove/Chat.hx",1459,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1489_sendChatState,"borogove.DirectChat","sendChatState",0x3d4cbc31,"borogove.DirectChat.sendChatState","borogove/Chat.hx",1489,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1509_close,"borogove.DirectChat","close",0x98bc3238,"borogove.DirectChat.close","borogove/Chat.hx",1509,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_e6282dde58caedf0_1115_boot,"borogove.DirectChat","boot",0x81c139b2,"borogove.DirectChat.boot","borogove/Chat.hx",1115,0x1763ae98)
namespace borogove{
void DirectChat_obj::__construct( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence,::String chatId,::hx::Null< int > __o_uiState,::hx::Null< bool > __o_isBookmarked,::hx::Null< bool > __o_isBlocked, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy,::Array< int > omemoContactDeviceIDs){
int uiState = __o_uiState.Default(1);
bool isBookmarked = __o_isBookmarked.Default(false);
bool isBlocked = __o_isBlocked.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1056_new)
-HXLINE(1058) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1063) super::__construct(client,stream,persistence,chatId,uiState,isBookmarked,isBlocked,extensions,readUpToId,readUpToBy,omemoContactDeviceIDs);
-HXLINE(1064) this->_fullCounterparts = this->counterparts();
-HXLINE(1065) this->outbox->start();
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1115_new)
+HXLINE(1117) this->presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1122) super::__construct(client,stream,persistence,chatId,uiState,isBookmarked,isBlocked,extensions,readUpToId,readUpToBy,omemoContactDeviceIDs);
+HXLINE(1123) this->_fullCounterparts = this->counterparts();
+HXLINE(1124) this->outbox->start();
}
Dynamic DirectChat_obj::__CreateEmpty() { return new DirectChat_obj; }
@@ -203,217 +203,217 @@ void DirectChat_obj::setPresence(::String resource, ::borogove::Stanza presence,
::Dynamic _hx_run(::Array< ::Dynamic> members){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,members) HXARGC(1)
::Array< ::Dynamic> _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1082_setPresence)
-HXLINE(1082) return members;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1141_setPresence)
+HXLINE(1141) return members;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1082_setPresence)
-HXLINE(1082) ::Dynamic _gthis1 = _gthis->persistence;
-HXDLIN(1082) ::String _hx_tmp = _gthis->client->accountId();
-HXDLIN(1082) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMembers(_gthis1,_hx_tmp,_gthis->chatId,members), ::Dynamic(new _hx_Closure_0(members)),null());
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1141_setPresence)
+HXLINE(1141) ::Dynamic _gthis1 = _gthis->persistence;
+HXDLIN(1141) ::String _hx_tmp = _gthis->client->accountId();
+HXDLIN(1141) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMembers(_gthis1,_hx_tmp,_gthis->chatId,members), ::Dynamic(new _hx_Closure_0(members)),null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::DirectChat,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> members){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1083_setPresence)
-HXLINE(1084) _gthis->trigger(HX_("members/update",bf,63,66,64),members);
-HXLINE(1085) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
-HXLINE(1086) return null();
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1142_setPresence)
+HXLINE(1143) _gthis->trigger(HX_("members/update",bf,63,66,64),members);
+HXLINE(1144) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXLINE(1145) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1069_setPresence)
-HXDLIN(1069) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1071) if ((this->_fullCounterparts->length > 1)) {
-HXLINE(1071) return;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1128_setPresence)
+HXDLIN(1128) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1130) if ((this->_fullCounterparts->length > 1)) {
+HXLINE(1130) return;
}
-HXLINE(1073) if ((( (::String)(::Reflect_obj::field(presence->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
-HXLINE(1074) this->presence->remove(resource);
+HXLINE(1132) if (::hx::IsEq( presence->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
+HXLINE(1133) this->presence->remove(resource);
}
else {
-HXLINE(1076) this->presence->set(resource,presence);
+HXLINE(1135) this->presence->set(resource,presence);
}
-HXLINE(1079) if (noStore) {
-HXLINE(1079) return;
+HXLINE(1138) if (noStore) {
+HXLINE(1138) return;
}
-HXLINE(1081) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->getMemberDetails(this->_fullCounterparts), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+HXLINE(1140) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->getMemberDetails(this->_fullCounterparts), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_2(_gthis)),null());
}
::Dynamic DirectChat_obj::getCaps(){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis, ::Dynamic,iter) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1095_getCaps)
-HXLINE(1096) ::Dynamic n = iter->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE(1097) ::String n1 = ( (::String)(n->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
-HXDLIN(1097) return ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1154_getCaps)
+HXLINE(1155) ::Dynamic n = iter->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE(1156) ::String n1 = ( (::String)(n->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
+HXDLIN(1156) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),n1)
->setFixed(1,HX_("value",71,7f,b8,31),_gthis->client->capsRepo->get(( ( ::borogove::Stanza)(n->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) ))));
}
HX_END_LOCAL_FUNC0(return)
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1091_getCaps)
-HXDLIN(1091) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1092) ::Dynamic iter = ::haxe::iterators::MapKeyValueIterator_obj::__alloc( HX_CTX ,this->presence);
-HXLINE(1093) return ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1150_getCaps)
+HXDLIN(1150) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1151) ::Dynamic iter = ::haxe::iterators::MapKeyValueIterator_obj::__alloc( HX_CTX ,this->presence);
+HXLINE(1152) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("hasNext",6d,a5,46,18), ::Dynamic(iter->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)))
->setFixed(1,HX_("next",f3,84,02,49), ::Dynamic(new _hx_Closure_0(_gthis,iter))));
}
::borogove::Caps DirectChat_obj::getResourceCaps(::String resource){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1103_getResourceCaps)
-HXLINE(1104) ::borogove::Stanza p = ( ( ::borogove::Stanza)(this->presence->get(resource)) );
-HXLINE(1105) if (::hx::IsNull( p )) {
-HXLINE(1105) return ::borogove::CapsRepo_obj::empty;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1162_getResourceCaps)
+HXLINE(1163) ::borogove::Stanza p = ( ( ::borogove::Stanza)(this->presence->get(resource)) );
+HXLINE(1164) if (::hx::IsNull( p )) {
+HXLINE(1164) return ::borogove::CapsRepo_obj::empty;
}
else {
-HXLINE(1105) return this->client->capsRepo->get(p);
+HXLINE(1164) return this->client->capsRepo->get(p);
}
-HXDLIN(1105) return null();
+HXDLIN(1164) return null();
}
HX_DEFINE_DYNAMIC_FUNC1(DirectChat_obj,getResourceCaps,return )
::String DirectChat_obj::getDisplayName(){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1108_getDisplayName)
-HXLINE(1109) ::String name = this->super::getDisplayName();
-HXLINE(1110) bool _hx_tmp;
-HXDLIN(1110) if ((name == this->chatId)) {
-HXLINE(1110) _hx_tmp = (this->_fullCounterparts->length > 1);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1167_getDisplayName)
+HXLINE(1168) ::String name = this->super::getDisplayName();
+HXLINE(1169) bool _hx_tmp;
+HXDLIN(1169) if ((name == this->chatId)) {
+HXLINE(1169) _hx_tmp = (this->_fullCounterparts->length > 1);
}
else {
-HXLINE(1110) _hx_tmp = false;
- }
-HXDLIN(1110) if (_hx_tmp) {
-HXLINE(1111) ::Array< ::String > _this = this->_fullCounterparts;
-HXDLIN(1111) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1111) {
-HXLINE(1111) int _g = 0;
-HXDLIN(1111) int _g1 = _this->length;
-HXDLIN(1111) while((_g < _g1)){
-HXLINE(1111) _g = (_g + 1);
-HXDLIN(1111) int i = (_g - 1);
-HXDLIN(1111) {
-HXLINE(1111) ::String id = ( (::String)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN(1111) ::String inValue = this->client->getDirectChat(id,null())->getDisplayName();
-HXDLIN(1111) result->__unsafe_set(i,inValue);
+HXLINE(1169) _hx_tmp = false;
+ }
+HXDLIN(1169) if (_hx_tmp) {
+HXLINE(1170) ::Array< ::String > _this = this->_fullCounterparts;
+HXDLIN(1170) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1170) {
+HXLINE(1170) int _g = 0;
+HXDLIN(1170) int _g1 = _this->length;
+HXDLIN(1170) while((_g < _g1)){
+HXLINE(1170) _g = (_g + 1);
+HXDLIN(1170) int i = (_g - 1);
+HXDLIN(1170) {
+HXLINE(1170) ::String id = ( (::String)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN(1170) ::String inValue = this->client->getDirectChat(id,null())->getDisplayName();
+HXDLIN(1170) result->__unsafe_set(i,inValue);
}
}
}
-HXLINE(1112) result->sort(::Reflect_obj::compare_dyn());
-HXLINE(1113) return result->join(HX_(", ",74,26,00,00));
+HXLINE(1171) result->sort(::Reflect_obj::compare_dyn());
+HXLINE(1172) return result->join(HX_(", ",74,26,00,00));
}
-HXLINE(1116) return name;
+HXLINE(1175) return name;
}
::Dynamic DirectChat_obj::members(){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1121_members)
-HXDLIN(1121) ::Array< ::String > _hx_tmp = this->_fullCounterparts;
-HXDLIN(1121) return this->getMemberDetails(_hx_tmp->concat(::Array_obj< ::String >::__new(1)->init(0,this->client->accountId())));
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1180_members)
+HXDLIN(1180) ::Array< ::String > _hx_tmp = this->_fullCounterparts;
+HXDLIN(1180) return this->getMemberDetails(_hx_tmp->concat(::Array_obj< ::String >::__new(1)->init(0,this->client->accountId())));
}
::Dynamic DirectChat_obj::getMemberDetails(::Array< ::String > memberIds){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1125_getMemberDetails)
-HXLINE(1126) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(memberIds->length);
-HXDLIN(1126) {
-HXLINE(1126) int _g = 0;
-HXDLIN(1126) int _g1 = memberIds->length;
-HXDLIN(1126) while((_g < _g1)){
-HXLINE(1126) _g = (_g + 1);
-HXDLIN(1126) int i = (_g - 1);
-HXDLIN(1126) {
-HXLINE(1126) ::String id = ( (::String)(_hx_array_unsafe_get(memberIds,i)) );
-HXLINE(1127) ::borogove::DirectChat chat = this->client->getDirectChat(id,null());
-HXLINE(1130) ::String inValue = chat->getDisplayName();
-HXLINE(1131) ::String inValue1 = chat->getPhoto();
-HXLINE(1132) ::String chat1 = chat->chatId;
-HXDLIN(1132) bool inValue2 = (chat1 == this->client->accountId());
-HXLINE(1134) ::borogove::JID inValue3 = ::borogove::JID_obj::parse(id);
-HXLINE(1135) ::haxe::ds::StringMap chat2 = chat->presence;
-HXLINE(1136) ::String inValue4 = chat->getDisplayName();
-HXLINE(1126) ::borogove::Member inValue5 = ::borogove::Member_obj::__alloc( HX_CTX ,id,inValue,inValue1,inValue2,::Array_obj< ::Dynamic>::__new(0),inValue3,chat2, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,id,inValue4,((((HX_("",00,00,00,00) + id) + HX_(" (via ",9a,ee,c1,21)) + this->displayName) + HX_(")",29,00,00,00)),::borogove::CapsRepo_obj::empty));
-HXDLIN(1126) result->__unsafe_set(i,inValue5);
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1184_getMemberDetails)
+HXLINE(1185) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(memberIds->length);
+HXDLIN(1185) {
+HXLINE(1185) int _g = 0;
+HXDLIN(1185) int _g1 = memberIds->length;
+HXDLIN(1185) while((_g < _g1)){
+HXLINE(1185) _g = (_g + 1);
+HXDLIN(1185) int i = (_g - 1);
+HXDLIN(1185) {
+HXLINE(1185) ::String id = ( (::String)(_hx_array_unsafe_get(memberIds,i)) );
+HXLINE(1186) ::borogove::DirectChat chat = this->client->getDirectChat(id,null());
+HXLINE(1189) ::String inValue = chat->getDisplayName();
+HXLINE(1190) ::String inValue1 = chat->getPhoto();
+HXLINE(1191) ::String chat1 = chat->chatId;
+HXDLIN(1191) bool inValue2 = (chat1 == this->client->accountId());
+HXLINE(1193) ::borogove::JID inValue3 = ::borogove::JID_obj::parse(id);
+HXLINE(1194) ::haxe::ds::StringMap chat2 = chat->presence;
+HXLINE(1195) ::String inValue4 = chat->getDisplayName();
+HXLINE(1185) ::borogove::Member inValue5 = ::borogove::Member_obj::__alloc( HX_CTX ,id,inValue,inValue1,inValue2,::Array_obj< ::Dynamic>::__new(0),inValue3,chat2, ::borogove::AvailableChat_obj::__alloc( HX_CTX ,id,inValue4,((((HX_("",00,00,00,00) + id) + HX_(" (via ",9a,ee,c1,21)) + this->displayName) + HX_(")",29,00,00,00)),::borogove::CapsRepo_obj::empty,null()));
+HXDLIN(1185) result->__unsafe_set(i,inValue5);
}
}
}
-HXDLIN(1126) return ::thenshim::_Promise::Promise_Impl__obj::resolve(result);
+HXDLIN(1185) return ::thenshim::_Promise::Promise_Impl__obj::resolve(result);
}
::Dynamic DirectChat_obj::setLastMessage( ::borogove::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1141_setLastMessage)
-HXLINE(1143) bool _hx_tmp;
-HXDLIN(1143) if ((this->_fullCounterparts->length < 2)) {
-HXLINE(1143) ::Array< ::Dynamic> tmp;
-HXDLIN(1143) if (::hx::IsNotNull( message )) {
-HXLINE(1143) tmp = message->recipients;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1200_setLastMessage)
+HXLINE(1202) bool _hx_tmp;
+HXDLIN(1202) if ((this->_fullCounterparts->length < 2)) {
+HXLINE(1202) ::Array< ::Dynamic> tmp;
+HXDLIN(1202) if (::hx::IsNotNull( message )) {
+HXLINE(1202) tmp = message->recipients;
}
else {
-HXLINE(1143) tmp = null();
+HXLINE(1202) tmp = null();
}
-HXDLIN(1143) ::Dynamic tmp1;
-HXDLIN(1143) if (::hx::IsNotNull( tmp )) {
-HXLINE(1143) tmp1 = tmp->length;
+HXDLIN(1202) ::Dynamic tmp1;
+HXDLIN(1202) if (::hx::IsNotNull( tmp )) {
+HXLINE(1202) tmp1 = tmp->length;
}
else {
-HXLINE(1143) tmp1 = null();
+HXLINE(1202) tmp1 = null();
}
-HXDLIN(1143) int _hx_tmp1;
-HXDLIN(1143) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1143) _hx_tmp1 = ( (int)(tmp1) );
+HXDLIN(1202) int _hx_tmp1;
+HXDLIN(1202) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1202) _hx_tmp1 = ( (int)(tmp1) );
}
else {
-HXLINE(1143) _hx_tmp1 = 0;
+HXLINE(1202) _hx_tmp1 = 0;
}
-HXDLIN(1143) _hx_tmp = (_hx_tmp1 > 1);
+HXDLIN(1202) _hx_tmp = (_hx_tmp1 > 1);
}
else {
-HXLINE(1143) _hx_tmp = false;
- }
-HXDLIN(1143) if (_hx_tmp) {
-HXLINE(1144) ::Array< ::Dynamic> _this = message->recipients;
-HXDLIN(1144) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1144) {
-HXLINE(1144) int _g = 0;
-HXDLIN(1144) int _g1 = _this->length;
-HXDLIN(1144) while((_g < _g1)){
-HXLINE(1144) _g = (_g + 1);
-HXDLIN(1144) int i = (_g - 1);
-HXDLIN(1144) {
-HXLINE(1144) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
-HXDLIN(1144) result->__unsafe_set(i,inValue);
+HXLINE(1202) _hx_tmp = false;
+ }
+HXDLIN(1202) if (_hx_tmp) {
+HXLINE(1203) ::Array< ::Dynamic> _this = message->recipients;
+HXDLIN(1203) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1203) {
+HXLINE(1203) int _g = 0;
+HXDLIN(1203) int _g1 = _this->length;
+HXDLIN(1203) while((_g < _g1)){
+HXLINE(1203) _g = (_g + 1);
+HXDLIN(1203) int i = (_g - 1);
+HXDLIN(1203) {
+HXLINE(1203) ::String inValue = ( ( ::borogove::JID)(_hx_array_unsafe_get(_this,i)) )->asBare()->asString();
+HXDLIN(1203) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1144) ::Array< ::String > _g2 = ::Array_obj< ::String >::__new(0);
-HXDLIN(1144) {
-HXLINE(1144) int _g3 = 0;
-HXDLIN(1144) while((_g3 < result->length)){
-HXLINE(1144) ::String v = result->__get(_g3);
-HXDLIN(1144) _g3 = (_g3 + 1);
-HXDLIN(1144) if ((v != this->client->accountId())) {
-HXLINE(1144) _g2->push(v);
+HXDLIN(1203) ::Array< ::String > _g2 = ::Array_obj< ::String >::__new(0);
+HXDLIN(1203) {
+HXLINE(1203) int _g3 = 0;
+HXDLIN(1203) while((_g3 < result->length)){
+HXLINE(1203) ::String v = result->__get(_g3);
+HXDLIN(1203) _g3 = (_g3 + 1);
+HXDLIN(1203) if ((v != this->client->accountId())) {
+HXLINE(1203) _g2->push(v);
}
}
}
-HXDLIN(1144) this->_fullCounterparts = _g2;
-HXLINE(1145) if (!(this->_fullCounterparts->contains(message->senderId))) {
-HXLINE(1145) this->_fullCounterparts->push(message->senderId);
+HXDLIN(1203) this->_fullCounterparts = _g2;
+HXLINE(1204) if (!(this->_fullCounterparts->contains(message->senderId))) {
+HXLINE(1204) this->_fullCounterparts->push(message->senderId);
}
}
-HXLINE(1147) return this->super::setLastMessage(message);
+HXLINE(1206) return this->super::setLastMessage(message);
}
::Array< ::String > DirectChat_obj::counterparts(){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1151_counterparts)
-HXDLIN(1151) return this->chatId.split(HX_("\n",0a,00,00,00));
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1210_counterparts)
+HXDLIN(1210) return this->chatId.split(HX_("\n",0a,00,00,00));
}
@@ -422,220 +422,291 @@ HX_DEFINE_DYNAMIC_FUNC0(DirectChat_obj,counterparts,return )
::Dynamic DirectChat_obj::getMessagesBefore( ::borogove::ChatMessage before){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis, ::borogove::ChatMessage,before) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1159_getMessagesBefore)
-HXLINE(1159) bool _hx_tmp;
-HXDLIN(1159) if ((messages->length <= 0)) {
-HXLINE(1159) if (::hx::IsNotNull( before )) {
-HXLINE(1159) _hx_tmp = ::hx::IsNull( before->serverId );
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1218_getMessagesBefore)
+HXLINE(1218) bool _hx_tmp;
+HXDLIN(1218) if ((messages->length <= 0)) {
+HXLINE(1218) if (::hx::IsNotNull( before )) {
+HXLINE(1218) _hx_tmp = ::hx::IsNull( before->serverId );
}
else {
-HXLINE(1159) _hx_tmp = false;
+HXLINE(1218) _hx_tmp = false;
}
}
else {
-HXLINE(1159) _hx_tmp = true;
+HXLINE(1218) _hx_tmp = true;
}
-HXDLIN(1159) if (_hx_tmp) {
-HXLINE(1160) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+HXDLIN(1218) if (_hx_tmp) {
+HXLINE(1219) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
else {
-HXLINE(1162) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1221) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
-HXLINE(1163) ::String tmp;
-HXDLIN(1163) if (::hx::IsNotNull( before )) {
-HXLINE(1163) tmp = before->serverId;
+HXLINE(1222) ::String tmp;
+HXDLIN(1222) if (::hx::IsNotNull( before )) {
+HXLINE(1222) tmp = before->serverId;
}
else {
-HXLINE(1163) tmp = null();
+HXLINE(1222) tmp = null();
}
-HXDLIN(1163) ::String _hx_tmp1;
-HXDLIN(1163) if (::hx::IsNotNull( tmp )) {
-HXLINE(1163) _hx_tmp1 = tmp;
+HXDLIN(1222) ::String _hx_tmp1;
+HXDLIN(1222) if (::hx::IsNotNull( tmp )) {
+HXLINE(1222) _hx_tmp1 = tmp;
}
else {
-HXLINE(1163) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE(1222) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN(1163) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN(1222) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("before",7f,54,32,9a),_hx_tmp1)),::hx::paccDynamic);
-HXLINE(1164) ::String sync;
-HXDLIN(1164) if (::hx::IsNotNull( before )) {
-HXLINE(1164) sync = before->sortId;
+HXLINE(1225) ::String _hx_tmp2;
+HXDLIN(1225) if (::hx::IsNotNull( before )) {
+HXLINE(1225) _hx_tmp2 = before->serverId;
+ }
+ else {
+HXLINE(1225) _hx_tmp2 = null();
+ }
+HXDLIN(1225) ::String _hx_tmp3;
+HXDLIN(1225) if (::hx::IsNotNull( before )) {
+HXLINE(1225) _hx_tmp3 = before->sortId;
}
else {
-HXLINE(1164) sync = null();
+HXLINE(1225) _hx_tmp3 = null();
}
-HXDLIN(1164) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null(),sync,null());
-HXLINE(1165) return _gthis->fetchFromSync(sync1);
+HXLINE(1223) ::haxe::Log_obj::trace(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.DirectChat",ee,9a,0a,36))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("beforeServerId",1d,29,cd,b4),_hx_tmp2)
+ ->setFixed(1,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(2,HX_("reason",c4,0f,9d,fc),HX_("getMessagesBefore local result empty",fe,91,3a,0a))
+ ->setFixed(3,HX_("beforeSortId",b8,2c,9b,5c),_hx_tmp3))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesBefore",a1,f1,44,11))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1223)));
+HXLINE(1227) ::String sync;
+HXDLIN(1227) if (::hx::IsNotNull( before )) {
+HXLINE(1227) sync = before->sortId;
+ }
+ else {
+HXLINE(1227) sync = null();
+ }
+HXDLIN(1227) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,null(),sync,null());
+HXLINE(1228) return _gthis->fetchFromSync(sync1);
}
-HXLINE(1159) return null();
+HXLINE(1218) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1155_getMessagesBefore)
-HXDLIN(1155) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1156) bool _hx_tmp;
-HXDLIN(1156) if (::hx::IsNotNull( before )) {
-HXLINE(1156) ::String _hx_tmp1 = before->chatId();
-HXDLIN(1156) _hx_tmp = (_hx_tmp1 != this->chatId);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1214_getMessagesBefore)
+HXDLIN(1214) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1215) bool _hx_tmp;
+HXDLIN(1215) if (::hx::IsNotNull( before )) {
+HXLINE(1215) ::String _hx_tmp1 = before->chatId();
+HXDLIN(1215) _hx_tmp = (_hx_tmp1 != this->chatId);
}
else {
-HXLINE(1156) _hx_tmp = false;
+HXLINE(1215) _hx_tmp = false;
}
-HXDLIN(1156) if (_hx_tmp) {
-HXLINE(1156) HX_STACK_DO_THROW(HX_("Cannot look before from a different chat",f7,e6,d9,fa));
+HXDLIN(1215) if (_hx_tmp) {
+HXLINE(1215) HX_STACK_DO_THROW(HX_("Cannot look before from a different chat",f7,e6,d9,fa));
}
-HXLINE(1158) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1158) ::String _hx_tmp3 = this->client->accountId();
-HXDLIN(1158) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp2,_hx_tmp3,this->chatId,before), ::Dynamic(new _hx_Closure_0(_gthis,before)),null());
+HXLINE(1217) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1217) ::String _hx_tmp3 = this->client->accountId();
+HXDLIN(1217) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesBefore(_hx_tmp2,_hx_tmp3,this->chatId,before), ::Dynamic(new _hx_Closure_0(_gthis,before)),null());
}
::Dynamic DirectChat_obj::getMessagesAfter( ::borogove::ChatMessage after){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessage,after, ::borogove::DirectChat,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1178_getMessagesAfter)
-HXLINE(1178) bool _hx_tmp;
-HXDLIN(1178) if ((messages->length <= 0)) {
-HXLINE(1178) if (::hx::IsNotNull( after )) {
-HXLINE(1178) _hx_tmp = ::hx::IsNull( after->serverId );
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1244_getMessagesAfter)
+HXLINE(1244) bool _hx_tmp;
+HXDLIN(1244) if ((messages->length <= 0)) {
+HXLINE(1244) if (::hx::IsNotNull( after )) {
+HXLINE(1244) _hx_tmp = ::hx::IsNull( after->serverId );
}
else {
-HXLINE(1178) _hx_tmp = false;
+HXLINE(1244) _hx_tmp = false;
}
}
else {
-HXLINE(1178) _hx_tmp = true;
+HXLINE(1244) _hx_tmp = true;
}
-HXDLIN(1178) if (_hx_tmp) {
-HXLINE(1179) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+HXDLIN(1244) if (_hx_tmp) {
+HXLINE(1245) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
else {
-HXLINE(1181) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1247) ::Dynamic filter = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("with",06,76,f8,4e),_gthis->chatId));
-HXLINE(1182) ::String _hx_tmp1;
-HXDLIN(1182) if (::hx::IsNotNull( after )) {
-HXLINE(1182) _hx_tmp1 = after->serverId;
+HXLINE(1248) ::String _hx_tmp1;
+HXDLIN(1248) if (::hx::IsNotNull( after )) {
+HXLINE(1248) _hx_tmp1 = after->serverId;
}
else {
-HXLINE(1182) _hx_tmp1 = null();
+HXLINE(1248) _hx_tmp1 = null();
}
-HXDLIN(1182) if (::hx::IsNotNull( _hx_tmp1 )) {
-HXLINE(1182) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN(1248) if (::hx::IsNotNull( _hx_tmp1 )) {
+HXLINE(1248) filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("after",1c,66,a2,1d),after->serverId)),::hx::paccDynamic);
}
-HXLINE(1183) ::String sync;
-HXDLIN(1183) if (::hx::IsNotNull( after )) {
-HXLINE(1183) sync = after->sortId;
+HXLINE(1251) ::String _hx_tmp2;
+HXDLIN(1251) if (::hx::IsNotNull( after )) {
+HXLINE(1251) _hx_tmp2 = after->serverId;
+ }
+ else {
+HXLINE(1251) _hx_tmp2 = null();
+ }
+HXDLIN(1251) ::String _hx_tmp3;
+HXDLIN(1251) if (::hx::IsNotNull( after )) {
+HXLINE(1251) _hx_tmp3 = after->sortId;
}
else {
-HXLINE(1183) sync = null();
+HXLINE(1251) _hx_tmp3 = null();
}
-HXDLIN(1183) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,sync,null(),null());
-HXLINE(1184) return _gthis->fetchFromSync(sync1);
+HXLINE(1249) ::haxe::Log_obj::trace(HX_("SYNC: initialize MessageSync",53,9b,9a,5d), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.DirectChat",ee,9a,0a,36))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("afterSortId",15,d2,97,81),_hx_tmp3)
+ ->setFixed(1,HX_("afterServerId",ba,9f,43,8e),_hx_tmp2)
+ ->setFixed(2,HX_("chatId",d3,04,77,b7),_gthis->chatId)
+ ->setFixed(3,HX_("reason",c4,0f,9d,fc),HX_("getMessagesAfter local result empty",05,44,ab,6d)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesAfter",3a,43,91,57))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1249)));
+HXLINE(1253) ::String sync;
+HXDLIN(1253) if (::hx::IsNotNull( after )) {
+HXLINE(1253) sync = after->sortId;
+ }
+ else {
+HXLINE(1253) sync = null();
+ }
+HXDLIN(1253) ::borogove::MessageSync sync1 = ::borogove::MessageSync_obj::__alloc( HX_CTX ,_gthis->client,_gthis->stream,filter,sync,null(),null());
+HXLINE(1254) return _gthis->fetchFromSync(sync1);
}
-HXLINE(1178) return null();
+HXLINE(1244) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1171_getMessagesAfter)
-HXDLIN(1171) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1172) bool _hx_tmp;
-HXDLIN(1172) if (::hx::IsNotNull( after )) {
-HXLINE(1172) ::String _hx_tmp1 = after->chatId();
-HXDLIN(1172) _hx_tmp = (_hx_tmp1 != this->chatId);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1234_getMessagesAfter)
+HXDLIN(1234) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1235) bool _hx_tmp;
+HXDLIN(1235) if (::hx::IsNotNull( after )) {
+HXLINE(1235) ::String _hx_tmp1 = after->chatId();
+HXDLIN(1235) _hx_tmp = (_hx_tmp1 != this->chatId);
}
else {
-HXLINE(1172) _hx_tmp = false;
+HXLINE(1235) _hx_tmp = false;
}
-HXDLIN(1172) if (_hx_tmp) {
-HXLINE(1172) HX_STACK_DO_THROW(HX_("Cannot look after from a different chat",8c,1a,5f,f4));
+HXDLIN(1235) if (_hx_tmp) {
+HXLINE(1235) HX_STACK_DO_THROW(HX_("Cannot look after from a different chat",8c,1a,5f,f4));
}
-HXLINE(1173) bool _hx_tmp2;
-HXDLIN(1173) bool _hx_tmp3;
-HXDLIN(1173) bool _hx_tmp4;
-HXDLIN(1173) if (::hx::IsNotNull( after )) {
-HXLINE(1173) _hx_tmp4 = ::hx::IsNotNull( this->lastMessage );
+HXLINE(1236) bool _hx_tmp2;
+HXDLIN(1236) bool _hx_tmp3;
+HXDLIN(1236) bool _hx_tmp4;
+HXDLIN(1236) if (::hx::IsNotNull( after )) {
+HXLINE(1236) _hx_tmp4 = ::hx::IsNotNull( this->lastMessage );
}
else {
-HXLINE(1173) _hx_tmp4 = false;
+HXLINE(1236) _hx_tmp4 = false;
}
-HXDLIN(1173) if (_hx_tmp4) {
-HXLINE(1173) _hx_tmp3 = this->lastMessage->canReplace(after);
+HXDLIN(1236) if (_hx_tmp4) {
+HXLINE(1236) _hx_tmp3 = this->lastMessage->canReplace(after);
}
else {
-HXLINE(1173) _hx_tmp3 = false;
+HXLINE(1236) _hx_tmp3 = false;
}
-HXDLIN(1173) if (_hx_tmp3) {
-HXLINE(1173) _hx_tmp2 = !(this->syncing());
+HXDLIN(1236) if (_hx_tmp3) {
+HXLINE(1236) _hx_tmp2 = !(this->syncing());
}
else {
-HXLINE(1173) _hx_tmp2 = false;
+HXLINE(1236) _hx_tmp2 = false;
}
-HXDLIN(1173) if (_hx_tmp2) {
-HXLINE(1174) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+HXDLIN(1236) if (_hx_tmp2) {
+HXLINE(1237) ::haxe::Log_obj::trace(HX_("SYNC: getMessagesAfter returning empty",fa,ce,a8,a8), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.DirectChat",ee,9a,0a,36))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(6)
+ ->setFixed(0,HX_("afterSortId",15,d2,97,81),after->sortId)
+ ->setFixed(1,HX_("afterServerId",ba,9f,43,8e),after->serverId)
+ ->setFixed(2,HX_("chatId",d3,04,77,b7),this->chatId)
+ ->setFixed(3,HX_("lastMessageSortId",ca,3b,01,ca),this->lastMessage->sortId)
+ ->setFixed(4,HX_("lastMessageServerId",af,a0,22,d3),this->lastMessage->serverId)
+ ->setFixed(5,HX_("reason",c4,0f,9d,fc),HX_("direct chat is synced and cursor matches last message",aa,ca,b4,c5)))))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("getMessagesAfter",3a,43,91,57))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1237)));
+HXLINE(1240) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
-HXLINE(1177) ::Dynamic _hx_tmp5 = this->persistence;
-HXDLIN(1177) ::String _hx_tmp6 = this->client->accountId();
-HXDLIN(1177) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp5,_hx_tmp6,this->chatId,after), ::Dynamic(new _hx_Closure_0(after,_gthis)),null());
+HXLINE(1243) ::Dynamic _hx_tmp5 = this->persistence;
+HXDLIN(1243) ::String _hx_tmp6 = this->client->accountId();
+HXDLIN(1243) return ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getMessagesAfter(_hx_tmp5,_hx_tmp6,this->chatId,after), ::Dynamic(new _hx_Closure_0(after,_gthis)),null());
}
::Dynamic DirectChat_obj::getMessagesAround( ::borogove::ChatMessage around){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1190_getMessagesAround)
-HXLINE(1191) ::String _hx_tmp = around->chatId();
-HXDLIN(1191) if ((_hx_tmp != this->chatId)) {
-HXLINE(1191) HX_STACK_DO_THROW(HX_("Cannot look around from a different chat",45,55,1b,ba));
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1260_getMessagesAround)
+HXLINE(1261) ::String _hx_tmp = around->chatId();
+HXDLIN(1261) if ((_hx_tmp != this->chatId)) {
+HXLINE(1261) HX_STACK_DO_THROW(HX_("Cannot look around from a different chat",45,55,1b,ba));
}
-HXLINE(1194) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1194) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp1,this->client->accountId(),around);
+HXLINE(1264) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1264) return ::borogove::Persistence_obj::getMessagesAround(_hx_tmp1,this->client->accountId(),around);
}
::borogove::ChatMessageBuilder DirectChat_obj::prepareIncomingMessage( ::borogove::ChatMessageBuilder message, ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1198_prepareIncomingMessage)
-HXLINE(1199) message->syncPoint = !(this->syncing());
-HXLINE(1200) if (::hx::IsNull( message->sortId )) {
-HXLINE(1200) message->sortId = this->client->nextSortId();
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1268_prepareIncomingMessage)
+HXLINE(1269) message->syncPoint = !(this->syncing());
+HXLINE(1270) if (::hx::IsNull( message->sortId )) {
+HXLINE(1271) ::String lower = this->client->sortId;
+HXLINE(1272) message->sortId = this->client->nextSortId();
+HXLINE(1276) ::String _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(1273) message->debug = ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("now",16,d9,53,00),_hx_tmp)
+ ->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(2,HX_("source",db,b0,31,32),HX_("live",ec,1e,b3,47))
+ ->setFixed(3,HX_("path",a5,e5,51,4a),HX_("DirectChat#prepareIncomingMessage",7c,73,1e,a9)));
}
-HXLINE(1201) return message;
+HXLINE(1280) return message;
}
::borogove::ChatMessageBuilder DirectChat_obj::prepareOutgoingMessage( ::borogove::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1204_prepareOutgoingMessage)
-HXLINE(1205) ::String tmp = message->timestamp;
-HXDLIN(1205) ::String _hx_tmp;
-HXDLIN(1205) if (::hx::IsNotNull( tmp )) {
-HXLINE(1205) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1283_prepareOutgoingMessage)
+HXLINE(1284) ::String tmp = message->timeSent;
+HXDLIN(1284) ::String _hx_tmp;
+HXDLIN(1284) if (::hx::IsNotNull( tmp )) {
+HXLINE(1284) _hx_tmp = tmp;
}
else {
-HXLINE(1205) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
- }
-HXDLIN(1205) message->timestamp = _hx_tmp;
-HXLINE(1206) message->direction = 1;
-HXLINE(1207) message->from = this->client->jid;
-HXLINE(1208) message->sender = message->from->asBare();
-HXLINE(1209) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
-HXLINE(1210) ::Array< ::String > _this = this->counterparts();
-HXDLIN(1210) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN(1210) {
-HXLINE(1210) int _g = 0;
-HXDLIN(1210) int _g1 = _this->length;
-HXDLIN(1210) while((_g < _g1)){
-HXLINE(1210) _g = (_g + 1);
-HXDLIN(1210) int i = (_g - 1);
-HXDLIN(1210) {
-HXLINE(1210) ::borogove::JID inValue = ::borogove::JID_obj::parse(( (::String)(_hx_array_unsafe_get(_this,i)) ));
-HXDLIN(1210) result->__unsafe_set(i,inValue);
+HXLINE(1284) _hx_tmp = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXDLIN(1284) message->timeSent = _hx_tmp;
+HXLINE(1285) message->timeReceived = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE(1286) message->direction = 1;
+HXLINE(1287) message->from = this->client->jid;
+HXLINE(1288) message->sender = message->from->asBare();
+HXLINE(1289) message->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,message->sender);
+HXLINE(1290) ::Array< ::String > _this = this->counterparts();
+HXDLIN(1290) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN(1290) {
+HXLINE(1290) int _g = 0;
+HXDLIN(1290) int _g1 = _this->length;
+HXDLIN(1290) while((_g < _g1)){
+HXLINE(1290) _g = (_g + 1);
+HXDLIN(1290) int i = (_g - 1);
+HXDLIN(1290) {
+HXLINE(1290) ::borogove::JID inValue = ::borogove::JID_obj::parse(( (::String)(_hx_array_unsafe_get(_this,i)) ));
+HXDLIN(1290) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1210) message->recipients = result;
-HXLINE(1211) message->to = message->recipients->__get(0).StaticCast< ::borogove::JID >();
-HXLINE(1212) if (::hx::IsNull( message->localId )) {
-HXLINE(1212) message->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(1290) message->recipients = result;
+HXLINE(1291) message->to = message->recipients->__get(0).StaticCast< ::borogove::JID >();
+HXLINE(1292) if (::hx::IsNull( message->localId )) {
+HXLINE(1292) message->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXLINE(1213) return message;
+HXLINE(1293) return message;
}
@@ -644,145 +715,146 @@ HX_DEFINE_DYNAMIC_FUNC1(DirectChat_obj,prepareOutgoingMessage,return )
void DirectChat_obj::correctMessage( ::borogove::ChatMessage correct, ::borogove::ChatMessageBuilder message){
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1,::String,toSendId, ::borogove::OutboxItem,outboxItem, ::borogove::ChatMessage,correct) HXARGC(1)
void _hx_run( ::borogove::ChatMessage corrected){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1223_correctMessage)
-HXLINE(1224) ::Array< ::Dynamic> _hx_tmp;
-HXDLIN(1224) ::borogove::ChatMessage tmp = corrected->versions->__get((corrected->versions->length - 1)).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1224) ::String _hx_tmp1;
-HXDLIN(1224) if (::hx::IsNotNull( tmp )) {
-HXLINE(1224) _hx_tmp1 = tmp->localId;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1303_correctMessage)
+HXLINE(1304) ::Array< ::Dynamic> _hx_tmp;
+HXDLIN(1304) ::borogove::ChatMessage tmp = corrected->versions->__get((corrected->versions->length - 1)).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1304) ::String _hx_tmp1;
+HXDLIN(1304) if (::hx::IsNotNull( tmp )) {
+HXLINE(1304) _hx_tmp1 = tmp->localId;
}
else {
-HXLINE(1224) _hx_tmp1 = null();
+HXLINE(1304) _hx_tmp1 = null();
}
-HXDLIN(1224) if ((_hx_tmp1 == correct->localId)) {
-HXLINE(1224) _hx_tmp = corrected->versions;
+HXDLIN(1304) if ((_hx_tmp1 == correct->localId)) {
+HXLINE(1304) _hx_tmp = corrected->versions;
}
else {
-HXLINE(1224) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
+HXLINE(1304) _hx_tmp = ::Array_obj< ::Dynamic>::__new(1)->init(0,message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build());
}
-HXDLIN(1224) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
-HXLINE(1225) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
-HXLINE(1226) ::borogove::DirectChat _gthis1 = _gthis;
-HXDLIN(1226) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
-HXDLIN(1226) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem);
-HXLINE(1227) bool _hx_tmp3;
-HXDLIN(1227) if (::hx::IsNotNull( _gthis->lastMessage )) {
-HXLINE(1227) _hx_tmp3 = corrected->canReplace(_gthis->lastMessage);
+HXDLIN(1304) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = _hx_tmp;
+HXLINE(1305) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = toSendId;
+HXLINE(1306) ::borogove::DirectChat _gthis1 = _gthis;
+HXDLIN(1306) ::borogove::Stanza _hx_tmp2 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(1306) _gthis1->sendMessageStanza(_hx_tmp2,outboxItem,null());
+HXLINE(1307) bool _hx_tmp3;
+HXDLIN(1307) if (::hx::IsNotNull( _gthis->lastMessage )) {
+HXLINE(1307) _hx_tmp3 = corrected->canReplace(_gthis->lastMessage);
}
else {
-HXLINE(1227) _hx_tmp3 = true;
+HXLINE(1307) _hx_tmp3 = true;
}
-HXDLIN(1227) if (_hx_tmp3) {
+HXDLIN(1307) if (_hx_tmp3) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1229_correctMessage)
-HXLINE(1229) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1309_correctMessage)
+HXLINE(1309) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1228) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(corrected), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE(1308) ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(corrected), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
-HXLINE(1232) _gthis->client->notifyMessageHandlers(corrected,1);
+HXLINE(1312) _gthis->client->notifyMessageHandlers(corrected,1);
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1217_correctMessage)
-HXDLIN(1217) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN(1217) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1218) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
-HXLINE(1219) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
-HXLINE(1220) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
-HXDLIN(1220) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
-HXLINE(1221) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = correct->localId;
-HXLINE(1222) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(1223) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,toSendId,outboxItem,correct)),null());
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1297_correctMessage)
+HXDLIN(1297) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(1297) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1298) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(1299) ::String toSendId = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId;
+HXLINE(1300) ::borogove::ChatMessage _hx_tmp = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build();
+HXDLIN(1300) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,_hx_tmp);
+HXLINE(1301) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->localId = correct->localId;
+HXLINE(1302) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1303) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,toSendId,outboxItem,correct)),null());
}
-void DirectChat_obj::sendMessage( ::borogove::ChatMessageBuilder message){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1237_sendMessage)
-HXDLIN(1237) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
-HXDLIN(1237) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1238) if ((this->uiState == 3)) {
-HXLINE(1238) this->uiState = 1;
+void DirectChat_obj::sendMessage( ::borogove::ChatMessageBuilder message,::hx::Null< int > __o_e2eePreference){
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1316_sendMessage)
+HXDLIN(1316) ::Array< ::Dynamic> message1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,message);
+HXDLIN(1316) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1317) if ((this->uiState == 3)) {
+HXLINE(1317) this->uiState = 1;
}
-HXLINE(1239) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(1239) this->typingTimer->stop();
+HXLINE(1318) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1318) this->typingTimer->stop();
}
-HXLINE(1240) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
-HXLINE(1241) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
-HXLINE(1242) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients->__get(0).StaticCast< ::borogove::JID >();
-HXLINE(1243) ::borogove::Stanza fromStanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
-HXDLIN(1243) ::borogove::MessageStanza fromStanza1 = ::borogove::Message_obj::fromStanza(fromStanza,this->client->jid,null(),null(),null())->parsed;
-HXLINE(1244) switch((int)(fromStanza1->_hx_getIndex())){
+HXLINE(1319) this->client->chatActivity(::hx::ObjectPtr<OBJ_>(this),null());
+HXLINE(1320) message1[0] = this->prepareOutgoingMessage(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >());
+HXLINE(1321) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients->__get(0).StaticCast< ::borogove::JID >();
+HXLINE(1322) ::borogove::Stanza fromStanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXDLIN(1322) ::borogove::MessageStanza fromStanza1 = ::borogove::Message_obj::fromStanza(fromStanza,this->client->jid,null(),null(),null())->parsed;
+HXLINE(1323) switch((int)(fromStanza1->_hx_getIndex())){
case (int)1: {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1, ::borogove::OutboxItem,outboxItem) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1, ::borogove::OutboxItem,outboxItem,int,e2eePreference) HXARGC(1)
::Dynamic _hx_run( ::borogove::ChatMessage stored){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis, ::borogove::ChatMessage,stored) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1255_sendMessage)
-HXLINE(1256) int _hx_tmp;
-HXDLIN(1256) if ((stored->versions->length > 1)) {
-HXLINE(1256) _hx_tmp = 1;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1334_sendMessage)
+HXLINE(1335) int _hx_tmp;
+HXDLIN(1335) if ((stored->versions->length > 1)) {
+HXLINE(1335) _hx_tmp = 1;
}
else {
-HXLINE(1256) _hx_tmp = 0;
+HXLINE(1335) _hx_tmp = 0;
}
-HXDLIN(1256) _gthis->client->notifyMessageHandlers(stored,_hx_tmp);
-HXLINE(1257) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXDLIN(1335) _gthis->client->notifyMessageHandlers(stored,_hx_tmp);
+HXLINE(1336) return _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1247_sendMessage)
-HXLINE(1248) ::borogove::Stanza stanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
-HXLINE(1249) if (::hx::IsNotNull( _gthis->isActive )) {
-HXLINE(1250) _gthis->isActive = true;
-HXLINE(1251) _gthis->activeThread = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->threadId;
-HXLINE(1252) stanza->tag(HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))))->up();
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1326_sendMessage)
+HXLINE(1327) ::borogove::Stanza stanza = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza();
+HXLINE(1328) if (::hx::IsNotNull( _gthis->isActive )) {
+HXLINE(1329) _gthis->isActive = true;
+HXLINE(1330) _gthis->activeThread = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->threadId;
+HXLINE(1331) stanza->tag(HX_("active",c6,41,46,16), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))),null())->up();
}
-HXLINE(1254) _gthis->sendMessageStanza(stanza,outboxItem);
-HXLINE(1255) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(stored), ::Dynamic(new _hx_Closure_0(_gthis,stored)),null());
+HXLINE(1333) _gthis->sendMessageStanza(stanza,outboxItem,e2eePreference);
+HXLINE(1334) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->setLastMessage(stored), ::Dynamic(new _hx_Closure_0(_gthis,stored)),null());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1246) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(1247) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,outboxItem)),null());
+HXLINE(1325) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1326) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessageBuilder(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()), ::Dynamic(new _hx_Closure_1(_gthis,message1,outboxItem,e2eePreference)),null());
}
break;
case (int)4: {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,message1) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1261_sendMessage)
-HXLINE(1262) {
-HXLINE(1262) int _g = 0;
-HXDLIN(1262) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients;
-HXDLIN(1262) while((_g < _g1->length)){
-HXLINE(1262) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
-HXDLIN(1262) _g = (_g + 1);
-HXLINE(1263) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = recipient;
-HXLINE(1264) ::borogove::Client _gthis1 = _gthis->client;
-HXDLIN(1264) _gthis1->sendStanza(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza());
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1340_sendMessage)
+HXLINE(1341) {
+HXLINE(1341) int _g = 0;
+HXDLIN(1341) ::Array< ::Dynamic> _g1 = message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->recipients;
+HXDLIN(1341) while((_g < _g1->length)){
+HXLINE(1341) ::borogove::JID recipient = _g1->__get(_g).StaticCast< ::borogove::JID >();
+HXDLIN(1341) _g = (_g + 1);
+HXLINE(1342) message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->to = recipient;
+HXLINE(1343) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN(1343) _gthis1->sendStanza(message1->__get(0).StaticCast< ::borogove::ChatMessageBuilder >()->build()->asStanza());
}
}
-HXLINE(1266) if (::hx::IsNotNull( stored )) {
-HXLINE(1266) _gthis->client->notifyMessageHandlers(stored,2);
+HXLINE(1345) if (::hx::IsNotNull( stored )) {
+HXLINE(1345) _gthis->client->notifyMessageHandlers(stored,2);
}
}
HX_END_LOCAL_FUNC1((void))
-HXLINE(1261) ::Dynamic _hx_tmp = this->persistence;
-HXDLIN(1261) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp,this->client->accountId(),fromStanza1->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_2(_gthis,message1)),null());
+HXLINE(1340) ::Dynamic _hx_tmp = this->persistence;
+HXDLIN(1340) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp,this->client->accountId(),fromStanza1->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >()), ::Dynamic(new _hx_Closure_2(_gthis,message1)),null());
}
break;
default:{
-HXLINE(1269) ::haxe::Log_obj::trace(HX_("Invalid message",7e,ab,89,95), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE(1348) ::haxe::Log_obj::trace(HX_("Invalid message",7e,ab,89,95), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.DirectChat",ee,9a,0a,36))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,fromStanza1))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("sendMessage",5f,89,1d,24))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Chat.hx",98,ae,63,17))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),1269)));
-HXLINE(1270) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),1348)));
+HXLINE(1349) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0,91));
}
}
}
@@ -791,308 +863,333 @@ HXLINE(1270) HX_STACK_DO_THROW(HX_("Trying to send invalid message.",dc,74,a0
void DirectChat_obj::removeReaction( ::borogove::ChatMessage m, ::borogove::Reaction reaction){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis, ::borogove::OutboxItem,outboxItem, ::borogove::ReactionUpdate,update3) HXARGC(1)
void _hx_run( ::borogove::ChatMessage stored){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1301_removeReaction)
-HXLINE(1302) ::borogove::DirectChat _gthis1 = _gthis;
-HXDLIN(1302) ::borogove::Stanza _hx_tmp = update3->asStanza();
-HXDLIN(1302) _gthis1->sendMessageStanza(_hx_tmp,outboxItem);
-HXLINE(1303) if (::hx::IsNotNull( stored )) {
-HXLINE(1303) _gthis->client->notifyMessageHandlers(stored,2);
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1380_removeReaction)
+HXLINE(1381) ::borogove::DirectChat _gthis1 = _gthis;
+HXDLIN(1381) ::borogove::Stanza _hx_tmp = update3->asStanza();
+HXDLIN(1381) _gthis1->sendMessageStanza(_hx_tmp,outboxItem,null());
+HXLINE(1382) if (::hx::IsNotNull( stored )) {
+HXLINE(1382) _gthis->client->notifyMessageHandlers(stored,2);
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1275_removeReaction)
-HXDLIN(1275) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1276) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
-HXLINE(1277) if (::hx::IsNull( reaction->envelopeId )) {
-HXLINE(1277) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1354_removeReaction)
+HXDLIN(1354) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1355) if (::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >())) {
+HXLINE(1356) if (::hx::IsNull( reaction->envelopeId )) {
+HXLINE(1356) HX_STACK_DO_THROW(HX_("Cannot remove custom emoji reaction without envelopeId",90,e6,80,fb));
}
-HXLINE(1278) ::borogove::ChatMessageBuilder correct = m->reply();
-HXLINE(1279) correct->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE(1280) correct->setBody(null());
-HXLINE(1282) ::borogove::ChatMessageBuilder fakeEnvelope = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE(1283) fakeEnvelope->localId = reaction->envelopeId;
-HXLINE(1284) fakeEnvelope->senderId = reaction->senderId;
-HXLINE(1285) this->correctMessage(fakeEnvelope->build(),correct);
-HXLINE(1286) return;
- }
-HXLINE(1290) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1291) {
-HXLINE(1291) ::Dynamic this1 = m->reactions;
-HXDLIN(1291) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
-HXDLIN(1291) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1291) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1291) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
-HXLINE(1292) if ((key != reaction->key)) {
+HXLINE(1357) ::borogove::ChatMessageBuilder correct = m->reply();
+HXLINE(1358) correct->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(1359) correct->setBody(null());
+HXLINE(1361) ::borogove::ChatMessageBuilder fakeEnvelope = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE(1362) fakeEnvelope->localId = reaction->envelopeId;
+HXLINE(1363) fakeEnvelope->senderId = reaction->senderId;
+HXLINE(1364) this->correctMessage(fakeEnvelope->build(),correct);
+HXLINE(1365) return;
+ }
+HXLINE(1369) ::Array< ::Dynamic> reactions = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1370) {
+HXLINE(1370) ::Dynamic this1 = m->reactions;
+HXDLIN(1370) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(1370) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1370) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1370) ::Array< ::Dynamic> _g_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(this1,key)) );
+HXLINE(1371) if ((key != reaction->key)) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis) HXARGC(1)
bool _hx_run( ::borogove::Reaction r){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1293_removeReaction)
-HXLINE(1293) ::String r1 = r->senderId;
-HXDLIN(1293) return (r1 == _gthis->client->accountId());
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1372_removeReaction)
+HXLINE(1372) ::String r1 = r->senderId;
+HXDLIN(1372) return (r1 == _gthis->client->accountId());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1293) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
-HXLINE(1294) bool _hx_tmp;
-HXDLIN(1294) if (::hx::IsNotNull( react )) {
-HXLINE(1294) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
+HXLINE(1372) ::borogove::Reaction react = ( ( ::borogove::Reaction)(::Lambda_obj::find(_g_value, ::Dynamic(new _hx_Closure_0(_gthis)))) );
+HXLINE(1373) bool _hx_tmp;
+HXDLIN(1373) if (::hx::IsNotNull( react )) {
+HXLINE(1373) _hx_tmp = !(::Std_obj::isOfType(react,::hx::ClassOf< ::borogove::CustomEmojiReaction >()));
}
else {
-HXLINE(1294) _hx_tmp = false;
+HXLINE(1373) _hx_tmp = false;
}
-HXDLIN(1294) if (_hx_tmp) {
-HXLINE(1295) reactions->push(react);
+HXDLIN(1373) if (_hx_tmp) {
+HXLINE(1374) reactions->push(react);
}
}
}
}
-HXLINE(1299) ::String update = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN(1299) ::String m1 = m->localId;
-HXDLIN(1299) ::String update1 = m->chatId();
-HXDLIN(1299) ::String update2 = this->client->accountId();
-HXDLIN(1299) ::borogove::ReactionUpdate update3 = ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,update,null(),null(),m1,update1,update2,::borogove::Date_obj::format(::Date_obj::now()),reactions,0);
-HXLINE(1300) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
-HXLINE(1301) ::Dynamic _hx_tmp1 = this->persistence;
-HXDLIN(1301) ::String _hx_tmp2 = this->client->accountId();
-HXDLIN(1301) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update3), ::Dynamic(new _hx_Closure_1(_gthis,outboxItem,update3)),null());
+HXLINE(1378) ::String update = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(1378) ::String m1 = m->localId;
+HXDLIN(1378) ::String update1 = m->chatId();
+HXDLIN(1378) ::String update2 = this->client->accountId();
+HXDLIN(1378) ::borogove::ReactionUpdate update3 = ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,update,null(),null(),m1,update1,update2,::borogove::Date_obj::format(::Date_obj::now()),reactions,0);
+HXLINE(1379) ::borogove::OutboxItem outboxItem = this->outbox->newItem();
+HXLINE(1380) ::Dynamic _hx_tmp1 = this->persistence;
+HXDLIN(1380) ::String _hx_tmp2 = this->client->accountId();
+HXDLIN(1380) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeReaction(_hx_tmp1,_hx_tmp2,update3), ::Dynamic(new _hx_Closure_1(_gthis,outboxItem,update3)),null());
}
-void DirectChat_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem){
+void DirectChat_obj::sendMessageStanza( ::borogove::Stanza stanza, ::borogove::OutboxItem outboxItem,::hx::Null< int > __o_e2eePreference){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,outboxItem1) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stanzas){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis,::Array< ::Dynamic>,stanzas) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1333_sendMessageStanza)
-HXLINE(1333) int _g = 0;
-HXDLIN(1333) while((_g < stanzas->length)){
-HXLINE(1333) ::borogove::Stanza stanza = stanzas->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN(1333) _g = (_g + 1);
-HXLINE(1334) _gthis->client->sendStanza(stanza);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1424_sendMessageStanza)
+HXLINE(1424) int _g = 0;
+HXDLIN(1424) while((_g < stanzas->length)){
+HXLINE(1424) ::borogove::Stanza stanza = stanzas->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1424) _g = (_g + 1);
+HXLINE(1425) _gthis->client->sendStanza(stanza);
}
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1332_sendMessageStanza)
-HXLINE(1332) outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >()->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanzas)));
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1423_sendMessageStanza)
+HXLINE(1423) outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >()->handle( ::Dynamic(new _hx_Closure_0(_gthis,stanzas)));
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1307_sendMessageStanza)
-HXDLIN(1307) ::Array< ::Dynamic> outboxItem1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,outboxItem);
-HXDLIN(1307) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1308) if ((stanza->name != HX_("message",c7,35,11,9a))) {
-HXLINE(1308) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
- }
-HXLINE(1310) if (::hx::IsNull( outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >() )) {
-HXLINE(1310) outboxItem1[0] = this->outbox->newItem();
- }
-HXLINE(1312) ::Array< ::String > counters = this->counterparts();
-HXLINE(1313) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(counters->length);
-HXDLIN(1313) {
-HXLINE(1313) int _g = 0;
-HXDLIN(1313) int _g1 = counters->length;
-HXDLIN(1313) while((_g < _g1)){
-HXLINE(1313) _g = (_g + 1);
-HXDLIN(1313) int i = (_g - 1);
-HXDLIN(1313) {
-HXLINE(1313) ::String counterpart = ( (::String)(_hx_array_unsafe_get(counters,i)) );
-HXLINE(1314) ::borogove::Stanza clone = stanza->clone();
-HXLINE(1315) ::Reflect_obj::setField(clone->attr,HX_("to",7b,65,00,00),counterpart);
-HXLINE(1316) bool _hx_tmp;
-HXDLIN(1316) if ((counters->length > 1)) {
-HXLINE(1316) _hx_tmp = ::hx::IsNull( stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed)) );
+ int e2eePreference = __o_e2eePreference.Default(0);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1386_sendMessageStanza)
+HXDLIN(1386) ::Array< ::Dynamic> outboxItem1 = ::Array_obj< ::Dynamic>::__new(1)->init(0,outboxItem);
+HXDLIN(1386) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1387) if ((stanza->name != HX_("message",c7,35,11,9a))) {
+HXLINE(1387) HX_STACK_DO_THROW(HX_("Can only send message stanza this way",cb,e1,b3,60));
+ }
+HXLINE(1389) if (::hx::IsNull( outboxItem1->__get(0).StaticCast< ::borogove::OutboxItem >() )) {
+HXLINE(1389) outboxItem1[0] = this->outbox->newItem();
+ }
+HXLINE(1391) ::Array< ::String > counters = this->counterparts();
+HXLINE(1392) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(counters->length);
+HXDLIN(1392) {
+HXLINE(1392) int _g = 0;
+HXDLIN(1392) int _g1 = counters->length;
+HXDLIN(1392) while((_g < _g1)){
+HXLINE(1392) _g = (_g + 1);
+HXDLIN(1392) int i = (_g - 1);
+HXDLIN(1392) {
+HXLINE(1392) ::String counterpart = ( (::String)(_hx_array_unsafe_get(counters,i)) );
+HXLINE(1393) ::borogove::Stanza clone = stanza->clone();
+HXLINE(1394) clone->attr->set(HX_("to",7b,65,00,00),counterpart);
+HXLINE(1395) bool _hx_tmp;
+HXDLIN(1395) if ((counters->length > 1)) {
+HXLINE(1395) _hx_tmp = ::hx::IsNull( stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed)) );
}
else {
-HXLINE(1316) _hx_tmp = false;
+HXLINE(1395) _hx_tmp = false;
}
-HXDLIN(1316) if (_hx_tmp) {
-HXLINE(1317) ::borogove::Stanza addresses = clone->tag(HX_("addresses",22,9f,12,8c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/address",c0,fd,09,ed))));
-HXLINE(1318) {
-HXLINE(1318) int _g2 = 0;
-HXDLIN(1318) while((_g2 < counters->length)){
-HXLINE(1318) ::String counter = counters->__get(_g2);
-HXDLIN(1318) _g2 = (_g2 + 1);
-HXLINE(1319) addresses->tag(HX_("address",b4,71,0b,9d), ::Dynamic(::hx::Anon_obj::Create(3)
+HXDLIN(1395) if (_hx_tmp) {
+HXLINE(1396) ::borogove::Stanza addresses = clone->tag(HX_("addresses",22,9f,12,8c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/address",c0,fd,09,ed))),null());
+HXLINE(1397) {
+HXLINE(1397) int _g2 = 0;
+HXDLIN(1397) while((_g2 < counters->length)){
+HXLINE(1397) ::String counter = counters->__get(_g2);
+HXDLIN(1397) _g2 = (_g2 + 1);
+HXLINE(1398) addresses->tag(HX_("address",b4,71,0b,9d), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("delivered",84,e0,1c,b2),HX_("true",4e,a7,03,4d))
->setFixed(1,HX_("jid",c5,ca,50,00),counter)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("to",7b,65,00,00))))->up();
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("to",7b,65,00,00))),null())->up();
}
}
-HXLINE(1321) addresses->up();
+HXLINE(1400) addresses->up();
+ }
+HXLINE(1405) if ((e2eePreference == 0)) {
+HXLINE(1405) e2eePreference = _gthis->client->outgoingE2EEPreference->__get(0);
}
-HXLINE(1313) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(stanza);
-HXDLIN(1313) result->__unsafe_set(i,inValue);
+HXLINE(1407) if ((e2eePreference != 1)) {
+HXLINE(1407) HX_STACK_DO_THROW(HX_("Selected E2EE preference unsupported",1e,73,4f,f3));
+ }
+HXLINE(1392) ::Dynamic inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(stanza);
+HXDLIN(1392) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1313) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_1(_gthis,outboxItem1)),null());
+HXDLIN(1392) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_1(_gthis,outboxItem1)),null());
}
void DirectChat_obj::markReadUpTo( ::borogove::ChatMessage message){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis, ::borogove::ChatMessage,message) HXARGC(1)
void _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1346_markReadUpTo)
-HXLINE(1349) bool _hx_tmp;
-HXDLIN(1349) if (message->isIncoming()) {
-HXLINE(1349) _hx_tmp = ::hx::IsNotNull( message->localId );
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1437_markReadUpTo)
+HXLINE(1440) bool _hx_tmp;
+HXDLIN(1440) if (message->isIncoming()) {
+HXLINE(1440) _hx_tmp = ::hx::IsNotNull( message->localId );
}
else {
-HXLINE(1349) _hx_tmp = false;
+HXLINE(1440) _hx_tmp = false;
}
-HXDLIN(1349) if (_hx_tmp) {
-HXLINE(1350) int _g = 0;
-HXDLIN(1350) ::Array< ::String > _g1 = _gthis->counterparts();
-HXDLIN(1350) while((_g < _g1->length)){
-HXLINE(1350) ::String recipient = _g1->__get(_g);
-HXDLIN(1350) _g = (_g + 1);
-HXLINE(1352) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXDLIN(1352) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(1440) if (_hx_tmp) {
+HXLINE(1441) int _g = 0;
+HXDLIN(1441) ::Array< ::String > _g1 = _gthis->counterparts();
+HXDLIN(1441) while((_g < _g1->length)){
+HXLINE(1441) ::String recipient = _g1->__get(_g);
+HXDLIN(1441) _g = (_g + 1);
+HXLINE(1443) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN(1443) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),stanza)
- ->setFixed(1,HX_("to",7b,65,00,00),recipient)))->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("to",7b,65,00,00),recipient)),null())->tag(HX_("displayed",21,17,db,c1), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),message->localId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:chat-markers:0",96,b8,66,e7))))->up();
-HXLINE(1354) if (::hx::IsNotNull( message->threadId )) {
-HXLINE(1355) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:chat-markers:0",96,b8,66,e7))),null())->up();
+HXLINE(1445) if (::hx::IsNotNull( message->threadId )) {
+HXLINE(1446) stanza1->textTag(HX_("thread",ca,7a,b9,8e),message->threadId,null(),null());
}
-HXLINE(1357) _gthis->client->sendStanza(stanza1);
+HXLINE(1448) _gthis->client->sendStanza(stanza1);
}
}
-HXLINE(1361) _gthis->publishMds();
-HXLINE(1362) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
+HXLINE(1452) _gthis->publishMds();
+HXLINE(1453) _gthis->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,_gthis));
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Dynamic _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1364_markReadUpTo)
-HXLINE(1364) if (::hx::IsNotNull( e )) {
-HXLINE(1364) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1455_markReadUpTo)
+HXLINE(1455) if (::hx::IsNotNull( e )) {
+HXLINE(1455) return ::thenshim::_Promise::Promise_Impl__obj::reject(e);
}
else {
-HXLINE(1364) return null();
+HXLINE(1455) return null();
}
-HXDLIN(1364) return null();
+HXDLIN(1455) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1341_markReadUpTo)
-HXDLIN(1341) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1344) if ((message->type == 3)) {
-HXLINE(1344) return;
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1432_markReadUpTo)
+HXDLIN(1432) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1435) if ((message->type == 3)) {
+HXLINE(1435) return;
}
-HXLINE(1346) ::thenshim::_Promise::Promise_Impl__obj::then(this->markReadUpToMessage(message), ::Dynamic(new _hx_Closure_0(_gthis,message)), ::Dynamic(new _hx_Closure_1()));
+HXLINE(1437) ::thenshim::_Promise::Promise_Impl__obj::then(this->markReadUpToMessage(message), ::Dynamic(new _hx_Closure_0(_gthis,message)), ::Dynamic(new _hx_Closure_1()));
}
void DirectChat_obj::bookmark(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::DirectChat,_gthis) HXARGC(1)
void _hx_run( ::borogove::Stanza response){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1383_bookmark)
-HXLINE(1384) if ((( (::String)(::Reflect_obj::field(response->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE(1384) return;
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1481_bookmark)
+HXLINE(1482) if (::hx::IsEq( response->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE(1482) return;
}
-HXLINE(1385) ::borogove::GenericStream _gthis1 = _gthis->stream;
-HXDLIN(1385) ::String _gthis2 = _gthis->chatId;
-HXDLIN(1385) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE(1483) ::borogove::GenericStream _gthis1 = _gthis->stream;
+HXDLIN(1483) ::String _gthis2 = _gthis->chatId;
+HXDLIN(1483) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())
->setFixed(1,HX_("to",7b,65,00,00),_gthis2)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribe",4a,0b,18,19)))));
-HXLINE(1386) if (_gthis->isTrusted()) {
-HXLINE(1386) ::borogove::GenericStream _gthis3 = _gthis->stream;
-HXDLIN(1386) ::String _gthis4 = _gthis->chatId;
-HXDLIN(1386) _gthis3->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribe",4a,0b,18,19))),null()));
+HXLINE(1484) if (_gthis->isTrusted()) {
+HXLINE(1484) ::borogove::GenericStream _gthis3 = _gthis->stream;
+HXDLIN(1484) ::String _gthis4 = _gthis->chatId;
+HXDLIN(1484) _gthis3->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())
->setFixed(1,HX_("to",7b,65,00,00),_gthis4)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribed",da,d5,f1,db)))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("subscribed",da,d5,f1,db))),null()));
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1368_bookmark)
-HXDLIN(1368) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1369) this->isBookmarked = true;
-HXLINE(1370) if ((this->uiState == 3)) {
-HXLINE(1371) this->uiState = 1;
-HXLINE(1372) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1459_bookmark)
+HXDLIN(1459) ::borogove::DirectChat _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1460) this->isBookmarked = true;
+HXLINE(1461) if ((this->uiState == 3)) {
+HXLINE(1462) this->uiState = 1;
+HXLINE(1463) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
}
-HXLINE(1374) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1465) ::Dynamic attr = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("jid",c5,ca,50,00),this->chatId));
-HXLINE(1375) bool _hx_tmp;
-HXDLIN(1375) bool _hx_tmp1;
-HXDLIN(1375) if (::hx::IsNotNull( this->displayName )) {
-HXLINE(1375) _hx_tmp1 = (this->displayName != HX_("",00,00,00,00));
+HXLINE(1466) bool _hx_tmp;
+HXDLIN(1466) bool _hx_tmp1;
+HXDLIN(1466) if (::hx::IsNotNull( this->displayName )) {
+HXLINE(1466) _hx_tmp1 = (this->displayName != HX_("",00,00,00,00));
}
else {
-HXLINE(1375) _hx_tmp1 = false;
+HXLINE(1466) _hx_tmp1 = false;
}
-HXDLIN(1375) if (_hx_tmp1) {
-HXLINE(1375) _hx_tmp = (this->displayName != this->chatId);
+HXDLIN(1466) if (_hx_tmp1) {
+HXLINE(1466) _hx_tmp = (this->displayName != this->chatId);
}
else {
-HXLINE(1375) _hx_tmp = false;
+HXLINE(1466) _hx_tmp = false;
+ }
+HXDLIN(1466) if (_hx_tmp) {
+HXLINE(1467) ::Reflect_obj::setField(attr,HX_("name",4b,72,ff,48),this->displayName);
}
-HXDLIN(1375) if (_hx_tmp) {
-HXLINE(1376) ::Reflect_obj::setField(attr,HX_("name",4b,72,ff,48),this->displayName);
+HXLINE(1469) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:iq:roster",47,76,6e,06))),null())->tag(HX_("item",13,c5,bf,45),attr,null());
+HXLINE(1473) {
+HXLINE(1473) int _g = 0;
+HXDLIN(1473) ::Array< ::Dynamic> _g1 = this->extensions->allTags(null(),null());
+HXDLIN(1473) while((_g < _g1->length)){
+HXLINE(1473) ::borogove::Stanza extension = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN(1473) _g = (_g + 1);
+HXLINE(1474) bool _hx_tmp2;
+HXDLIN(1474) if ((extension->name == HX_("group",3f,b3,f4,99))) {
+HXLINE(1474) _hx_tmp2 = ::hx::IsEq( extension->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:iq:roster",47,76,6e,06) );
+ }
+ else {
+HXLINE(1474) _hx_tmp2 = false;
+ }
+HXDLIN(1474) if (_hx_tmp2) {
+HXLINE(1475) stanza->addChild(extension);
+ }
+ }
}
-HXLINE(1378) ::borogove::GenericStream _hx_tmp2 = this->stream;
-HXDLIN(1378) _hx_tmp2->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:iq:roster",47,76,6e,06))))->tag(HX_("item",13,c5,bf,45),attr)->up()->up(), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE(1479) this->stream->sendIq(stanza, ::Dynamic(new _hx_Closure_0(_gthis)));
}
void DirectChat_obj::sendChatState(::String state,::String threadId){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1391_sendChatState)
-HXLINE(1392) if (!(this->isTrusted())) {
-HXLINE(1392) return;
- }
-HXLINE(1394) {
-HXLINE(1394) int _g = 0;
-HXDLIN(1394) ::Array< ::String > _g1 = this->counterparts();
-HXDLIN(1394) while((_g < _g1->length)){
-HXLINE(1394) ::String recipient = _g1->__get(_g);
-HXDLIN(1394) _g = (_g + 1);
-HXLINE(1396) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE(1398) ::String stanza1 = this->client->jid->asString();
-HXLINE(1395) ::borogove::Stanza stanza2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(4)
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1489_sendChatState)
+HXLINE(1490) if (!(this->isTrusted())) {
+HXLINE(1490) return;
+ }
+HXLINE(1492) {
+HXLINE(1492) int _g = 0;
+HXDLIN(1492) ::Array< ::String > _g1 = this->counterparts();
+HXDLIN(1492) while((_g < _g1->length)){
+HXLINE(1492) ::String recipient = _g1->__get(_g);
+HXDLIN(1492) _g = (_g + 1);
+HXLINE(1494) ::String stanza = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE(1496) ::String stanza1 = this->client->jid->asString();
+HXLINE(1493) ::borogove::Stanza stanza2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("id",db,5b,00,00),stanza)
->setFixed(1,HX_("to",7b,65,00,00),recipient)
->setFixed(2,HX_("from",6a,a5,c2,43),stanza1)
- ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->tag(state, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))))->up();
-HXLINE(1403) if (::hx::IsNotNull( threadId )) {
-HXLINE(1404) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null());
+ ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->tag(state, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/chatstates",8e,6d,41,6d))),null())->up();
+HXLINE(1501) if (::hx::IsNotNull( threadId )) {
+HXLINE(1502) stanza2->textTag(HX_("thread",ca,7a,b9,8e),threadId,null(),null());
}
-HXLINE(1406) this->stream->sendStanza(stanza2);
+HXLINE(1504) this->stream->sendStanza(stanza2);
}
}
}
void DirectChat_obj::close(){
- HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1411_close)
-HXLINE(1412) if (::hx::IsNotNull( this->typingTimer )) {
-HXLINE(1412) this->typingTimer->stop();
- }
-HXLINE(1413) if ((this->uiState == 3)) {
-HXLINE(1414) ::borogove::Client _hx_tmp = this->client;
-HXDLIN(1414) ::String _hx_tmp1 = this->chatId;
-HXDLIN(1414) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_e6282dde58caedf0_1509_close)
+HXLINE(1510) if (::hx::IsNotNull( this->typingTimer )) {
+HXLINE(1510) this->typingTimer->stop();
+ }
+HXLINE(1511) if ((this->uiState == 3)) {
+HXLINE(1512) ::borogove::Client _hx_tmp = this->client;
+HXDLIN(1512) ::String _hx_tmp1 = this->chatId;
+HXDLIN(1512) _hx_tmp->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp1)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("unsubscribed",73,05,01,48)))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("unsubscribed",73,05,01,48))),null()));
}
-HXLINE(1417) this->uiState = 2;
-HXLINE(1418) ::Dynamic _hx_tmp2 = this->persistence;
-HXDLIN(1418) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE(1419) if (!(this->isBlocked)) {
-HXLINE(1419) this->sendChatState(HX_("gone",5f,94,69,44),null());
+HXLINE(1515) this->uiState = 2;
+HXLINE(1516) ::Dynamic _hx_tmp2 = this->persistence;
+HXDLIN(1516) ::borogove::Persistence_obj::storeChats(_hx_tmp2,this->client->accountId(),::Array_obj< ::Dynamic>::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1517) if (!(this->isBlocked)) {
+HXLINE(1517) this->sendChatState(HX_("gone",5f,94,69,44),null());
}
-HXLINE(1420) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
-HXLINE(1421) this->client->sortChats();
+HXLINE(1518) this->client->trigger(HX_("chats/update",3d,8e,1d,14),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)));
+HXLINE(1519) this->client->sortChats();
}
@@ -1263,9 +1360,9 @@ void DirectChat_obj::__register()
void DirectChat_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1056_boot)
-HXDLIN(1056) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(13)
+ HX_STACKFRAME(&_hx_pos_e6282dde58caedf0_1115_boot)
+HXDLIN(1115) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(14)
->setFixed(0,HX_("getMemberDetails",12,2b,2f,b3), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
->setFixed(1,HX_("getDisplayName",b7,64,90,b8), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -1288,9 +1385,11 @@ HXDLIN(1056) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
->setFixed(10,HX_("bookmark",b6,8c,f1,32), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(11,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(11,HX_("sendMessageStanza",b4,2c,6d,3d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(12,HX_("close",b8,17,63,48), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(12,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(13,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/EncryptionInfo.cpp b/Sources/c_borogove/src/borogove/EncryptionInfo.cpp
index f46ce30..25e6533 100644
--- a/Sources/c_borogove/src/borogove/EncryptionInfo.cpp
+++ b/Sources/c_borogove/src/borogove/EncryptionInfo.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_EncryptionInfo
#include <borogove/EncryptionInfo.h>
#endif
@@ -29,11 +26,18 @@ HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_20_boot,"borogove.EncryptionInfo",
HX_LOCAL_STACK_FRAME(_hx_pos_495491200499f74a_28_boot,"borogove.EncryptionInfo","boot",0x705c9942,"borogove.EncryptionInfo.boot","borogove/EncryptionInfo.hx",28,0x95cafaff)
namespace borogove{
-void EncryptionInfo_obj::__construct(int status,::String method,::String methodName,::String reason,::String reasonText){
+void EncryptionInfo_obj::__construct(int status,::String method,::String reason,::String reasonText,::String methodName){
HX_STACKFRAME(&_hx_pos_495491200499f74a_38_new)
HXLINE( 39) this->status = status;
HXLINE( 40) this->method = method;
-HXLINE( 41) this->methodName = methodName;
+HXLINE( 41) ::String _hx_tmp;
+HXDLIN( 41) if (::hx::IsNotNull( methodName )) {
+HXLINE( 41) _hx_tmp = methodName;
+ }
+ else {
+HXLINE( 41) _hx_tmp = ::borogove::EncryptionInfo_obj::knownEncryptionSchemes->get_string(method);
+ }
+HXDLIN( 41) this->methodName = _hx_tmp;
HXLINE( 42) this->reason = reason;
HXLINE( 43) this->reasonText = reasonText;
}
@@ -105,12 +109,12 @@ HXLINE( 51) el = HX_("failure",4a,70,fa,16);
HXLINE( 48) ::borogove::Stanza el1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("decryption-status",e4,8c,66,6a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("result",dd,68,84,08),el)
->setFixed(1,HX_("encryption",83,dc,39,4f),this->method)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("https://borogove.dev/protocol/sdk",3b,17,54,0d))));
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("https://borogove.dev/protocol/sdk",3b,17,54,0d))),null());
HXLINE( 53) if (::hx::IsNotNull( this->reason )) {
-HXLINE( 54) el1->textTag(HX_("reason",c4,0f,9d,fc),this->reason,null());
+HXLINE( 54) el1->textTag(HX_("reason",c4,0f,9d,fc),this->reason,null(),null());
}
HXLINE( 56) if (::hx::IsNotNull( this->reasonText )) {
-HXLINE( 57) el1->textTag(HX_("text",ad,cc,f9,4c),this->reasonText,null());
+HXLINE( 57) el1->textTag(HX_("text",ad,cc,f9,4c),this->reasonText,null(),null());
}
HXLINE( 59) return el1;
}
@@ -126,8 +130,8 @@ HXLINE( 66) ::borogove::Stanza emeElement = stanza->getChild(HX_("encryption"
HXLINE( 69) ::String ns = null();
HXDLIN( 69) ::String name = null();
HXLINE( 70) if (::hx::IsNotNull( emeElement )) {
-HXLINE( 71) ns = ( (::String)(::Reflect_obj::field(emeElement->attr,HX_("namespace",9b,ea,ed,e7))) );
-HXLINE( 72) name = ( (::String)(::Reflect_obj::field(emeElement->attr,HX_("name",4b,72,ff,48))) );
+HXLINE( 71) ns = emeElement->attr->get_string(HX_("namespace",9b,ea,ed,e7));
+HXLINE( 72) name = emeElement->attr->get_string(HX_("name",4b,72,ff,48));
}
else {
HXLINE( 73) if (::hx::IsNotNull( stanza->getChild(HX_("encrypted",04,fa,43,6c),HX_("eu.siacs.conversations.axolotl",44,2e,02,36)) )) {
@@ -135,56 +139,52 @@ HXLINE( 76) ns = HX_("eu.siacs.conversations.axolotl",44,2e,02,36);
}
}
HXLINE( 78) if (::hx::IsNotNull( ns )) {
-HXLINE( 81) ::String tmp = ns;
-HXDLIN( 81) ::String _hx_tmp;
-HXDLIN( 81) if (::hx::IsNotNull( tmp )) {
-HXLINE( 81) _hx_tmp = tmp;
- }
- else {
-HXLINE( 81) _hx_tmp = HX_("unknown",8a,23,7b,e1);
+HXLINE( 79) if (::hx::IsNull( name )) {
+HXLINE( 79) name = ::borogove::EncryptionInfo_obj::knownEncryptionSchemes->get_string(ns);
}
-HXLINE( 82) ::String _hx_tmp1;
-HXDLIN( 82) ::String tmp1 = ::borogove::EncryptionInfo_obj::knownEncryptionSchemes->get_string(ns);
-HXDLIN( 82) ::String tmp2;
-HXDLIN( 82) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 82) tmp2 = tmp1;
+HXLINE( 82) ::String tmp = ns;
+HXDLIN( 82) ::String _hx_tmp;
+HXDLIN( 82) if (::hx::IsNotNull( tmp )) {
+HXLINE( 82) _hx_tmp = tmp;
}
else {
-HXLINE( 82) tmp2 = name;
+HXLINE( 82) _hx_tmp = HX_("unknown",8a,23,7b,e1);
}
-HXDLIN( 82) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 82) _hx_tmp1 = tmp2;
+HXLINE( 84) ::String tmp1 = name;
+HXDLIN( 84) ::String _hx_tmp1;
+HXDLIN( 84) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 84) _hx_tmp1 = tmp1;
}
else {
-HXLINE( 82) _hx_tmp1 = HX_("Unknown encryption",79,3d,1c,26);
+HXLINE( 84) _hx_tmp1 = ns;
}
-HXLINE( 84) ::String tmp3 = name;
-HXDLIN( 84) ::String _hx_tmp2;
-HXDLIN( 84) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 84) _hx_tmp2 = tmp3;
+HXLINE( 85) ::String tmp2 = name;
+HXDLIN( 85) ::String _hx_tmp2;
+HXDLIN( 85) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 85) _hx_tmp2 = tmp2;
}
else {
-HXLINE( 84) _hx_tmp2 = ns;
+HXLINE( 85) _hx_tmp2 = HX_("Unknown encryption",79,3d,1c,26);
}
-HXLINE( 79) return ::borogove::EncryptionInfo_obj::__alloc( HX_CTX ,1,_hx_tmp,_hx_tmp1,HX_("unsupported-encryption",5b,6c,86,4a),(HX_("Unsupported encryption method: ",f9,9f,a6,ec) + _hx_tmp2));
+HXLINE( 80) return ::borogove::EncryptionInfo_obj::__alloc( HX_CTX ,1,_hx_tmp,HX_("unsupported-encryption",5b,6c,86,4a),(HX_("Unsupported encryption method: ",f9,9f,a6,ec) + _hx_tmp1),_hx_tmp2);
}
-HXLINE( 87) return null();
+HXLINE( 88) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(EncryptionInfo_obj,fromStanza,return )
-::hx::ObjectPtr< EncryptionInfo_obj > EncryptionInfo_obj::__new(int status,::String method,::String methodName,::String reason,::String reasonText) {
+::hx::ObjectPtr< EncryptionInfo_obj > EncryptionInfo_obj::__new(int status,::String method,::String reason,::String reasonText,::String methodName) {
::hx::ObjectPtr< EncryptionInfo_obj > __this = new EncryptionInfo_obj();
- __this->__construct(status,method,methodName,reason,reasonText);
+ __this->__construct(status,method,reason,reasonText,methodName);
return __this;
}
-::hx::ObjectPtr< EncryptionInfo_obj > EncryptionInfo_obj::__alloc(::hx::Ctx *_hx_ctx,int status,::String method,::String methodName,::String reason,::String reasonText) {
+::hx::ObjectPtr< EncryptionInfo_obj > EncryptionInfo_obj::__alloc(::hx::Ctx *_hx_ctx,int status,::String method,::String reason,::String reasonText,::String methodName) {
EncryptionInfo_obj *__this = (EncryptionInfo_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(EncryptionInfo_obj), true, "borogove.EncryptionInfo"));
*(void **)__this = EncryptionInfo_obj::_hx_vtable;
- __this->__construct(status,method,methodName,reason,reasonText);
+ __this->__construct(status,method,reason,reasonText,methodName);
return __this;
}
diff --git a/Sources/c_borogove/src/borogove/Form.cpp b/Sources/c_borogove/src/borogove/Form.cpp
index c0b6724..0f9a104 100644
--- a/Sources/c_borogove/src/borogove/Form.cpp
+++ b/Sources/c_borogove/src/borogove/Form.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__HaxeCBridge_HaxeArray_Impl_
#include <_HaxeCBridge/HaxeArray_Impl_.h>
#endif
@@ -31,6 +28,12 @@
#ifndef INCLUDED_borogove__DataForm_Field_Impl_
#include <borogove/_DataForm/Field_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_d5f5e869927de4ab_136_new,"borogove.Form","new",0x1fd8d343,"borogove.Form.new","borogove/Form.hx",136,0x25d2f7ac)
HX_LOCAL_STACK_FRAME(_hx_pos_d5f5e869927de4ab_145_isResult,"borogove.Form","isResult",0x5904aaa4,"borogove.Form.isResult","borogove/Form.hx",145,0x25d2f7ac)
@@ -95,7 +98,7 @@ HXLINE( 146) if (::hx::IsNull( this->form )) {
HXLINE( 146) return true;
}
HXLINE( 148) ::String _hx_tmp;
-HXDLIN( 148) ::String tmp = ( (::String)(::Reflect_obj::field(this->form->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 148) ::String tmp = this->form->attr->get_string(HX_("type",ba,f2,08,4d));
HXDLIN( 148) if (::hx::IsNotNull( tmp )) {
HXLINE( 148) _hx_tmp = tmp;
}
@@ -153,8 +156,8 @@ HXLINE( 174) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogo
HXDLIN( 174) _g = (_g + 1);
HXLINE( 175) bool _hx_tmp;
HXDLIN( 175) if ((child->name == HX_("instructions",a5,96,3f,6d))) {
-HXLINE( 175) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 175) _hx_tmp = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 175) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 175) _hx_tmp = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:x:data",c2,e1,e9,7c) );
}
else {
HXLINE( 175) _hx_tmp = true;
@@ -165,7 +168,7 @@ HXLINE( 175) _hx_tmp = false;
}
HXDLIN( 175) if (_hx_tmp) {
HXLINE( 176) ::String _hx_tmp1 = child->getText();
-HXDLIN( 176) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,_hx_tmp1,null(),null(),null(),null(),( (::String)(::Reflect_obj::field(child->attr,HX_("type",ba,f2,08,4d))) )));
+HXDLIN( 176) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,_hx_tmp1,null(),null(),null(),null(),child->attr->get_string(HX_("type",ba,f2,08,4d))));
}
HXLINE( 178) bool _hx_tmp2;
HXDLIN( 178) bool _hx_tmp3;
@@ -176,8 +179,8 @@ HXLINE( 178) _hx_tmp3 = (child->name == HX_("field",ba,94,93,00));
HXLINE( 178) _hx_tmp3 = false;
}
HXDLIN( 178) if (_hx_tmp3) {
-HXLINE( 178) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 178) _hx_tmp2 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 178) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 178) _hx_tmp2 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:x:data",c2,e1,e9,7c) );
}
else {
HXLINE( 178) _hx_tmp2 = true;
@@ -189,7 +192,7 @@ HXLINE( 178) _hx_tmp2 = false;
HXDLIN( 178) if (_hx_tmp2) {
HXLINE( 179) ::borogove::Stanza fld = child;
HXLINE( 180) bool _hx_tmp4;
-HXDLIN( 180) ::String attr = ( (::String)(::Reflect_obj::field(fld->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 180) ::String attr = fld->attr->get_string(HX_("type",ba,f2,08,4d));
HXDLIN( 180) ::String _hx_tmp5;
HXDLIN( 180) if ((attr == HX_("jid-single",50,8e,f5,83))) {
HXLINE( 180) _hx_tmp5 = HX_("text-single",68,19,96,16);
@@ -203,7 +206,7 @@ HXLINE( 180) _hx_tmp5 = attr;
}
}
HXDLIN( 180) if ((_hx_tmp5 == HX_("fixed",74,f9,a1,00))) {
-HXLINE( 180) _hx_tmp4 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(fld->attr,HX_("label",f4,0d,af,6f))) ) );
+HXLINE( 180) _hx_tmp4 = ::hx::IsNull( fld->attr->get(HX_("label",f4,0d,af,6f)) );
}
else {
HXLINE( 180) _hx_tmp4 = false;
@@ -218,7 +221,7 @@ HXLINE( 182) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,v,nul
}
}
else {
-HXLINE( 184) ::String attr1 = ( (::String)(::Reflect_obj::field(fld->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 184) ::String attr1 = fld->attr->get_string(HX_("type",ba,f2,08,4d));
HXDLIN( 184) ::String _hx_tmp6;
HXDLIN( 184) if ((attr1 == HX_("jid-single",50,8e,f5,83))) {
HXLINE( 184) _hx_tmp6 = HX_("text-single",68,19,96,16);
@@ -252,8 +255,8 @@ HXLINE( 188) _hx_tmp9 = (child->name == HX_("reported",13,2a,94,dd));
HXLINE( 188) _hx_tmp9 = false;
}
HXDLIN( 188) if (_hx_tmp9) {
-HXLINE( 188) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 188) _hx_tmp8 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 188) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 188) _hx_tmp8 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:x:data",c2,e1,e9,7c) );
}
else {
HXLINE( 188) _hx_tmp8 = true;
@@ -370,7 +373,7 @@ HXLINE( 189) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),
}
HXLINE( 195) bool _hx_tmp12;
HXDLIN( 195) if ((child->name == HX_("page",4f,da,51,4a))) {
-HXLINE( 195) _hx_tmp12 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8));
+HXLINE( 195) _hx_tmp12 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8) );
}
else {
HXLINE( 195) _hx_tmp12 = false;
diff --git a/Sources/c_borogove/src/borogove/FormField.cpp b/Sources/c_borogove/src/borogove/FormField.cpp
index 3fd645d..07e7bfc 100644
--- a/Sources/c_borogove/src/borogove/FormField.cpp
+++ b/Sources/c_borogove/src/borogove/FormField.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__HaxeCBridge_HaxeArray_Impl_
#include <_HaxeCBridge/HaxeArray_Impl_.h>
#endif
@@ -22,8 +19,14 @@
#ifndef INCLUDED_borogove__DataForm_Field_Impl_
#include <borogove/_DataForm/Field_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_088c849e9db23a84_195_new,"borogove.FormField","new",0x7db9c29b,"borogove.FormField.new","borogove/DataForm.hx",195,0x710703a2)
+HX_DEFINE_STACK_FRAME(_hx_pos_088c849e9db23a84_196_new,"borogove.FormField","new",0x7db9c29b,"borogove.FormField.new","borogove/DataForm.hx",196,0x710703a2)
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_name__fromC,"borogove.FormField","name__fromC",0xcbb1d2c9,"borogove.FormField.name__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_label__fromC,"borogove.FormField","label__fromC",0xdd73376a,"borogove.FormField.label__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_desc__fromC,"borogove.FormField","desc__fromC",0x436f1383,"borogove.FormField.desc__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -36,125 +39,125 @@ HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_open__fromC,"borogove.FormFiel
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_rangeMin__fromC,"borogove.FormField","rangeMin__fromC",0x4b1e8bff,"borogove.FormField.rangeMin__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_rangeMax__fromC,"borogove.FormField","rangeMax__fromC",0xef8bb92d,"borogove.FormField.rangeMax__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_8debe23b4b6754d6_478_regex__fromC,"borogove.FormField","regex__fromC",0xdb3b26f7,"borogove.FormField.regex__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_088c849e9db23a84_180_boot,"borogove.FormField","boot",0x7ce98597,"borogove.FormField.boot","borogove/DataForm.hx",180,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_088c849e9db23a84_181_boot,"borogove.FormField","boot",0x7ce98597,"borogove.FormField.boot","borogove/DataForm.hx",181,0x710703a2)
namespace borogove{
void FormField_obj::__construct( ::borogove::Stanza field){
- HX_STACKFRAME(&_hx_pos_088c849e9db23a84_195_new)
-HXLINE( 196) ::String tmp = ( (::String)(::Reflect_obj::field(field->attr,HX_("var",e7,de,59,00))) );
-HXDLIN( 196) ::String _hx_tmp;
-HXDLIN( 196) if (::hx::IsNotNull( tmp )) {
-HXLINE( 196) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_088c849e9db23a84_196_new)
+HXLINE( 197) ::String tmp = field->attr->get_string(HX_("var",e7,de,59,00));
+HXDLIN( 197) ::String _hx_tmp;
+HXDLIN( 197) if (::hx::IsNotNull( tmp )) {
+HXLINE( 197) _hx_tmp = tmp;
}
else {
-HXLINE( 196) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 197) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 196) this->name = _hx_tmp;
-HXLINE( 197) this->label = ( (::String)(::Reflect_obj::field(field->attr,HX_("label",f4,0d,af,6f))) );
-HXLINE( 198) this->desc = field->getChildText(HX_("desc",51,5e,66,42),null());
-HXLINE( 199) this->value = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
-HXLINE( 200) this->required = ::hx::IsNotNull( field->getChild(HX_("required",5f,91,62,b2),null()) );
-HXLINE( 201) ::String attr = ( (::String)(::Reflect_obj::field(field->attr,HX_("type",ba,f2,08,4d))) );
-HXDLIN( 201) ::String _hx_tmp1;
-HXDLIN( 201) if ((attr == HX_("jid-single",50,8e,f5,83))) {
-HXLINE( 201) _hx_tmp1 = HX_("text-single",68,19,96,16);
+HXDLIN( 197) this->name = _hx_tmp;
+HXLINE( 198) this->label = field->attr->get_string(HX_("label",f4,0d,af,6f));
+HXLINE( 199) this->desc = field->getChildText(HX_("desc",51,5e,66,42),null());
+HXLINE( 200) this->value = ::borogove::_DataForm::Field_Impl__obj::get_value(field);
+HXLINE( 201) this->required = ::hx::IsNotNull( field->getChild(HX_("required",5f,91,62,b2),null()) );
+HXLINE( 202) ::String attr = field->attr->get_string(HX_("type",ba,f2,08,4d));
+HXDLIN( 202) ::String _hx_tmp1;
+HXDLIN( 202) if ((attr == HX_("jid-single",50,8e,f5,83))) {
+HXLINE( 202) _hx_tmp1 = HX_("text-single",68,19,96,16);
}
else {
-HXLINE( 201) if ((attr == HX_("jid-multi",b1,73,6d,1a))) {
-HXLINE( 201) _hx_tmp1 = HX_("text-multi",99,d3,c0,10);
+HXLINE( 202) if ((attr == HX_("jid-multi",b1,73,6d,1a))) {
+HXLINE( 202) _hx_tmp1 = HX_("text-multi",99,d3,c0,10);
}
else {
-HXLINE( 201) _hx_tmp1 = attr;
+HXLINE( 202) _hx_tmp1 = attr;
}
}
-HXDLIN( 201) this->type = _hx_tmp1;
-HXLINE( 202) this->datatype = ::borogove::_DataForm::Field_Impl__obj::get_datatype(field);
-HXLINE( 203) ::Array< ::Dynamic> _this = ::borogove::_DataForm::Field_Impl__obj::get_options(field);
-HXDLIN( 203) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 203) {
-HXLINE( 203) int _g = 0;
-HXDLIN( 203) int _g1 = _this->length;
-HXDLIN( 203) while((_g < _g1)){
-HXLINE( 203) _g = (_g + 1);
-HXDLIN( 203) int i = (_g - 1);
-HXDLIN( 203) {
-HXLINE( 203) ::borogove::Stanza o = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 203) ::borogove::FormOption inValue;
-HXDLIN( 203) if (::hx::IsNull( o )) {
-HXLINE( 203) inValue = null();
+HXDLIN( 202) this->type = _hx_tmp1;
+HXLINE( 203) this->datatype = ::borogove::_DataForm::Field_Impl__obj::get_datatype(field);
+HXLINE( 204) ::Array< ::Dynamic> _this = ::borogove::_DataForm::Field_Impl__obj::get_options(field);
+HXDLIN( 204) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 204) {
+HXLINE( 204) int _g = 0;
+HXDLIN( 204) int _g1 = _this->length;
+HXDLIN( 204) while((_g < _g1)){
+HXLINE( 204) _g = (_g + 1);
+HXDLIN( 204) int i = (_g - 1);
+HXDLIN( 204) {
+HXLINE( 204) ::borogove::Stanza o = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
+HXDLIN( 204) ::borogove::FormOption inValue;
+HXDLIN( 204) if (::hx::IsNull( o )) {
+HXLINE( 204) inValue = null();
}
else {
-HXLINE( 203) inValue = ::borogove::FormOption_obj::fromOption(o);
+HXLINE( 204) inValue = ::borogove::FormOption_obj::fromOption(o);
}
-HXDLIN( 203) result->__unsafe_set(i,inValue);
+HXDLIN( 204) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 203) this->options = result;
-HXLINE( 204) ::borogove::Stanza validate = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
-HXDLIN( 204) ::borogove::Stanza _hx_tmp2;
-HXDLIN( 204) if (::hx::IsNotNull( validate )) {
-HXLINE( 204) _hx_tmp2 = validate->getChild(HX_("open",ca,03,b4,49),null());
+HXDLIN( 204) this->options = result;
+HXLINE( 205) ::borogove::Stanza validate = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 205) ::borogove::Stanza _hx_tmp2;
+HXDLIN( 205) if (::hx::IsNotNull( validate )) {
+HXLINE( 205) _hx_tmp2 = validate->getChild(HX_("open",ca,03,b4,49),null());
}
else {
-HXLINE( 204) _hx_tmp2 = null();
+HXLINE( 205) _hx_tmp2 = null();
}
-HXDLIN( 204) this->open = ::hx::IsNotNull( _hx_tmp2 );
-HXLINE( 205) ::borogove::Stanza validate1 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
-HXDLIN( 205) ::borogove::Stanza tmp1;
-HXDLIN( 205) if (::hx::IsNotNull( validate1 )) {
-HXLINE( 205) tmp1 = validate1->getChild(HX_("range",bd,a5,1f,e4),null());
+HXDLIN( 205) this->open = ::hx::IsNotNull( _hx_tmp2 );
+HXLINE( 206) ::borogove::Stanza validate1 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 206) ::borogove::Stanza tmp1;
+HXDLIN( 206) if (::hx::IsNotNull( validate1 )) {
+HXLINE( 206) tmp1 = validate1->getChild(HX_("range",bd,a5,1f,e4),null());
}
else {
-HXLINE( 205) tmp1 = null();
+HXLINE( 206) tmp1 = null();
}
-HXDLIN( 205) ::Dynamic tmp2;
-HXDLIN( 205) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 205) tmp2 = tmp1->attr;
+HXDLIN( 206) ::haxe::ds::StringMap tmp2;
+HXDLIN( 206) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 206) tmp2 = tmp1->attr;
}
else {
-HXLINE( 205) tmp2 = null();
+HXLINE( 206) tmp2 = null();
}
-HXDLIN( 205) ::String _hx_tmp3;
-HXDLIN( 205) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 205) _hx_tmp3 = ( (::String)(::Reflect_obj::field(tmp2,HX_("min",92,11,53,00))) );
+HXDLIN( 206) ::String _hx_tmp3;
+HXDLIN( 206) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 206) _hx_tmp3 = tmp2->get_string(HX_("min",92,11,53,00));
}
else {
-HXLINE( 205) _hx_tmp3 = null();
+HXLINE( 206) _hx_tmp3 = null();
}
-HXDLIN( 205) this->rangeMin = _hx_tmp3;
-HXLINE( 206) ::borogove::Stanza validate2 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
-HXDLIN( 206) ::borogove::Stanza tmp3;
-HXDLIN( 206) if (::hx::IsNotNull( validate2 )) {
-HXLINE( 206) tmp3 = validate2->getChild(HX_("range",bd,a5,1f,e4),null());
+HXDLIN( 206) this->rangeMin = _hx_tmp3;
+HXLINE( 207) ::borogove::Stanza validate2 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 207) ::borogove::Stanza tmp3;
+HXDLIN( 207) if (::hx::IsNotNull( validate2 )) {
+HXLINE( 207) tmp3 = validate2->getChild(HX_("range",bd,a5,1f,e4),null());
}
else {
-HXLINE( 206) tmp3 = null();
+HXLINE( 207) tmp3 = null();
}
-HXDLIN( 206) ::Dynamic tmp4;
-HXDLIN( 206) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 206) tmp4 = tmp3->attr;
+HXDLIN( 207) ::haxe::ds::StringMap tmp4;
+HXDLIN( 207) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 207) tmp4 = tmp3->attr;
}
else {
-HXLINE( 206) tmp4 = null();
+HXLINE( 207) tmp4 = null();
}
-HXDLIN( 206) ::String _hx_tmp4;
-HXDLIN( 206) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 206) _hx_tmp4 = ( (::String)(::Reflect_obj::field(tmp4,HX_("max",a4,0a,53,00))) );
+HXDLIN( 207) ::String _hx_tmp4;
+HXDLIN( 207) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 207) _hx_tmp4 = tmp4->get_string(HX_("max",a4,0a,53,00));
}
else {
-HXLINE( 206) _hx_tmp4 = null();
+HXLINE( 207) _hx_tmp4 = null();
}
-HXDLIN( 206) this->rangeMax = _hx_tmp4;
-HXLINE( 207) ::borogove::Stanza validate3 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
-HXDLIN( 207) ::String _hx_tmp5;
-HXDLIN( 207) if (::hx::IsNotNull( validate3 )) {
-HXLINE( 207) _hx_tmp5 = validate3->getChildText(HX_("regex",c7,2e,bf,e6),null());
+HXDLIN( 207) this->rangeMax = _hx_tmp4;
+HXLINE( 208) ::borogove::Stanza validate3 = field->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXDLIN( 208) ::String _hx_tmp5;
+HXDLIN( 208) if (::hx::IsNotNull( validate3 )) {
+HXLINE( 208) _hx_tmp5 = validate3->getChildText(HX_("regex",c7,2e,bf,e6),null());
}
else {
-HXLINE( 207) _hx_tmp5 = null();
+HXLINE( 208) _hx_tmp5 = null();
}
-HXDLIN( 207) this->regex = _hx_tmp5;
+HXDLIN( 208) this->regex = _hx_tmp5;
}
Dynamic FormField_obj::__CreateEmpty() { return new FormField_obj; }
@@ -483,8 +486,8 @@ void FormField_obj::__register()
void FormField_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_088c849e9db23a84_180_boot)
-HXDLIN( 180) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_088c849e9db23a84_181_boot)
+HXDLIN( 181) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(12)
->setFixed(0,HX_("desc__fromC",48,ee,23,86), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
diff --git a/Sources/c_borogove/src/borogove/FormLayoutSection.cpp b/Sources/c_borogove/src/borogove/FormLayoutSection.cpp
index b94b7a2..18e494c 100644
--- a/Sources/c_borogove/src/borogove/FormLayoutSection.cpp
+++ b/Sources/c_borogove/src/borogove/FormLayoutSection.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_FormField
#include <borogove/FormField.h>
#endif
@@ -22,6 +19,12 @@
#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
#include <borogove/_DataForm/DataForm_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_45e75fb904d6662d_270_new,"borogove.FormLayoutSection","new",0x25c121bc,"borogove.FormLayoutSection.new","borogove/Form.hx",270,0x25d2f7ac)
HX_LOCAL_STACK_FRAME(_hx_pos_45e75fb904d6662d_279_title,"borogove.FormLayoutSection","title",0x68a475f4,"borogove.FormLayoutSection.title","borogove/Form.hx",279,0x25d2f7ac)
@@ -67,7 +70,7 @@ void *FormLayoutSection_obj::_hx_getInterface(int inHash) {
::String FormLayoutSection_obj::title(){
HX_STACKFRAME(&_hx_pos_45e75fb904d6662d_279_title)
-HXDLIN( 279) return ( (::String)(::Reflect_obj::field(this->section->attr,HX_("label",f4,0d,af,6f))) );
+HXDLIN( 279) return this->section->attr->get_string(HX_("label",f4,0d,af,6f));
}
@@ -84,8 +87,8 @@ HXLINE( 287) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogo
HXDLIN( 287) _g = (_g + 1);
HXLINE( 288) bool _hx_tmp;
HXDLIN( 288) if ((child->name == HX_("text",ad,cc,f9,4c))) {
-HXLINE( 288) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 288) _hx_tmp = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8));
+HXLINE( 288) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 288) _hx_tmp = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8) );
}
else {
HXLINE( 288) _hx_tmp = true;
@@ -99,8 +102,8 @@ HXLINE( 289) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,child->
}
HXLINE( 291) bool _hx_tmp1;
HXDLIN( 291) if ((child->name == HX_("fieldref",d9,74,29,ac))) {
-HXLINE( 291) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 291) _hx_tmp1 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8));
+HXLINE( 291) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 291) _hx_tmp1 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8) );
}
else {
HXLINE( 291) _hx_tmp1 = true;
@@ -111,7 +114,7 @@ HXLINE( 291) _hx_tmp1 = false;
}
HXDLIN( 291) if (_hx_tmp1) {
HXLINE( 292) ::borogove::Stanza this1 = this->form;
-HXDLIN( 292) ::borogove::Stanza this2 = ::borogove::_DataForm::DataForm_Impl__obj::field(this1,( (::String)(::Reflect_obj::field(child->attr,HX_("var",e7,de,59,00))) ));
+HXDLIN( 292) ::borogove::Stanza this2 = ::borogove::_DataForm::DataForm_Impl__obj::field(this1,child->attr->get_string(HX_("var",e7,de,59,00)));
HXDLIN( 292) ::borogove::FormField _hx_tmp2;
HXDLIN( 292) if (::hx::IsNull( this2 )) {
HXLINE( 292) _hx_tmp2 = null();
@@ -123,8 +126,8 @@ HXDLIN( 292) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),
}
HXLINE( 294) bool _hx_tmp3;
HXDLIN( 294) if ((child->name == HX_("reportedref",20,fd,c7,a6))) {
-HXLINE( 294) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 294) _hx_tmp3 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8));
+HXLINE( 294) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 294) _hx_tmp3 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8) );
}
else {
HXLINE( 294) _hx_tmp3 = true;
@@ -241,8 +244,8 @@ HXLINE( 295) items->push( ::borogove::FormItem_obj::__alloc( HX_CTX ,null(),
}
HXLINE( 301) bool _hx_tmp6;
HXDLIN( 301) if ((child->name == HX_("section",e5,05,d8,5d))) {
-HXLINE( 301) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 301) _hx_tmp6 = (( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8));
+HXLINE( 301) if (::hx::IsNotNull( child->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 301) _hx_tmp6 = ::hx::IsEq( child->attr->get(HX_("xmlns",dc,31,74,60)),HX_("http://jabber.org/protocol/xdata-layout",a9,5c,62,a8) );
}
else {
HXLINE( 301) _hx_tmp6 = true;
diff --git a/Sources/c_borogove/src/borogove/FormOption.cpp b/Sources/c_borogove/src/borogove/FormOption.cpp
index 2b8381a..54ccef2 100644
--- a/Sources/c_borogove/src/borogove/FormOption.cpp
+++ b/Sources/c_borogove/src/borogove/FormOption.cpp
@@ -1,41 +1,44 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_FormOption
#include <borogove/FormOption.h>
#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_a7d595b8126d2317_221_new,"borogove.FormOption","new",0xfe881c18,"borogove.FormOption.new","borogove/DataForm.hx",221,0x710703a2)
+HX_DEFINE_STACK_FRAME(_hx_pos_a7d595b8126d2317_222_new,"borogove.FormOption","new",0xfe881c18,"borogove.FormOption.new","borogove/DataForm.hx",222,0x710703a2)
HX_LOCAL_STACK_FRAME(_hx_pos_ecda2718ab159179_478_label__fromC,"borogove.FormOption","label__fromC",0x9aee464d,"borogove.FormOption.label__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_ecda2718ab159179_478_value__fromC,"borogove.FormOption","value__fromC",0x4e06ae70,"borogove.FormOption.value__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_228_fromOption,"borogove.FormOption","fromOption",0x42bbf3c7,"borogove.FormOption.fromOption","borogove/DataForm.hx",228,0x710703a2)
-HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_216_boot,"borogove.FormOption","boot",0xb0a9797a,"borogove.FormOption.boot","borogove/DataForm.hx",216,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_229_fromOption,"borogove.FormOption","fromOption",0x42bbf3c7,"borogove.FormOption.fromOption","borogove/DataForm.hx",229,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_a7d595b8126d2317_217_boot,"borogove.FormOption","boot",0xb0a9797a,"borogove.FormOption.boot","borogove/DataForm.hx",217,0x710703a2)
namespace borogove{
void FormOption_obj::__construct(::String label,::String value){
- HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_221_new)
-HXLINE( 222) ::String _hx_tmp;
-HXDLIN( 222) if (::hx::IsNotNull( label )) {
-HXLINE( 222) _hx_tmp = label;
+ HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_222_new)
+HXLINE( 223) ::String _hx_tmp;
+HXDLIN( 223) if (::hx::IsNotNull( label )) {
+HXLINE( 223) _hx_tmp = label;
}
else {
-HXLINE( 222) _hx_tmp = value;
+HXLINE( 223) _hx_tmp = value;
}
-HXDLIN( 222) this->label = _hx_tmp;
-HXLINE( 223) ::String _hx_tmp1;
-HXDLIN( 223) if (::hx::IsNotNull( value )) {
-HXLINE( 223) _hx_tmp1 = value;
+HXDLIN( 223) this->label = _hx_tmp;
+HXLINE( 224) ::String _hx_tmp1;
+HXDLIN( 224) if (::hx::IsNotNull( value )) {
+HXLINE( 224) _hx_tmp1 = value;
}
else {
-HXLINE( 223) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE( 224) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN( 223) this->value = _hx_tmp1;
+HXDLIN( 224) this->value = _hx_tmp1;
}
Dynamic FormOption_obj::__CreateEmpty() { return new FormOption_obj; }
@@ -70,9 +73,9 @@ HXDLIN( 478) return this->value;
HX_DEFINE_DYNAMIC_FUNC0(FormOption_obj,value__fromC,return )
::borogove::FormOption FormOption_obj::fromOption( ::borogove::Stanza option){
- HX_GC_STACKFRAME(&_hx_pos_a7d595b8126d2317_228_fromOption)
-HXDLIN( 228) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(option->attr,HX_("label",f4,0d,af,6f))) );
-HXDLIN( 228) return ::borogove::FormOption_obj::__alloc( HX_CTX ,_hx_tmp,option->getChildText(HX_("value",71,7f,b8,31),null()));
+ HX_GC_STACKFRAME(&_hx_pos_a7d595b8126d2317_229_fromOption)
+HXDLIN( 229) ::String _hx_tmp = option->attr->get_string(HX_("label",f4,0d,af,6f));
+HXDLIN( 229) return ::borogove::FormOption_obj::__alloc( HX_CTX ,_hx_tmp,option->getChildText(HX_("value",71,7f,b8,31),null()));
}
@@ -186,8 +189,8 @@ void FormOption_obj::__register()
void FormOption_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_216_boot)
-HXDLIN( 216) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_a7d595b8126d2317_217_boot)
+HXDLIN( 217) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("value__fromC",28,31,16,ac), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
diff --git a/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp b/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp
index b7a006b..a995460 100644
--- a/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp
+++ b/Sources/c_borogove/src/borogove/FormSubmitBuilder.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_FormSubmitBuilder
#include <borogove/FormSubmitBuilder.h>
#endif
@@ -66,7 +63,7 @@ HX_DEFINE_DYNAMIC_FUNC2(FormSubmitBuilder_obj,add,(void))
HX_GC_STACKFRAME(&_hx_pos_4c0d9a76469df0f6_96_submit)
HXLINE( 97) ::borogove::Stanza toSubmit = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null());
HXLINE( 98) if (::hx::IsNotNull( form )) {
HXLINE( 99) int _g = 0;
HXDLIN( 99) ::Array< ::Dynamic> _g1 = form->allTags(HX_("field",ba,94,93,00),null());
@@ -76,7 +73,7 @@ HXDLIN( 99) _g = (_g + 1);
HXLINE( 100) bool _hx_tmp;
HXDLIN( 100) ::Dynamic this1 = this->data;
HXDLIN( 100) ::String key;
-HXDLIN( 100) ::String tmp = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 100) ::String tmp = f->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 100) if (::hx::IsNotNull( tmp )) {
HXLINE( 100) key = tmp;
}
@@ -90,7 +87,7 @@ HXLINE( 100) _hx_tmp = (::borogove::_DataForm::Field_Impl__obj::get_value(f)
HXLINE( 100) _hx_tmp = false;
}
HXDLIN( 100) if (_hx_tmp) {
-HXLINE( 101) ::String tmp1 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXLINE( 101) ::String tmp1 = f->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 101) ::String tag;
HXDLIN( 101) if (::hx::IsNotNull( tmp1 )) {
HXLINE( 101) tag = tmp1;
@@ -99,14 +96,14 @@ HXLINE( 101) tag = tmp1;
HXLINE( 101) tag = HX_("",00,00,00,00);
}
HXDLIN( 101) ::borogove::Stanza tag1 = toSubmit->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),tag)));
+ ->setFixed(0,HX_("var",e7,de,59,00),tag)),null());
HXLINE( 102) {
HXLINE( 102) int _g2 = 0;
HXDLIN( 102) ::Array< ::String > _g3 = ::borogove::_DataForm::Field_Impl__obj::get_value(f);
HXDLIN( 102) while((_g2 < _g3->length)){
HXLINE( 102) ::String v = _g3->__get(_g2);
HXDLIN( 102) _g2 = (_g2 + 1);
-HXLINE( 103) tag1->textTag(HX_("value",71,7f,b8,31),v,null());
+HXLINE( 103) tag1->textTag(HX_("value",71,7f,b8,31),v,null(),null());
}
}
HXLINE( 105) tag1->up();
@@ -116,7 +113,7 @@ HXLINE( 106) bool _hx_tmp1;
HXDLIN( 106) if (::hx::IsNotNull( f->getChild(HX_("required",5f,91,62,b2),null()) )) {
HXLINE( 106) ::Dynamic this2 = this->data;
HXDLIN( 106) ::String key1;
-HXDLIN( 106) ::String tmp2 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 106) ::String tmp2 = f->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 106) if (::hx::IsNotNull( tmp2 )) {
HXLINE( 106) key1 = tmp2;
}
@@ -126,7 +123,7 @@ HXLINE( 106) key1 = HX_("",00,00,00,00);
HXDLIN( 106) if (::hx::IsNotNull( ( ( ::haxe::ds::StringMap)(this2) )->get(key1) )) {
HXLINE( 106) ::Dynamic this3 = this->data;
HXDLIN( 106) ::String key2;
-HXDLIN( 106) ::String tmp3 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 106) ::String tmp3 = f->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 106) if (::hx::IsNotNull( tmp3 )) {
HXLINE( 106) key2 = tmp3;
}
@@ -144,7 +141,7 @@ HXLINE( 106) _hx_tmp1 = false;
}
HXDLIN( 106) if (_hx_tmp1) {
HXLINE( 107) ::Dynamic _hx_tmp2 = ::haxe::Log_obj::trace;
-HXDLIN( 107) ::String tmp4 = ( (::String)(::Reflect_obj::field(f->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 107) ::String tmp4 = f->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 107) ::String _hx_tmp3;
HXDLIN( 107) if (::hx::IsNotNull( tmp4 )) {
HXLINE( 107) _hx_tmp3 = tmp4;
@@ -171,13 +168,13 @@ HXLINE( 112) ::String key3 = ( (::String)(_g_keys->__Field(HX_("next",f3,84,0
HXDLIN( 112) ::Array< ::String > _g_value = ( (::Array< ::String >)(::haxe::IMap_obj::get(this4,key3)) );
HXDLIN( 112) {
HXLINE( 113) ::borogove::Stanza tag2 = toSubmit->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),key3)));
+ ->setFixed(0,HX_("var",e7,de,59,00),key3)),null());
HXLINE( 114) {
HXLINE( 114) int _g4 = 0;
HXDLIN( 114) while((_g4 < _g_value->length)){
HXLINE( 114) ::String v1 = _g_value->__get(_g4);
HXDLIN( 114) _g4 = (_g4 + 1);
-HXLINE( 115) tag2->textTag(HX_("value",71,7f,b8,31),v1,null());
+HXLINE( 115) tag2->textTag(HX_("value",71,7f,b8,31),v1,null(),null());
}
}
HXLINE( 117) tag2->up();
diff --git a/Sources/c_borogove/src/borogove/GenericStream.cpp b/Sources/c_borogove/src/borogove/GenericStream.cpp
index f46b49f..f5a5376 100644
--- a/Sources/c_borogove/src/borogove/GenericStream.cpp
+++ b/Sources/c_borogove/src/borogove/GenericStream.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
#include <_UUIDv7/UUIDv7_Fields_.h>
#endif
@@ -25,9 +22,15 @@
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_Log
#include <haxe/Log.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_b33ef4a473e70a2a_14_new,"borogove.GenericStream","new",0x7d32e5bc,"borogove.GenericStream.new","borogove/GenericStream.hx",14,0xe1a5f735)
HX_LOCAL_STACK_FRAME(_hx_pos_b33ef4a473e70a2a_34_sendIq,"borogove.GenericStream","sendIq",0x22505b74,"borogove.GenericStream.sendIq","borogove/GenericStream.hx",34,0xe1a5f735)
@@ -70,7 +73,7 @@ HXLINE( 36) return ::borogove::EventResult_obj::EventHandled_dyn();
HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_31_sendIq)
HXLINE( 32) ::String id = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE( 33) ::Reflect_obj::setField(stanza->attr,HX_("id",db,5b,00,00),id);
+HXLINE( 33) stanza->attr->set(HX_("id",db,5b,00,00),id);
HXLINE( 34) this->once((HX_("iq-response/",a9,62,d4,cf) + id), ::Dynamic(new _hx_Closure_0(callback)));
HXLINE( 38) this->sendStanza(stanza);
}
@@ -81,10 +84,10 @@ HX_DEFINE_DYNAMIC_FUNC2(GenericStream_obj,sendIq,(void))
void GenericStream_obj::onStanza( ::borogove::Stanza stanza){
HX_STACKFRAME(&_hx_pos_b33ef4a473e70a2a_41_onStanza)
HXLINE( 42) ::haxe::Log_obj::trace(HX_("stanza received!",f5,75,78,a6),::hx::SourceInfo(HX_("borogove/GenericStream.hx",35,f7,a5,e1),42,HX_("borogove.GenericStream",ca,97,ee,7e),HX_("onStanza",74,54,a4,e5)));
-HXLINE( 44) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:client",21,64,c5,e4))) {
+HXLINE( 44) if (::hx::IsEq( stanza->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:client",21,64,c5,e4) )) {
HXLINE( 45) ::String name = stanza->name;
HXLINE( 46) if ((name == HX_("iq",e8,5b,00,00))) {
-HXLINE( 47) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 47) ::String type = stanza->attr->get_string(HX_("type",ba,f2,08,4d));
HXLINE( 48) ::haxe::Log_obj::trace((HX_("type: ",e0,c7,36,57) + type),::hx::SourceInfo(HX_("borogove/GenericStream.hx",35,f7,a5,e1),48,HX_("borogove.GenericStream",ca,97,ee,7e),HX_("onStanza",74,54,a4,e5)));
HXLINE( 49) bool _hx_tmp;
HXDLIN( 49) if ((type != HX_("result",dd,68,84,08))) {
@@ -94,7 +97,7 @@ HXLINE( 49) _hx_tmp = (type == HX_("error",c8,cb,29,73));
HXLINE( 49) _hx_tmp = true;
}
HXDLIN( 49) if (_hx_tmp) {
-HXLINE( 51) ::String _hx_tmp1 = (HX_("iq-response/",a9,62,d4,cf) + ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ));
+HXLINE( 51) ::String _hx_tmp1 = (HX_("iq-response/",a9,62,d4,cf) + stanza->attr->get(HX_("id",db,5b,00,00)));
HXDLIN( 51) this->trigger(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("stanza",f5,5d,f7,05),stanza)));
}
diff --git a/Sources/c_borogove/src/borogove/Hash.cpp b/Sources/c_borogove/src/borogove/Hash.cpp
index 6cb539e..4e586fb 100644
--- a/Sources/c_borogove/src/borogove/Hash.cpp
+++ b/Sources/c_borogove/src/borogove/Hash.cpp
@@ -10,12 +10,15 @@
#ifndef INCLUDED_borogove_Hash
#include <borogove/Hash.h>
#endif
+#ifndef INCLUDED_borogove_IncrementalHash
+#include <borogove/IncrementalHash.h>
+#endif
+#ifndef INCLUDED_borogove_Sha1
+#include <borogove/Sha1.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Sha1
-#include <haxe/crypto/Sha1.h>
-#endif
#ifndef INCLUDED_haxe_crypto_Sha256
#include <haxe/crypto/Sha256.h>
#endif
@@ -23,25 +26,29 @@
#include <haxe/io/Bytes.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_31_new,"borogove.Hash","new",0xd16baecd,"borogove.Hash.new","borogove/Hash.hx",31,0x70175b62)
+HX_DEFINE_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_30_new,"borogove.Hash","new",0xd16baecd,"borogove.Hash.new","borogove/Hash.hx",30,0x70175b62)
HX_LOCAL_STACK_FRAME(_hx_pos_cf3f028669fb61f2_478_algorithm__fromC,"borogove.Hash","algorithm__fromC",0xe5eca15d,"borogove.Hash.algorithm__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_89_toUri,"borogove.Hash","toUri",0x41b8f05e,"borogove.Hash.toUri","borogove/Hash.hx",89,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_98_bobUri,"borogove.Hash","bobUri",0x162eb02a,"borogove.Hash.bobUri","borogove/Hash.hx",98,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_103_serializeUri,"borogove.Hash","serializeUri",0x8327dd5f,"borogove.Hash.serializeUri","borogove/Hash.hx",103,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_112_toHex,"borogove.Hash","toHex",0x41af07cd,"borogove.Hash.toHex","borogove/Hash.hx",112,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_121_toBase64,"borogove.Hash","toBase64",0x26f05bdd,"borogove.Hash.toBase64","borogove/Hash.hx",121,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_130_toBase64Url,"borogove.Hash","toBase64Url",0x87cf8f92,"borogove.Hash.toBase64Url","borogove/Hash.hx",130,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_44_fromHex,"borogove.Hash","fromHex",0xb8062c7e,"borogove.Hash.fromHex","borogove/Hash.hx",44,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_57_fromUri,"borogove.Hash","fromUri",0xb810150f,"borogove.Hash.fromUri","borogove/Hash.hx",57,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_75_sha1,"borogove.Hash","sha1",0x701d8978,"borogove.Hash.sha1","borogove/Hash.hx",75,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_80_sha256,"borogove.Hash","sha256",0xd9adc81a,"borogove.Hash.sha256","borogove/Hash.hx",80,0x70175b62)
-HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_22_boot,"borogove.Hash","boot",0x64e64525,"borogove.Hash.boot","borogove/Hash.hx",22,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_105_toUri,"borogove.Hash","toUri",0x41b8f05e,"borogove.Hash.toUri","borogove/Hash.hx",105,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_114_bobUri,"borogove.Hash","bobUri",0x162eb02a,"borogove.Hash.bobUri","borogove/Hash.hx",114,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_119_serializeUri,"borogove.Hash","serializeUri",0x8327dd5f,"borogove.Hash.serializeUri","borogove/Hash.hx",119,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_128_toHex,"borogove.Hash","toHex",0x41af07cd,"borogove.Hash.toHex","borogove/Hash.hx",128,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_137_toBase64,"borogove.Hash","toBase64",0x26f05bdd,"borogove.Hash.toBase64","borogove/Hash.hx",137,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_146_toBase64Url,"borogove.Hash","toBase64Url",0x87cf8f92,"borogove.Hash.toBase64Url","borogove/Hash.hx",146,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_150_equals,"borogove.Hash","equals",0x7ca611f2,"borogove.Hash.equals","borogove/Hash.hx",150,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_43_fromHex,"borogove.Hash","fromHex",0xb8062c7e,"borogove.Hash.fromHex","borogove/Hash.hx",43,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_56_fromUri,"borogove.Hash","fromUri",0xb810150f,"borogove.Hash.fromUri","borogove/Hash.hx",56,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_73_mk,"borogove.Hash","mk",0x36e4ed91,"borogove.Hash.mk","borogove/Hash.hx",73,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_81_sha1,"borogove.Hash","sha1",0x701d8978,"borogove.Hash.sha1","borogove/Hash.hx",81,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_86_sha1incr,"borogove.Hash","sha1incr",0x85e6db4c,"borogove.Hash.sha1incr","borogove/Hash.hx",86,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_91_sha256,"borogove.Hash","sha256",0xd9adc81a,"borogove.Hash.sha256","borogove/Hash.hx",91,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_96_sha256incr,"borogove.Hash","sha256incr",0x165812ee,"borogove.Hash.sha256incr","borogove/Hash.hx",96,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_44da733a4b4dd6a7_21_boot,"borogove.Hash","boot",0x64e64525,"borogove.Hash.boot","borogove/Hash.hx",21,0x70175b62)
namespace borogove{
void Hash_obj::__construct(::String algorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_31_new)
-HXLINE( 32) this->algorithm = algorithm;
-HXLINE( 33) this->hash = hash;
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_30_new)
+HXLINE( 31) this->algorithm = algorithm;
+HXLINE( 32) this->hash = hash;
}
Dynamic Hash_obj::__CreateEmpty() { return new Hash_obj; }
@@ -68,157 +75,203 @@ HXDLIN( 478) return this->algorithm;
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,algorithm__fromC,return )
::String Hash_obj::toUri(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_89_toUri)
-HXDLIN( 89) if (::borogove::Config_obj::relativeHashUri) {
-HXLINE( 90) ::String _hx_tmp = ((HX_("/.well-known/ni/",e8,1b,93,12) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_("/",2f,00,00,00));
-HXDLIN( 90) return (_hx_tmp + this->toBase64Url());
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_105_toUri)
+HXDLIN( 105) if (::borogove::Config_obj::relativeHashUri) {
+HXLINE( 106) ::String _hx_tmp = ((HX_("/.well-known/ni/",e8,1b,93,12) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_("/",2f,00,00,00));
+HXDLIN( 106) return (_hx_tmp + this->toBase64Url());
}
else {
-HXLINE( 92) return this->serializeUri();
+HXLINE( 108) return this->serializeUri();
}
-HXLINE( 89) return null();
+HXLINE( 105) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toUri,return )
::String Hash_obj::bobUri(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_98_bobUri)
-HXDLIN( 98) ::String _hx_tmp;
-HXDLIN( 98) if ((this->algorithm == HX_("sha-1",90,a8,1c,7c))) {
-HXDLIN( 98) _hx_tmp = HX_("sha1",85,c8,52,4c);
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_114_bobUri)
+HXDLIN( 114) ::String _hx_tmp;
+HXDLIN( 114) if ((this->algorithm == HX_("sha-1",90,a8,1c,7c))) {
+HXDLIN( 114) _hx_tmp = HX_("sha1",85,c8,52,4c);
}
else {
-HXDLIN( 98) _hx_tmp = ::StringTools_obj::urlEncode(this->algorithm);
+HXDLIN( 114) _hx_tmp = ::StringTools_obj::urlEncode(this->algorithm);
}
-HXDLIN( 98) return ((((HX_("cid:",7c,23,c0,41) + _hx_tmp) + HX_("+",2b,00,00,00)) + this->toHex()) + HX_("@bob.xmpp.org",04,79,99,e7));
+HXDLIN( 114) return ((((HX_("cid:",7c,23,c0,41) + _hx_tmp) + HX_("+",2b,00,00,00)) + this->toHex()) + HX_("@bob.xmpp.org",04,79,99,e7));
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,bobUri,return )
::String Hash_obj::serializeUri(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_103_serializeUri)
-HXDLIN( 103) ::String _hx_tmp = ((HX_("ni:///",d0,cc,ce,96) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_(";",3b,00,00,00));
-HXDLIN( 103) return (_hx_tmp + this->toBase64Url());
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_119_serializeUri)
+HXDLIN( 119) ::String _hx_tmp = ((HX_("ni:///",d0,cc,ce,96) + ::StringTools_obj::urlEncode(this->algorithm)) + HX_(";",3b,00,00,00));
+HXDLIN( 119) return (_hx_tmp + this->toBase64Url());
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,serializeUri,return )
::String Hash_obj::toHex(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_112_toHex)
-HXDLIN( 112) return ::haxe::io::Bytes_obj::ofData(this->hash)->toHex();
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_128_toHex)
+HXDLIN( 128) return ::haxe::io::Bytes_obj::ofData(this->hash)->toHex();
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toHex,return )
::String Hash_obj::toBase64(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_121_toBase64)
-HXDLIN( 121) return ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(this->hash),true);
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_137_toBase64)
+HXDLIN( 137) return ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(this->hash),true);
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toBase64,return )
::String Hash_obj::toBase64Url(){
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_130_toBase64Url)
-HXDLIN( 130) return ::haxe::crypto::Base64_obj::urlEncode(::haxe::io::Bytes_obj::ofData(this->hash),null());
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_146_toBase64Url)
+HXDLIN( 146) return ::haxe::crypto::Base64_obj::urlEncode(::haxe::io::Bytes_obj::ofData(this->hash),null());
}
HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,toBase64Url,return )
+bool Hash_obj::equals( ::borogove::Hash other){
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_150_equals)
+HXDLIN( 150) ::String _hx_tmp = this->serializeUri();
+HXDLIN( 150) return (_hx_tmp == other->serializeUri());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,equals,return )
+
::borogove::Hash Hash_obj::fromHex(::String algorithm,::String hash){
- HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_44_fromHex)
-HXDLIN( 44) try {
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_43_fromHex)
+HXDLIN( 43) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 45) return ::borogove::Hash_obj::__alloc( HX_CTX ,algorithm,::haxe::io::Bytes_obj::ofHex(hash)->b);
+HXLINE( 44) return ::borogove::Hash_obj::__alloc( HX_CTX ,algorithm,::haxe::io::Bytes_obj::ofHex(hash)->b);
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE( 47) return null();
+HXLINE( 46) return null();
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE( 44) return null();
+HXLINE( 43) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Hash_obj,fromHex,return )
::borogove::Hash Hash_obj::fromUri(::String uri){
- HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_57_fromUri)
-HXLINE( 58) bool _hx_tmp;
-HXDLIN( 58) bool _hx_tmp1;
-HXDLIN( 58) if (::StringTools_obj::startsWith(uri,HX_("cid:",7c,23,c0,41))) {
-HXLINE( 58) _hx_tmp1 = ::StringTools_obj::endsWith(uri,HX_("@bob.xmpp.org",04,79,99,e7));
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_56_fromUri)
+HXLINE( 57) bool _hx_tmp;
+HXDLIN( 57) bool _hx_tmp1;
+HXDLIN( 57) if (::StringTools_obj::startsWith(uri,HX_("cid:",7c,23,c0,41))) {
+HXLINE( 57) _hx_tmp1 = ::StringTools_obj::endsWith(uri,HX_("@bob.xmpp.org",04,79,99,e7));
}
else {
-HXLINE( 58) _hx_tmp1 = false;
+HXLINE( 57) _hx_tmp1 = false;
}
-HXDLIN( 58) if (_hx_tmp1) {
-HXLINE( 58) _hx_tmp = (uri.indexOf(HX_("+",2b,00,00,00),null()) != -1);
+HXDLIN( 57) if (_hx_tmp1) {
+HXLINE( 57) _hx_tmp = (uri.indexOf(HX_("+",2b,00,00,00),null()) != -1);
}
else {
-HXLINE( 58) _hx_tmp = false;
+HXLINE( 57) _hx_tmp = false;
}
-HXDLIN( 58) if (_hx_tmp) {
-HXLINE( 59) ::Array< ::String > parts = uri.substr(4,null()).split(HX_("@",40,00,00,00))->__get(0).split(HX_("+",2b,00,00,00));
-HXLINE( 60) ::String algo;
-HXDLIN( 60) if ((parts->__get(0) == HX_("sha1",85,c8,52,4c))) {
-HXLINE( 60) algo = HX_("sha-1",90,a8,1c,7c);
+HXDLIN( 57) if (_hx_tmp) {
+HXLINE( 58) ::Array< ::String > parts = uri.substr(4,null()).split(HX_("@",40,00,00,00))->__get(0).split(HX_("+",2b,00,00,00));
+HXLINE( 59) ::String algo;
+HXDLIN( 59) if ((parts->__get(0) == HX_("sha1",85,c8,52,4c))) {
+HXLINE( 59) algo = HX_("sha-1",90,a8,1c,7c);
}
else {
-HXLINE( 60) algo = parts->__get(0);
+HXLINE( 59) algo = parts->__get(0);
}
-HXLINE( 61) return ::borogove::Hash_obj::fromHex(algo,parts->__get(1));
+HXLINE( 60) return ::borogove::Hash_obj::fromHex(algo,parts->__get(1));
}
-HXLINE( 62) bool _hx_tmp2;
-HXDLIN( 62) if (::StringTools_obj::startsWith(uri,HX_("ni:///",d0,cc,ce,96))) {
-HXLINE( 62) _hx_tmp2 = (uri.indexOf(HX_(";",3b,00,00,00),null()) != -1);
+HXLINE( 61) bool _hx_tmp2;
+HXDLIN( 61) if (::StringTools_obj::startsWith(uri,HX_("ni:///",d0,cc,ce,96))) {
+HXLINE( 61) _hx_tmp2 = (uri.indexOf(HX_(";",3b,00,00,00),null()) != -1);
}
else {
-HXLINE( 62) _hx_tmp2 = false;
+HXLINE( 61) _hx_tmp2 = false;
}
-HXDLIN( 62) if (_hx_tmp2) {
-HXLINE( 63) ::Array< ::String > parts1 = uri.substring(6,null()).split(HX_(";",3b,00,00,00));
-HXLINE( 64) ::String parts2 = parts1->__get(0);
-HXDLIN( 64) return ::borogove::Hash_obj::__alloc( HX_CTX ,parts2,::haxe::crypto::Base64_obj::urlDecode(parts1->__get(1),null())->b);
+HXDLIN( 61) if (_hx_tmp2) {
+HXLINE( 62) ::Array< ::String > parts1 = uri.substring(6,null()).split(HX_(";",3b,00,00,00));
+HXLINE( 63) ::String parts2 = parts1->__get(0);
+HXDLIN( 63) return ::borogove::Hash_obj::__alloc( HX_CTX ,parts2,::haxe::crypto::Base64_obj::urlDecode(parts1->__get(1),null())->b);
}
else {
-HXLINE( 65) if (::StringTools_obj::startsWith(uri,HX_("/.well-known/ni/",e8,1b,93,12))) {
-HXLINE( 66) ::Array< ::String > parts3 = uri.substring(16,null()).split(HX_("/",2f,00,00,00));
-HXLINE( 67) ::String parts4 = parts3->__get(0);
-HXDLIN( 67) return ::borogove::Hash_obj::__alloc( HX_CTX ,parts4,::haxe::crypto::Base64_obj::urlDecode(parts3->__get(1),null())->b);
+HXLINE( 64) if (::StringTools_obj::startsWith(uri,HX_("/.well-known/ni/",e8,1b,93,12))) {
+HXLINE( 65) ::Array< ::String > parts3 = uri.substring(16,null()).split(HX_("/",2f,00,00,00));
+HXLINE( 66) ::String parts4 = parts3->__get(0);
+HXDLIN( 66) return ::borogove::Hash_obj::__alloc( HX_CTX ,parts4,::haxe::crypto::Base64_obj::urlDecode(parts3->__get(1),null())->b);
}
}
-HXLINE( 70) return null();
+HXLINE( 69) return null();
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,fromUri,return )
+ ::borogove::Hash Hash_obj::mk(::String algorithm, ::haxe::io::Bytes bytes){
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_73_mk)
+HXLINE( 74) bool _hx_tmp;
+HXDLIN( 74) if ((algorithm != HX_("sha-1",90,a8,1c,7c))) {
+HXLINE( 74) _hx_tmp = (algorithm == HX_("sha1",85,c8,52,4c));
+ }
+ else {
+HXLINE( 74) _hx_tmp = true;
+ }
+HXDLIN( 74) if (_hx_tmp) {
+HXLINE( 74) return ::borogove::Hash_obj::sha1(bytes);
+ }
+HXLINE( 75) if ((algorithm == HX_("sha-256",32,dd,04,3b))) {
+HXLINE( 75) return ::borogove::Hash_obj::sha256(bytes);
+ }
+HXLINE( 76) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Hash_obj,mk,return )
+
::borogove::Hash Hash_obj::sha1( ::haxe::io::Bytes bytes){
- HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_75_sha1)
-HXDLIN( 75) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),::haxe::crypto::Sha1_obj::make(bytes)->b);
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_81_sha1)
+HXDLIN( 81) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c),::borogove::Sha1_obj::make(bytes)->b);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,sha1,return )
+ ::borogove::IncrementalHash Hash_obj::sha1incr(){
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_86_sha1incr)
+HXDLIN( 86) return ::borogove::IncrementalHash_obj::__alloc( HX_CTX ,HX_("sha-1",90,a8,1c,7c), ::borogove::Sha1_obj::__alloc( HX_CTX ));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,sha1incr,return )
+
::borogove::Hash Hash_obj::sha256( ::haxe::io::Bytes bytes){
- HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_80_sha256)
-HXDLIN( 80) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b),::haxe::crypto::Sha256_obj::make(bytes)->b);
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_91_sha256)
+HXDLIN( 91) return ::borogove::Hash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b),::haxe::crypto::Sha256_obj::make(bytes)->b);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Hash_obj,sha256,return )
+ ::borogove::IncrementalHash Hash_obj::sha256incr(){
+ HX_GC_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_96_sha256incr)
+HXDLIN( 96) return ::borogove::IncrementalHash_obj::__alloc( HX_CTX ,HX_("sha-256",32,dd,04,3b), ::haxe::crypto::Sha256_obj::__alloc( HX_CTX ));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC0(Hash_obj,sha256incr,return )
+
::hx::ObjectPtr< Hash_obj > Hash_obj::__new(::String algorithm,::Array< unsigned char > hash) {
::hx::ObjectPtr< Hash_obj > __this = new Hash_obj();
@@ -263,6 +316,7 @@ void Hash_obj::__Visit(HX_VISIT_PARAMS)
break;
case 6:
if (HX_FIELD_EQ(inName,"bobUri") ) { return ::hx::Val( bobUri_dyn() ); }
+ if (HX_FIELD_EQ(inName,"equals") ) { return ::hx::Val( equals_dyn() ); }
break;
case 8:
if (HX_FIELD_EQ(inName,"toBase64") ) { return ::hx::Val( toBase64_dyn() ); }
@@ -285,6 +339,9 @@ void Hash_obj::__Visit(HX_VISIT_PARAMS)
bool Hash_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"mk") ) { outValue = mk_dyn(); return true; }
+ break;
case 4:
if (HX_FIELD_EQ(inName,"sha1") ) { outValue = sha1_dyn(); return true; }
break;
@@ -294,6 +351,12 @@ bool Hash_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Prop
case 7:
if (HX_FIELD_EQ(inName,"fromHex") ) { outValue = fromHex_dyn(); return true; }
if (HX_FIELD_EQ(inName,"fromUri") ) { outValue = fromUri_dyn(); return true; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"sha1incr") ) { outValue = sha1incr_dyn(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"sha256incr") ) { outValue = sha256incr_dyn(); return true; }
}
return false;
}
@@ -336,6 +399,7 @@ static ::String Hash_obj_sMemberFields[] = {
HX_("toHex",20,f4,10,14),
HX_("toBase64",6a,a5,66,7c),
HX_("toBase64Url",25,fc,df,1d),
+ HX_("equals",3f,ee,f2,bf),
::String(null()) };
::hx::Class Hash_obj::__mClass;
@@ -343,8 +407,11 @@ static ::String Hash_obj_sMemberFields[] = {
static ::String Hash_obj_sStaticFields[] = {
HX_("fromHex",91,13,fa,57),
HX_("fromUri",22,fc,03,58),
+ HX_("mk",5e,5f,00,00),
HX_("sha1",85,c8,52,4c),
+ HX_("sha1incr",d9,24,5d,db),
HX_("sha256",67,a4,fa,1c),
+ HX_("sha256incr",bb,99,1d,6d),
::String(null())
};
@@ -374,8 +441,8 @@ void Hash_obj::__register()
void Hash_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_22_boot)
-HXDLIN( 22) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_44da733a4b4dd6a7_21_boot)
+HXDLIN( 21) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("algorithm__fromC",ea,bf,4a,a7), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
diff --git a/Sources/c_borogove/src/borogove/Html.cpp b/Sources/c_borogove/src/borogove/Html.cpp
index 95f5e4f..e1acd4b 100644
--- a/Sources/c_borogove/src/borogove/Html.cpp
+++ b/Sources/c_borogove/src/borogove/Html.cpp
@@ -61,6 +61,9 @@
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_xml_Printer
#include <haxe/xml/Printer.h>
#endif
@@ -94,27 +97,28 @@ HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_163_reduce,"borogove.Html","reduce
static const bool _hx_array_data_de55a9f8_13[] = {
0,
};
+HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_183_reduce,"borogove.Html","reduce",0xf3f5895c,"borogove.Html.reduce","borogove/Html.hx",183,0x971c95e5)
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_179_reduce,"borogove.Html","reduce",0xf3f5895c,"borogove.Html.reduce","borogove/Html.hx",179,0x971c95e5)
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_199_reduce,"borogove.Html","reduce",0xf3f5895c,"borogove.Html.reduce","borogove/Html.hx",199,0x971c95e5)
-static const ::String _hx_array_data_de55a9f8_16[] = {
+static const ::String _hx_array_data_de55a9f8_17[] = {
HX_("class",38,78,58,48),
};
-static const ::String _hx_array_data_de55a9f8_17[] = {
+static const ::String _hx_array_data_de55a9f8_18[] = {
HX_("action",b6,3b,46,16),
};
HX_LOCAL_STACK_FRAME(_hx_pos_f22bfd6896666266_282_reduce__fromC,"borogove.Html","reduce__fromC",0xa2cb0a9d,"borogove.Html.reduce__fromC","HaxeCBridge.hx",282,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_f22bfd6896666266_363_reduce__fromC,"borogove.Html","reduce__fromC",0xa2cb0a9d,"borogove.Html.reduce__fromC","HaxeCBridge.hx",363,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_211_toString,"borogove.Html","toString",0xc02105e2,"borogove.Html.toString","borogove/Html.hx",211,0x971c95e5)
-static const ::String _hx_array_data_de55a9f8_23[] = {
+static const ::String _hx_array_data_de55a9f8_24[] = {
HX_(" />",4f,71,18,00),
};
-static const ::String _hx_array_data_de55a9f8_24[] = {
+static const ::String _hx_array_data_de55a9f8_25[] = {
HX_(">",3e,00,00,00),
};
-static const ::String _hx_array_data_de55a9f8_25[] = {
+static const ::String _hx_array_data_de55a9f8_26[] = {
HX_("</",73,34,00,00),
};
-static const ::String _hx_array_data_de55a9f8_26[] = {
+static const ::String _hx_array_data_de55a9f8_27[] = {
HX_(">",3e,00,00,00),
};
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_249_toPlainText,"borogove.Html","toPlainText",0x1c5ba366,"borogove.Html.toPlainText","borogove/Html.hx",249,0x971c95e5)
@@ -127,7 +131,7 @@ HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_105_fromString,"borogove.Html","fr
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_120_htmlToNode,"borogove.Html","htmlToNode",0xcd174f9e,"borogove.Html.htmlToNode","borogove/Html.hx",120,0x971c95e5)
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_25_boot,"borogove.Html","boot",0x43916668,"borogove.Html.boot","borogove/Html.hx",25,0x971c95e5)
HX_LOCAL_STACK_FRAME(_hx_pos_7f2f37b33fdbbbfb_26_boot,"borogove.Html","boot",0x43916668,"borogove.Html.boot","borogove/Html.hx",26,0x971c95e5)
-static const ::String _hx_array_data_de55a9f8_50[] = {
+static const ::String _hx_array_data_de55a9f8_51[] = {
HX_("area",8d,8b,74,40),HX_("base",11,e8,10,41),HX_("br",d0,55,00,00),HX_("col",40,80,4b,00),HX_("embed",d9,8d,cf,6f),HX_("hr",0a,5b,00,00),HX_("img",03,0c,50,00),HX_("input",0a,c4,1d,be),HX_("link",fa,17,b3,47),HX_("meta",c5,4a,59,48),HX_("param",8d,80,55,bd),HX_("source",db,b0,31,32),HX_("track",8b,8e,1f,16),HX_("wbr",07,a2,5a,00),
};
namespace borogove{
@@ -178,9 +182,9 @@ HXDLIN( 142) switch((int)(item->_hx_getIndex())){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
bool _hx_run( ::borogove::Stanza st,::Array< bool > kids){
HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_145_isPlainText)
-HXLINE( 146) ::Array< ::String > attrs = ::Reflect_obj::fields(st->attr);
+HXLINE( 146) ::Dynamic attrs = st->attr->keys();
HXLINE( 148) if (::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_5,4)->contains(st->name)) {
-HXLINE( 149) if ((attrs->length < 1)) {
+HXLINE( 149) if (!(( (bool)(attrs->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) ))) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run(bool plain){
HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_149_isPlainText)
@@ -272,8 +276,15 @@ HXLINE( 176) ::borogove::Node item = _hx_array_unsafe_get(_this,i);
HXDLIN( 176) ::Dynamic inValue;
HXDLIN( 176) switch((int)(item->_hx_getIndex())){
case (int)0: {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,f, ::Dynamic,mkTxt) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,f, ::Dynamic,mkTxt) HXARGC(2)
::Dynamic _hx_run( ::borogove::Stanza st,::cpp::VirtualArray kids){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::Stanza,st) HXARGC(0)
+ ::Dynamic _hx_run(){
+ HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_183_reduce)
+HXLINE( 183) return st->attr->keys();
+ }
+ HX_END_LOCAL_FUNC0(return)
+
HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_179_reduce)
HXLINE( 181) bool inValue;
HXDLIN( 181) if ((st->name != HX_("style",31,a5,1d,84))) {
@@ -285,7 +296,8 @@ HXLINE( 181) inValue = true;
HXDLIN( 181) if (inValue) {
HXLINE( 181) return mkTxt(HX_("",00,00,00,00));
}
-HXLINE( 183) ::Array< ::String > _this = ::Reflect_obj::fields(st->attr);
+HXLINE( 183) ::Array< ::String > _this = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_1(st)))));
HXDLIN( 183) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
HXDLIN( 183) {
HXLINE( 183) int _g1 = 0;
@@ -309,7 +321,7 @@ HXDLIN( 187) int i = (_g2 - 1);
HXDLIN( 187) {
HXLINE( 187) ::String k = ( (::String)(_hx_array_unsafe_get(_g,i)) );
HXLINE( 188) ::String v1;
-HXDLIN( 188) ::String tmp = ( (::String)(::Reflect_obj::field(st->attr,k)) );
+HXDLIN( 188) ::String tmp = st->attr->get_string(k);
HXDLIN( 188) if (::hx::IsNotNull( tmp )) {
HXLINE( 188) v1 = tmp;
}
@@ -351,14 +363,14 @@ HXLINE( 184) return f1(st1,_g,result,kids);
}
HX_END_LOCAL_FUNC2(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,mkTxt) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,mkTxt) HXARGC(1)
::Dynamic _hx_run(::String txt){
HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_199_reduce)
HXLINE( 199) return mkTxt(txt);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 176) inValue = item->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->reduce( ::Dynamic(new _hx_Closure_1(f,mkTxt)), ::Dynamic(new _hx_Closure_2(mkTxt)));
+HXLINE( 176) inValue = item->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->reduce( ::Dynamic(new _hx_Closure_2(f,mkTxt)), ::Dynamic(new _hx_Closure_3(mkTxt)));
}
break;
case (int)1: {
@@ -371,7 +383,7 @@ HXDLIN( 176) result->__unsafe_set(i,inValue);
}
}
HXLINE( 204) if (isAction->__get(0)) {
-HXLINE( 204) return ::cpp::VirtualArray_obj::__new(1)->init(0,f(HX_("div",51,3d,4c,00),::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_16,1),::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_17,1),result));
+HXLINE( 204) return ::cpp::VirtualArray_obj::__new(1)->init(0,f(HX_("div",51,3d,4c,00),::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_17,1),::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_18,1),result));
}
else {
HXLINE( 204) return result;
@@ -512,7 +524,7 @@ HXLINE( 225) if (::hx::IsNotNull( buffer->charBuf )) {
HXLINE( 225) buffer->flush();
}
HXDLIN( 225) if (::hx::IsNull( buffer->b )) {
-HXLINE( 225) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_23,1);
+HXLINE( 225) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_24,1);
}
else {
HXLINE( 225) buffer->b->push(HX_(" />",4f,71,18,00));
@@ -525,7 +537,7 @@ HXLINE( 229) if (::hx::IsNotNull( buffer->charBuf )) {
HXLINE( 229) buffer->flush();
}
HXDLIN( 229) if (::hx::IsNull( buffer->b )) {
-HXLINE( 229) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_24,1);
+HXLINE( 229) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_25,1);
}
else {
HXLINE( 229) buffer->b->push(HX_(">",3e,00,00,00));
@@ -555,7 +567,7 @@ HXLINE( 236) if (::hx::IsNotNull( buffer->charBuf )) {
HXLINE( 236) buffer->flush();
}
HXDLIN( 236) if (::hx::IsNull( buffer->b )) {
-HXLINE( 236) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_25,1);
+HXLINE( 236) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_26,1);
}
else {
HXLINE( 236) buffer->b->push(HX_("</",73,34,00,00));
@@ -578,7 +590,7 @@ HXLINE( 238) if (::hx::IsNotNull( buffer->charBuf )) {
HXLINE( 238) buffer->flush();
}
HXDLIN( 238) if (::hx::IsNull( buffer->b )) {
-HXLINE( 238) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_26,1);
+HXLINE( 238) buffer->b = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_27,1);
}
else {
HXLINE( 238) buffer->b->push(HX_(">",3e,00,00,00));
@@ -601,7 +613,7 @@ HX_DEFINE_DYNAMIC_FUNC0(Html_obj,toString,return )
::String Html_obj::toPlainText(){
HX_GC_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_249_toPlainText)
-HXLINE( 251) ::borogove::Stanza body = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("body",a2,7a,1b,41),null());
+HXLINE( 251) ::borogove::Stanza body = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("body",a2,7a,1b,41),null(),null());
HXLINE( 252) body->addChildNodes(this->xml);
HXLINE( 253) ::EReg _hx_tmp = ::EReg_obj::__alloc( HX_CTX ,HX_("\n(\n)?$",82,45,54,0e),HX_("",00,00,00,00));
HXDLIN( 253) return _hx_tmp->replace(::borogove::XEP0393_obj::render(body,null(),null(),null()),HX_("",00,00,00,00));
@@ -623,7 +635,7 @@ HXDLIN( 73) _g_current = (_g_current + 1);
HXLINE( 74) ::Reflect_obj::setField(attrs,_g_value,attrValues->__get((_g_current - 1)));
}
}
-HXLINE( 77) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,tag,attrs);
+HXLINE( 77) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,tag,attrs,null());
HXLINE( 78) {
HXLINE( 78) int _g = 0;
HXDLIN( 78) while((_g < children->length)){
@@ -825,14 +837,14 @@ HXLINE( 123) return ::borogove::Node_obj::CData(txt->toText());
}
HXLINE( 125) ::htmlparser::HtmlNodeElement el = ( ( ::htmlparser::HtmlNodeElement)(::borogove::_Util::Util_Fields__obj::downcast(node,::hx::ClassOf< ::htmlparser::HtmlNodeElement >())) );
HXLINE( 126) if (::hx::IsNotNull( el )) {
-HXLINE( 127) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,el->name, ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 127) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,el->name, ::Dynamic(::hx::Anon_obj::Create(0)),null());
HXLINE( 128) {
HXLINE( 128) int _g = 0;
HXDLIN( 128) ::Array< ::Dynamic> _g1 = el->attributes;
HXDLIN( 128) while((_g < _g1->length)){
HXLINE( 128) ::htmlparser::HtmlAttribute attr = _g1->__get(_g).StaticCast< ::htmlparser::HtmlAttribute >();
HXDLIN( 128) _g = (_g + 1);
-HXLINE( 129) ::Reflect_obj::setField(s->attr,attr->name,attr->value);
+HXLINE( 129) s->attr->set(attr->name,attr->value);
}
}
HXLINE( 131) {
@@ -1054,7 +1066,7 @@ HXDLIN( 25) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(2)
}
{
HX_STACKFRAME(&_hx_pos_7f2f37b33fdbbbfb_26_boot)
-HXDLIN( 26) HTML_EMPTY = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_50,14);
+HXDLIN( 26) HTML_EMPTY = ::Array_obj< ::String >::fromData( _hx_array_data_de55a9f8_51,14);
}
}
diff --git a/Sources/c_borogove/src/borogove/Identity.cpp b/Sources/c_borogove/src/borogove/Identity.cpp
index 4a2836f..7ef694b 100644
--- a/Sources/c_borogove/src/borogove/Identity.cpp
+++ b/Sources/c_borogove/src/borogove/Identity.cpp
@@ -10,6 +10,12 @@
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
@@ -20,25 +26,25 @@
#include <haxe/io/Output.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_228_new,"borogove.Identity","new",0x6fb346bd,"borogove.Identity.new","borogove/Caps.hx",228,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_238_addToDisco,"borogove.Identity","addToDisco",0xe04e3b21,"borogove.Identity.addToDisco","borogove/Caps.hx",238,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_248_ver,"borogove.Identity","ver",0x6fb958c0,"borogove.Identity.ver","borogove/Caps.hx",248,0xed3da4ef)
-HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_254_writeTo,"borogove.Identity","writeTo",0x8acc5517,"borogove.Identity.writeTo","borogove/Caps.hx",254,0xed3da4ef)
+HX_DEFINE_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_238_new,"borogove.Identity","new",0x6fb346bd,"borogove.Identity.new","borogove/Caps.hx",238,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_248_addToDisco,"borogove.Identity","addToDisco",0xe04e3b21,"borogove.Identity.addToDisco","borogove/Caps.hx",248,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_258_ver,"borogove.Identity","ver",0x6fb958c0,"borogove.Identity.ver","borogove/Caps.hx",258,0xed3da4ef)
+HX_LOCAL_STACK_FRAME(_hx_pos_d5f7fc7fc3ee8081_264_writeTo,"borogove.Identity","writeTo",0x8acc5517,"borogove.Identity.writeTo","borogove/Caps.hx",264,0xed3da4ef)
namespace borogove{
void Identity_obj::__construct(::String category,::String type,::String name,::String lang){
- HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_228_new)
-HXLINE( 229) this->category = category;
-HXLINE( 230) this->type = type;
-HXLINE( 231) this->name = name;
-HXLINE( 232) ::String _hx_tmp;
-HXDLIN( 232) if (::hx::IsNotNull( lang )) {
-HXLINE( 232) _hx_tmp = lang;
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_238_new)
+HXLINE( 239) this->category = category;
+HXLINE( 240) this->type = type;
+HXLINE( 241) this->name = name;
+HXLINE( 242) ::String _hx_tmp;
+HXDLIN( 242) if (::hx::IsNotNull( lang )) {
+HXLINE( 242) _hx_tmp = lang;
}
else {
-HXLINE( 232) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 242) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 232) this->lang = _hx_tmp;
+HXDLIN( 242) this->lang = _hx_tmp;
}
Dynamic Identity_obj::__CreateEmpty() { return new Identity_obj; }
@@ -57,74 +63,74 @@ bool Identity_obj::_hx_isInstanceOf(int inClassId) {
}
void Identity_obj::addToDisco( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_238_addToDisco)
-HXLINE( 239) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_248_addToDisco)
+HXLINE( 249) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("category",fe,2a,6c,ad),this->category)
->setFixed(1,HX_("name",4b,72,ff,48),this->name)
->setFixed(2,HX_("type",ba,f2,08,4d),this->type));
-HXLINE( 240) bool _hx_tmp;
-HXDLIN( 240) if (::hx::IsNotNull( this->lang )) {
-HXLINE( 240) _hx_tmp = (this->lang != HX_("",00,00,00,00));
+HXLINE( 250) bool _hx_tmp;
+HXDLIN( 250) if (::hx::IsNotNull( this->lang )) {
+HXLINE( 250) _hx_tmp = (this->lang != HX_("",00,00,00,00));
}
else {
-HXLINE( 240) _hx_tmp = false;
+HXLINE( 250) _hx_tmp = false;
}
-HXDLIN( 240) if (_hx_tmp) {
-HXLINE( 240) ::Reflect_obj::setField(attrs,HX_("xml:lang",f1,b1,be,5f),this->lang);
+HXDLIN( 250) if (_hx_tmp) {
+HXLINE( 250) ::Reflect_obj::setField(attrs,HX_("xml:lang",f1,b1,be,5f),this->lang);
}
-HXLINE( 241) stanza->tag(HX_("identity",3e,45,2f,b9),attrs)->up();
+HXLINE( 251) stanza->tag(HX_("identity",3e,45,2f,b9),attrs,null())->up();
}
HX_DEFINE_DYNAMIC_FUNC1(Identity_obj,addToDisco,(void))
::String Identity_obj::ver(){
- HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_248_ver)
-HXDLIN( 248) ::String tmp = this->lang;
-HXDLIN( 248) ::String _hx_tmp;
-HXDLIN( 248) if (::hx::IsNotNull( tmp )) {
-HXDLIN( 248) _hx_tmp = tmp;
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_258_ver)
+HXDLIN( 258) ::String tmp = this->lang;
+HXDLIN( 258) ::String _hx_tmp;
+HXDLIN( 258) if (::hx::IsNotNull( tmp )) {
+HXDLIN( 258) _hx_tmp = tmp;
}
else {
-HXDLIN( 248) _hx_tmp = HX_("",00,00,00,00);
+HXDLIN( 258) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 248) return ((((((this->category + HX_("/",2f,00,00,00)) + this->type) + HX_("/",2f,00,00,00)) + _hx_tmp) + HX_("/",2f,00,00,00)) + this->name);
+HXDLIN( 258) return ((((((this->category + HX_("/",2f,00,00,00)) + this->type) + HX_("/",2f,00,00,00)) + _hx_tmp) + HX_("/",2f,00,00,00)) + this->name);
}
HX_DEFINE_DYNAMIC_FUNC0(Identity_obj,ver,return )
void Identity_obj::writeTo( ::haxe::io::Output out){
- HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_254_writeTo)
-HXLINE( 255) {
-HXLINE( 255) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(this->category,null());
-HXDLIN( 255) out->writeBytes(b,0,b->length);
+ HX_STACKFRAME(&_hx_pos_d5f7fc7fc3ee8081_264_writeTo)
+HXLINE( 265) {
+HXLINE( 265) ::haxe::io::Bytes b = ::haxe::io::Bytes_obj::ofString(this->category,null());
+HXDLIN( 265) out->writeBytes(b,0,b->length);
}
-HXLINE( 256) out->writeByte(31);
-HXLINE( 257) {
-HXLINE( 257) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(this->type,null());
-HXDLIN( 257) out->writeBytes(b1,0,b1->length);
+HXLINE( 266) out->writeByte(31);
+HXLINE( 267) {
+HXLINE( 267) ::haxe::io::Bytes b1 = ::haxe::io::Bytes_obj::ofString(this->type,null());
+HXDLIN( 267) out->writeBytes(b1,0,b1->length);
}
-HXLINE( 258) out->writeByte(31);
-HXLINE( 259) {
-HXLINE( 259) ::String s;
-HXDLIN( 259) ::String tmp = this->lang;
-HXDLIN( 259) if (::hx::IsNotNull( tmp )) {
-HXLINE( 259) s = tmp;
+HXLINE( 268) out->writeByte(31);
+HXLINE( 269) {
+HXLINE( 269) ::String s;
+HXDLIN( 269) ::String tmp = this->lang;
+HXDLIN( 269) if (::hx::IsNotNull( tmp )) {
+HXLINE( 269) s = tmp;
}
else {
-HXLINE( 259) s = HX_("",00,00,00,00);
+HXLINE( 269) s = HX_("",00,00,00,00);
}
-HXDLIN( 259) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(s,null());
-HXDLIN( 259) out->writeBytes(b2,0,b2->length);
+HXDLIN( 269) ::haxe::io::Bytes b2 = ::haxe::io::Bytes_obj::ofString(s,null());
+HXDLIN( 269) out->writeBytes(b2,0,b2->length);
}
-HXLINE( 260) out->writeByte(31);
-HXLINE( 261) {
-HXLINE( 261) ::haxe::io::Bytes b3 = ::haxe::io::Bytes_obj::ofString(this->name,null());
-HXDLIN( 261) out->writeBytes(b3,0,b3->length);
+HXLINE( 270) out->writeByte(31);
+HXLINE( 271) {
+HXLINE( 271) ::haxe::io::Bytes b3 = ::haxe::io::Bytes_obj::ofString(this->name,null());
+HXDLIN( 271) out->writeBytes(b3,0,b3->length);
}
-HXLINE( 262) out->writeByte(31);
-HXLINE( 263) out->writeByte(30);
+HXLINE( 272) out->writeByte(31);
+HXLINE( 273) out->writeByte(30);
}
diff --git a/Sources/c_borogove/src/borogove/IncrementalHash.cpp b/Sources/c_borogove/src/borogove/IncrementalHash.cpp
new file mode 100644
index 0000000..dcc3274
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/IncrementalHash.cpp
@@ -0,0 +1,165 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
+#ifndef INCLUDED_borogove_IncrementalHash
+#include <borogove/IncrementalHash.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_10b8c9f5bea17042_163_new,"borogove.IncrementalHash","new",0xf1ca8ccd,"borogove.IncrementalHash.new","borogove/Hash.hx",163,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_10b8c9f5bea17042_169_update,"borogove.IncrementalHash","update",0xef788bbc,"borogove.IncrementalHash.update","borogove/Hash.hx",169,0x70175b62)
+HX_LOCAL_STACK_FRAME(_hx_pos_10b8c9f5bea17042_173_digest,"borogove.IncrementalHash","digest",0x1d9805f7,"borogove.IncrementalHash.digest","borogove/Hash.hx",173,0x70175b62)
+namespace borogove{
+
+void IncrementalHash_obj::__construct(::String algorithm, ::Dynamic hash){
+ HX_STACKFRAME(&_hx_pos_10b8c9f5bea17042_163_new)
+HXLINE( 164) this->algorithm = algorithm;
+HXLINE( 165) this->hash = hash;
+ }
+
+Dynamic IncrementalHash_obj::__CreateEmpty() { return new IncrementalHash_obj; }
+
+void *IncrementalHash_obj::_hx_vtable = 0;
+
+Dynamic IncrementalHash_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< IncrementalHash_obj > _hx_result = new IncrementalHash_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool IncrementalHash_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x66ead3e7;
+}
+
+void IncrementalHash_obj::update(::Array< unsigned char > bytes){
+ HX_STACKFRAME(&_hx_pos_10b8c9f5bea17042_169_update)
+HXDLIN( 169) this->hash->__Field(HX_("update",09,86,05,87),::hx::paccDynamic)(::haxe::io::Bytes_obj::ofData(bytes));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(IncrementalHash_obj,update,(void))
+
+ ::borogove::Hash IncrementalHash_obj::digest(){
+ HX_GC_STACKFRAME(&_hx_pos_10b8c9f5bea17042_173_digest)
+HXDLIN( 173) ::String _hx_tmp = this->algorithm;
+HXDLIN( 173) return ::borogove::Hash_obj::__alloc( HX_CTX ,_hx_tmp,( ( ::haxe::io::Bytes)(this->hash->__Field(HX_("digest",44,00,25,b5),::hx::paccDynamic)()) )->b);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(IncrementalHash_obj,digest,return )
+
+
+::hx::ObjectPtr< IncrementalHash_obj > IncrementalHash_obj::__new(::String algorithm, ::Dynamic hash) {
+ ::hx::ObjectPtr< IncrementalHash_obj > __this = new IncrementalHash_obj();
+ __this->__construct(algorithm,hash);
+ return __this;
+}
+
+::hx::ObjectPtr< IncrementalHash_obj > IncrementalHash_obj::__alloc(::hx::Ctx *_hx_ctx,::String algorithm, ::Dynamic hash) {
+ IncrementalHash_obj *__this = (IncrementalHash_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(IncrementalHash_obj), true, "borogove.IncrementalHash"));
+ *(void **)__this = IncrementalHash_obj::_hx_vtable;
+ __this->__construct(algorithm,hash);
+ return __this;
+}
+
+IncrementalHash_obj::IncrementalHash_obj()
+{
+}
+
+void IncrementalHash_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(IncrementalHash);
+ HX_MARK_MEMBER_NAME(algorithm,"algorithm");
+ HX_MARK_MEMBER_NAME(hash,"hash");
+ HX_MARK_END_CLASS();
+}
+
+void IncrementalHash_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(algorithm,"algorithm");
+ HX_VISIT_MEMBER_NAME(hash,"hash");
+}
+
+::hx::Val IncrementalHash_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"hash") ) { return ::hx::Val( hash ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"update") ) { return ::hx::Val( update_dyn() ); }
+ if (HX_FIELD_EQ(inName,"digest") ) { return ::hx::Val( digest_dyn() ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"algorithm") ) { return ::hx::Val( algorithm ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val IncrementalHash_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"hash") ) { hash=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"algorithm") ) { algorithm=inValue.Cast< ::String >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void IncrementalHash_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("algorithm",6f,ac,ee,14));
+ outFields->push(HX_("hash",ce,2f,08,45));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo IncrementalHash_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(IncrementalHash_obj,algorithm),HX_("algorithm",6f,ac,ee,14)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(IncrementalHash_obj,hash),HX_("hash",ce,2f,08,45)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *IncrementalHash_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String IncrementalHash_obj_sMemberFields[] = {
+ HX_("algorithm",6f,ac,ee,14),
+ HX_("hash",ce,2f,08,45),
+ HX_("update",09,86,05,87),
+ HX_("digest",44,00,25,b5),
+ ::String(null()) };
+
+::hx::Class IncrementalHash_obj::__mClass;
+
+void IncrementalHash_obj::__register()
+{
+ IncrementalHash_obj _hx_dummy;
+ IncrementalHash_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.IncrementalHash",5b,22,5f,b2);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(IncrementalHash_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< IncrementalHash_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = IncrementalHash_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = IncrementalHash_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/LinkMetadata.cpp b/Sources/c_borogove/src/borogove/LinkMetadata.cpp
index 89071ad..e361687 100644
--- a/Sources/c_borogove/src/borogove/LinkMetadata.cpp
+++ b/Sources/c_borogove/src/borogove/LinkMetadata.cpp
@@ -14,31 +14,31 @@
#include <haxe/IMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_8120eb91422b3a9e_41_new,"borogove.LinkMetadata","new",0x82e81308,"borogove.LinkMetadata.new","borogove/ChatMessage.hx",41,0xe4a3cadd)
+HX_DEFINE_STACK_FRAME(_hx_pos_8120eb91422b3a9e_42_new,"borogove.LinkMetadata","new",0x82e81308,"borogove.LinkMetadata.new","borogove/ChatMessage.hx",42,0xe4a3cadd)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_478_about__fromC,"borogove.LinkMetadata","about__fromC",0x51c6de24,"borogove.LinkMetadata.about__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_478_url__fromC,"borogove.LinkMetadata","url__fromC",0xa6310342,"borogove.LinkMetadata.url__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_478_title__fromC,"borogove.LinkMetadata","title__fromC",0xb613e639,"borogove.LinkMetadata.title__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_478_description__fromC,"borogove.LinkMetadata","description__fromC",0x66c9b955,"borogove.LinkMetadata.description__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_452_image__fromC,"borogove.LinkMetadata","image__fromC",0x8215ead6,"borogove.LinkMetadata.image__fromC","HaxeCBridge.hx",452,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_e518ab4ca11f3b63_452_video__fromC,"borogove.LinkMetadata","video__fromC",0xac49d9b6,"borogove.LinkMetadata.video__fromC","HaxeCBridge.hx",452,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_8120eb91422b3a9e_32_boot,"borogove.LinkMetadata","boot",0x0041948a,"borogove.LinkMetadata.boot","borogove/ChatMessage.hx",32,0xe4a3cadd)
+HX_LOCAL_STACK_FRAME(_hx_pos_8120eb91422b3a9e_33_boot,"borogove.LinkMetadata","boot",0x0041948a,"borogove.LinkMetadata.boot","borogove/ChatMessage.hx",33,0xe4a3cadd)
namespace borogove{
void LinkMetadata_obj::__construct(::String about,::String url,::String title,::String description,::Array< ::String > image,::Array< ::String > video){
- HX_STACKFRAME(&_hx_pos_8120eb91422b3a9e_41_new)
-HXLINE( 42) this->about = about;
-HXLINE( 43) ::String _hx_tmp;
-HXDLIN( 43) if (::hx::IsNotNull( url )) {
-HXLINE( 43) _hx_tmp = url;
+ HX_STACKFRAME(&_hx_pos_8120eb91422b3a9e_42_new)
+HXLINE( 43) this->about = about;
+HXLINE( 44) ::String _hx_tmp;
+HXDLIN( 44) if (::hx::IsNotNull( url )) {
+HXLINE( 44) _hx_tmp = url;
}
else {
-HXLINE( 43) _hx_tmp = about;
+HXLINE( 44) _hx_tmp = about;
}
-HXDLIN( 43) this->url = _hx_tmp;
-HXLINE( 44) this->title = title;
-HXLINE( 45) this->description = description;
-HXLINE( 46) this->image = image;
-HXLINE( 47) this->video = video;
+HXDLIN( 44) this->url = _hx_tmp;
+HXLINE( 45) this->title = title;
+HXLINE( 46) this->description = description;
+HXLINE( 47) this->image = image;
+HXLINE( 48) this->video = video;
}
Dynamic LinkMetadata_obj::__CreateEmpty() { return new LinkMetadata_obj; }
@@ -108,7 +108,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
HXDLIN( 452) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),el));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
@@ -127,7 +127,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
HXDLIN( 452) if (::hx::IsNull( store1 )) {
-HXLINE(2390) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),arr));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
@@ -162,7 +162,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
HXDLIN( 452) if (::hx::IsNull( store )) {
-HXLINE(2390) store = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),el));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
@@ -181,7 +181,7 @@ HXDLIN( 452) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
HXDLIN( 452) {
HXDLIN( 452) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
HXDLIN( 452) if (::hx::IsNull( store1 )) {
-HXLINE(2390) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(2391) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("refCount",7c,2e,66,86),1)
->setFixed(1,HX_("value",71,7f,b8,31),arr));
HXLINE( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
@@ -347,8 +347,8 @@ void LinkMetadata_obj::__register()
void LinkMetadata_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_8120eb91422b3a9e_32_boot)
-HXDLIN( 32) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_8120eb91422b3a9e_33_boot)
+HXDLIN( 33) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(6)
->setFixed(0,HX_("image__fromC",7e,c2,63,93), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
diff --git a/Sources/c_borogove/src/borogove/Member.cpp b/Sources/c_borogove/src/borogove/Member.cpp
index 03d4dd9..cf9d579 100644
--- a/Sources/c_borogove/src/borogove/Member.cpp
+++ b/Sources/c_borogove/src/borogove/Member.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -65,7 +62,7 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_403768415749ca4b_65_new,"borogove.Member","new",0xaa333499,"borogove.Member.new","borogove/Member.hx",65,0x7e7898d6)
+HX_DEFINE_STACK_FRAME(_hx_pos_403768415749ca4b_70_new,"borogove.Member","new",0xaa333499,"borogove.Member.new","borogove/Member.hx",70,0x7e7898d6)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_id__fromC,"borogove.Member","id__fromC",0xcd6eeaf7,"borogove.Member.id__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_displayName__fromC,"borogove.Member","displayName__fromC",0x95afe253,"borogove.Member.displayName__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_photoUri__fromC,"borogove.Member","photoUri__fromC",0x123d7f98,"borogove.Member.photoUri__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -74,121 +71,123 @@ HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_isSelf__fromC,"borogove.Member
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_chat__fromC,"borogove.Member","chat__fromC",0xa328e1da,"borogove.Member.chat__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_452_roles__fromC,"borogove.Member","roles__fromC",0x2c96d283,"borogove.Member.roles__fromC","HaxeCBridge.hx",452,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_478_showPresence__fromC,"borogove.Member","showPresence__fromC",0x7575295a,"borogove.Member.showPresence__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_95_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",95,0x7e7898d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_93_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",93,0x7e7898d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_92_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",92,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_100_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",100,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_98_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",98,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_97_profile,"borogove.Member","profile",0x5c81bde2,"borogove.Member.profile","borogove/Member.hx",97,0x7e7898d6)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_365_profile__fromC,"borogove.Member","profile__fromC",0xd35512d7,"borogove.Member.profile__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_117_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",117,0x7e7898d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_115_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",115,0x7e7898d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_114_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",114,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_122_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",122,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_120_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",120,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_119_status,"borogove.Member","status",0xd0802c99,"borogove.Member.status","borogove/Member.hx",119,0x7e7898d6)
HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_365_status__fromC,"borogove.Member","status__fromC",0x8b2ff900,"borogove.Member.status__fromC","HaxeCBridge.hx",365,0xa18550d8)
+HX_LOCAL_STACK_FRAME(_hx_pos_de8dc97d744cad10_426_MODERATED__fromC,"borogove.Member","MODERATED__fromC",0x27960b9f,"borogove.Member.MODERATED__fromC","HaxeCBridge.hx",426,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_20_boot,"borogove.Member","boot",0x3ab3d1d9,"borogove.Member.boot","borogove/Member.hx",20,0x7e7898d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_403768415749ca4b_24_boot,"borogove.Member","boot",0x3ab3d1d9,"borogove.Member.boot","borogove/Member.hx",24,0x7e7898d6)
namespace borogove{
void Member_obj::__construct(::String id,::String displayName,::String photoUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::haxe::ds::StringMap presence, ::borogove::AvailableChat chat){
- HX_STACKFRAME(&_hx_pos_403768415749ca4b_65_new)
-HXLINE( 66) this->id = id;
-HXLINE( 67) this->displayName = displayName;
-HXLINE( 68) this->photoUri = photoUri;
-HXLINE( 69) this->placeholderUri = ::borogove::Color_obj::defaultPhoto(id,displayName.charAt(0).toUpperCase());
-HXLINE( 70) this->isSelf = isSelf;
-HXLINE( 71) this->roles = roles;
-HXLINE( 72) this->jid = jid;
-HXLINE( 73) this->presence = presence;
-HXLINE( 74) this->chat = chat;
-HXLINE( 75) int lowestShow = 4;
-HXLINE( 76) int highestPrio = -100000;
-HXLINE( 77) {
-HXLINE( 77) ::Dynamic map = presence;
-HXDLIN( 77) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 77) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 77) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(map,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) );
-HXLINE( 78) ::String tmp = _g_value->getChildText(HX_("priority",64,7b,3e,bb),null());
-HXDLIN( 78) ::String tmp1;
-HXDLIN( 78) if (::hx::IsNotNull( tmp )) {
-HXLINE( 78) tmp1 = tmp;
+ HX_STACKFRAME(&_hx_pos_403768415749ca4b_70_new)
+HXLINE( 71) this->id = id;
+HXLINE( 72) this->displayName = displayName;
+HXLINE( 73) this->photoUri = photoUri;
+HXLINE( 74) this->placeholderUri = ::borogove::Color_obj::defaultPhoto(id,displayName.charAt(0).toUpperCase());
+HXLINE( 75) this->isSelf = isSelf;
+HXLINE( 76) this->roles = roles;
+HXLINE( 77) this->jid = jid;
+HXLINE( 78) this->presence = presence;
+HXLINE( 79) this->chat = chat;
+HXLINE( 80) int lowestShow = 4;
+HXLINE( 81) int highestPrio = -100000;
+HXLINE( 82) {
+HXLINE( 82) ::Dynamic map = presence;
+HXDLIN( 82) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 82) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 82) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(map,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) );
+HXLINE( 83) ::String tmp = _g_value->getChildText(HX_("priority",64,7b,3e,bb),null());
+HXDLIN( 83) ::String tmp1;
+HXDLIN( 83) if (::hx::IsNotNull( tmp )) {
+HXLINE( 83) tmp1 = tmp;
}
else {
-HXLINE( 78) tmp1 = HX_("0",30,00,00,00);
+HXLINE( 83) tmp1 = HX_("0",30,00,00,00);
}
-HXDLIN( 78) ::Dynamic tmp2 = ::Std_obj::parseInt(tmp1);
-HXDLIN( 78) int _hx_tmp;
-HXDLIN( 78) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 78) _hx_tmp = ( (int)(tmp2) );
+HXDLIN( 83) ::Dynamic tmp2 = ::Std_obj::parseInt(tmp1);
+HXDLIN( 83) int _hx_tmp;
+HXDLIN( 83) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 83) _hx_tmp = ( (int)(tmp2) );
}
else {
-HXLINE( 78) _hx_tmp = 0;
+HXLINE( 83) _hx_tmp = 0;
}
-HXDLIN( 78) if ((_hx_tmp >= highestPrio)) {
-HXLINE( 79) ::String tmp3 = _g_value->getChildText(HX_("priority",64,7b,3e,bb),null());
-HXDLIN( 79) ::String tmp4;
-HXDLIN( 79) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 79) tmp4 = tmp3;
+HXDLIN( 83) if ((_hx_tmp >= highestPrio)) {
+HXLINE( 84) ::String tmp3 = _g_value->getChildText(HX_("priority",64,7b,3e,bb),null());
+HXDLIN( 84) ::String tmp4;
+HXDLIN( 84) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 84) tmp4 = tmp3;
}
else {
-HXLINE( 79) tmp4 = HX_("0",30,00,00,00);
+HXLINE( 84) tmp4 = HX_("0",30,00,00,00);
}
-HXDLIN( 79) ::Dynamic tmp5 = ::Std_obj::parseInt(tmp4);
-HXDLIN( 79) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 79) highestPrio = ( (int)(tmp5) );
+HXDLIN( 84) ::Dynamic tmp5 = ::Std_obj::parseInt(tmp4);
+HXDLIN( 84) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 84) highestPrio = ( (int)(tmp5) );
}
else {
-HXLINE( 79) highestPrio = 0;
+HXLINE( 84) highestPrio = 0;
}
-HXLINE( 80) int _hx_tmp1;
-HXDLIN( 80) if ((( (::String)(::Reflect_obj::field(_g_value->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
-HXLINE( 80) _hx_tmp1 = 4;
+HXLINE( 85) int _hx_tmp1;
+HXDLIN( 85) if (::hx::IsEq( _g_value->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
+HXLINE( 85) _hx_tmp1 = 4;
}
else {
-HXLINE( 80) ::String _g = _g_value->getChildText(HX_("show",fd,d4,52,4c),null());
-HXDLIN( 80) if (::hx::IsNull( _g )) {
-HXLINE( 80) _hx_tmp1 = 0;
+HXLINE( 85) ::String _g = _g_value->getChildText(HX_("show",fd,d4,52,4c),null());
+HXDLIN( 85) if (::hx::IsNull( _g )) {
+HXLINE( 85) _hx_tmp1 = 0;
}
else {
-HXLINE( 80) ::String _hx_switch_0 = _g;
+HXLINE( 85) ::String _hx_switch_0 = _g;
if ( (_hx_switch_0==HX_("away",6e,53,78,40)) ){
-HXLINE( 80) _hx_tmp1 = 1;
-HXDLIN( 80) goto _hx_goto_1;
+HXLINE( 85) _hx_tmp1 = 1;
+HXDLIN( 85) goto _hx_goto_1;
}
if ( (_hx_switch_0==HX_("dnd",9a,41,4c,00)) ){
-HXLINE( 80) _hx_tmp1 = 2;
-HXDLIN( 80) goto _hx_goto_1;
+HXLINE( 85) _hx_tmp1 = 2;
+HXDLIN( 85) goto _hx_goto_1;
}
if ( (_hx_switch_0==HX_("xa",e9,68,00,00)) ){
-HXLINE( 80) _hx_tmp1 = 3;
-HXDLIN( 80) goto _hx_goto_1;
+HXLINE( 85) _hx_tmp1 = 3;
+HXDLIN( 85) goto _hx_goto_1;
}
/* default */{
-HXLINE( 80) _hx_tmp1 = 0;
+HXLINE( 85) _hx_tmp1 = 0;
}
_hx_goto_1:;
}
}
-HXDLIN( 80) if ((lowestShow > _hx_tmp1)) {
-HXLINE( 80) if ((( (::String)(::Reflect_obj::field(_g_value->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
-HXLINE( 80) lowestShow = 4;
+HXDLIN( 85) if ((lowestShow > _hx_tmp1)) {
+HXLINE( 85) if (::hx::IsEq( _g_value->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
+HXLINE( 85) lowestShow = 4;
}
else {
-HXLINE( 80) ::String _g1 = _g_value->getChildText(HX_("show",fd,d4,52,4c),null());
-HXDLIN( 80) if (::hx::IsNull( _g1 )) {
-HXLINE( 80) lowestShow = 0;
+HXLINE( 85) ::String _g1 = _g_value->getChildText(HX_("show",fd,d4,52,4c),null());
+HXDLIN( 85) if (::hx::IsNull( _g1 )) {
+HXLINE( 85) lowestShow = 0;
}
else {
-HXLINE( 80) ::String _hx_switch_1 = _g1;
+HXLINE( 85) ::String _hx_switch_1 = _g1;
if ( (_hx_switch_1==HX_("away",6e,53,78,40)) ){
-HXLINE( 80) lowestShow = 1;
-HXDLIN( 80) goto _hx_goto_2;
+HXLINE( 85) lowestShow = 1;
+HXDLIN( 85) goto _hx_goto_2;
}
if ( (_hx_switch_1==HX_("dnd",9a,41,4c,00)) ){
-HXLINE( 80) lowestShow = 2;
-HXDLIN( 80) goto _hx_goto_2;
+HXLINE( 85) lowestShow = 2;
+HXDLIN( 85) goto _hx_goto_2;
}
if ( (_hx_switch_1==HX_("xa",e9,68,00,00)) ){
-HXLINE( 80) lowestShow = 3;
-HXDLIN( 80) goto _hx_goto_2;
+HXLINE( 85) lowestShow = 3;
+HXDLIN( 85) goto _hx_goto_2;
}
/* default */{
-HXLINE( 80) lowestShow = 0;
+HXLINE( 85) lowestShow = 0;
}
_hx_goto_2:;
}
@@ -197,7 +196,7 @@ HXLINE( 80) lowestShow = 0;
}
}
}
-HXLINE( 83) this->showPresence = lowestShow;
+HXLINE( 88) this->showPresence = lowestShow;
}
Dynamic Member_obj::__CreateEmpty() { return new Member_obj; }
@@ -326,41 +325,41 @@ HX_DEFINE_DYNAMIC_FUNC0(Member_obj,showPresence__fromC,return )
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Member,_gthis, ::Dynamic,resolve, ::borogove::queries::PubsubGet,get) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_95_profile)
-HXLINE( 96) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 97) ::borogove::Stanza fromItem;
-HXDLIN( 97) if (::hx::IsNotNull( item )) {
-HXLINE( 97) fromItem = item->getChild(HX_("vcard",46,91,02,33),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21));
+ HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_100_profile)
+HXLINE( 101) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 102) ::borogove::Stanza fromItem;
+HXDLIN( 102) if (::hx::IsNotNull( item )) {
+HXLINE( 102) fromItem = item->getChild(HX_("vcard",46,91,02,33),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21));
}
else {
-HXLINE( 97) fromItem = null();
+HXLINE( 102) fromItem = null();
}
-HXLINE( 98) ::borogove::Stanza vcard;
-HXDLIN( 98) if (::hx::IsNull( fromItem )) {
-HXLINE( 98) vcard = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("vcard",46,91,02,33), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21))));
+HXLINE( 103) ::borogove::Stanza vcard;
+HXDLIN( 103) if (::hx::IsNull( fromItem )) {
+HXLINE( 103) vcard = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("vcard",46,91,02,33), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21))),null());
}
else {
-HXLINE( 98) vcard = fromItem;
+HXLINE( 103) vcard = fromItem;
}
-HXLINE( 99) if (!(vcard->hasChild(HX_("fn",48,59,00,00),null()))) {
-HXLINE( 100) vcard->insertChild(0, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("fn",48,59,00,00),null())->textTag(HX_("text",ad,cc,f9,4c),_gthis->displayName,null()));
+HXLINE( 104) if (!(vcard->hasChild(HX_("fn",48,59,00,00),null()))) {
+HXLINE( 105) vcard->insertChild(0, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("fn",48,59,00,00),null(),null())->textTag(HX_("text",ad,cc,f9,4c),_gthis->displayName,null(),null()));
}
-HXLINE( 102) ::Dynamic resolve1 = resolve;
-HXDLIN( 102) resolve1( ::borogove::Profile_obj::__alloc( HX_CTX ,vcard,null()));
+HXLINE( 107) ::Dynamic resolve1 = resolve;
+HXDLIN( 107) resolve1( ::borogove::Profile_obj::__alloc( HX_CTX ,vcard,null()));
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_93_profile)
-HXLINE( 94) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("urn:xmpp:vcard4",4a,89,04,19),null());
-HXLINE( 95) get->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,get)));
-HXLINE( 104) client->sendQuery(get);
+ HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_98_profile)
+HXLINE( 99) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("urn:xmpp:vcard4",4a,89,04,19),null());
+HXLINE( 100) get->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,get)));
+HXLINE( 109) client->sendQuery(get);
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_403768415749ca4b_92_profile)
-HXDLIN( 92) ::borogove::Member _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 93) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
+ HX_STACKFRAME(&_hx_pos_403768415749ca4b_97_profile)
+HXDLIN( 97) ::borogove::Member _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 98) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
}
@@ -412,65 +411,65 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->profile(clien
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve, ::borogove::queries::PubsubGet,get) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_117_status)
-HXLINE( 118) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 120) ::borogove::Stanza activity;
-HXDLIN( 120) if (::hx::IsNotNull( item )) {
-HXLINE( 120) activity = item->getChild(HX_("activity",cf,2d,b2,e5),HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
+ HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_122_status)
+HXLINE( 123) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 125) ::borogove::Stanza activity;
+HXDLIN( 125) if (::hx::IsNotNull( item )) {
+HXLINE( 125) activity = item->getChild(HX_("activity",cf,2d,b2,e5),HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
}
else {
-HXLINE( 120) activity = null();
+HXLINE( 125) activity = null();
}
-HXLINE( 121) ::Dynamic resolve1 = resolve;
-HXDLIN( 121) ::String _hx_tmp;
-HXDLIN( 121) ::borogove::Stanza tmp;
-HXDLIN( 121) if (::hx::IsNotNull( activity )) {
-HXLINE( 121) tmp = activity->getChild(HX_("undefined",90,3e,0a,9d),null());
+HXLINE( 126) ::Dynamic resolve1 = resolve;
+HXDLIN( 126) ::String _hx_tmp;
+HXDLIN( 126) ::borogove::Stanza tmp;
+HXDLIN( 126) if (::hx::IsNotNull( activity )) {
+HXLINE( 126) tmp = activity->getChild(HX_("undefined",90,3e,0a,9d),null());
}
else {
-HXLINE( 121) tmp = null();
+HXLINE( 126) tmp = null();
}
-HXDLIN( 121) ::String tmp1;
-HXDLIN( 121) if (::hx::IsNotNull( tmp )) {
-HXLINE( 121) tmp1 = tmp->getChildText(HX_("emoji",86,6f,d9,6f),HX_("https://ns.borogove.dev/",0d,36,29,bd));
+HXDLIN( 126) ::String tmp1;
+HXDLIN( 126) if (::hx::IsNotNull( tmp )) {
+HXLINE( 126) tmp1 = tmp->getChildText(HX_("emoji",86,6f,d9,6f),HX_("https://ns.borogove.dev/",0d,36,29,bd));
}
else {
-HXLINE( 121) tmp1 = null();
+HXLINE( 126) tmp1 = null();
}
-HXDLIN( 121) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 121) _hx_tmp = tmp1;
+HXDLIN( 126) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 126) _hx_tmp = tmp1;
}
else {
-HXLINE( 121) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 126) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 121) ::String tmp2;
-HXDLIN( 121) if (::hx::IsNotNull( activity )) {
-HXLINE( 121) tmp2 = activity->getChildText(HX_("text",ad,cc,f9,4c),null());
+HXDLIN( 126) ::String tmp2;
+HXDLIN( 126) if (::hx::IsNotNull( activity )) {
+HXLINE( 126) tmp2 = activity->getChildText(HX_("text",ad,cc,f9,4c),null());
}
else {
-HXLINE( 121) tmp2 = null();
+HXLINE( 126) tmp2 = null();
}
-HXDLIN( 121) ::String _hx_tmp1;
-HXDLIN( 121) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 121) _hx_tmp1 = tmp2;
+HXDLIN( 126) ::String _hx_tmp1;
+HXDLIN( 126) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 126) _hx_tmp1 = tmp2;
}
else {
-HXLINE( 121) _hx_tmp1 = HX_("",00,00,00,00);
+HXLINE( 126) _hx_tmp1 = HX_("",00,00,00,00);
}
-HXDLIN( 121) resolve1( ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1));
+HXDLIN( 126) resolve1( ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1));
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_115_status)
-HXLINE( 116) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("http://jabber.org/protocol/activity",43,2c,6e,94),null());
-HXLINE( 117) get->onFinished( ::Dynamic(new _hx_Closure_0(resolve,get)));
-HXLINE( 123) client->sendQuery(get);
+ HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_120_status)
+HXLINE( 121) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("http://jabber.org/protocol/activity",43,2c,6e,94),null());
+HXLINE( 122) get->onFinished( ::Dynamic(new _hx_Closure_0(resolve,get)));
+HXLINE( 128) client->sendQuery(get);
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_403768415749ca4b_114_status)
-HXDLIN( 114) ::borogove::Member _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 115) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
+ HX_STACKFRAME(&_hx_pos_403768415749ca4b_119_status)
+HXDLIN( 119) ::borogove::Member _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 120) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
}
@@ -517,6 +516,16 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->status(client
}
+ ::borogove::Member Member_obj::MODERATED;
+
+ ::borogove::Member Member_obj::MODERATED__fromC(){
+ HX_STACKFRAME(&_hx_pos_de8dc97d744cad10_426_MODERATED__fromC)
+HXDLIN( 426) return ::borogove::Member_obj::MODERATED;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC0(Member_obj,MODERATED__fromC,return )
+
::hx::ObjectPtr< Member_obj > Member_obj::__new(::String id,::String displayName,::String photoUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::haxe::ds::StringMap presence, ::borogove::AvailableChat chat) {
::hx::ObjectPtr< Member_obj > __this = new Member_obj();
@@ -622,6 +631,18 @@ void Member_obj::__Visit(HX_VISIT_PARAMS)
return super::__Field(inName,inCallProp);
}
+bool Member_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 9:
+ if (HX_FIELD_EQ(inName,"MODERATED") ) { outValue = ( MODERATED ); return true; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"MODERATED__fromC") ) { outValue = MODERATED__fromC_dyn(); return true; }
+ }
+ return false;
+}
+
::hx::Val Member_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
@@ -656,6 +677,15 @@ void Member_obj::__Visit(HX_VISIT_PARAMS)
return super::__SetField(inName,inValue,inCallProp);
}
+bool Member_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 9:
+ if (HX_FIELD_EQ(inName,"MODERATED") ) { MODERATED=ioValue.Cast< ::borogove::Member >(); return true; }
+ }
+ return false;
+}
+
void Member_obj::__GetFields(Array< ::String> &outFields)
{
outFields->push(HX_("id",db,5b,00,00));
@@ -685,7 +715,10 @@ static ::hx::StorageInfo Member_obj_sMemberStorageInfo[] = {
{::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(Member_obj,jid),HX_("jid",c5,ca,50,00)},
{ ::hx::fsUnknown, 0, null()}
};
-static ::hx::StaticInfo *Member_obj_sStaticStorageInfo = 0;
+static ::hx::StaticInfo Member_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Member */ ,(void *) &Member_obj::MODERATED,HX_("MODERATED",21,a7,93,1d)},
+ { ::hx::fsUnknown, 0, null()}
+};
#endif
static ::String Member_obj_sMemberFields[] = {
@@ -710,8 +743,25 @@ static ::String Member_obj_sMemberFields[] = {
HX_("status",32,e7,fb,05),
::String(null()) };
+static void Member_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(Member_obj::MODERATED,"MODERATED");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void Member_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(Member_obj::MODERATED,"MODERATED");
+};
+
+#endif
+
::hx::Class Member_obj::__mClass;
+static ::String Member_obj_sStaticFields[] = {
+ HX_("MODERATED",21,a7,93,1d),
+ HX_("MODERATED__fromC",78,5f,ac,c3),
+ ::String(null())
+};
+
void Member_obj::__register()
{
Member_obj _hx_dummy;
@@ -721,11 +771,15 @@ void Member_obj::__register()
__mClass->mSuper = &super::__SGetClass();
__mClass->mConstructEmpty = &__CreateEmpty;
__mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mGetStaticField = &Member_obj::__GetStatic;
+ __mClass->mSetStaticField = &Member_obj::__SetStatic;
+ __mClass->mMarkFunc = Member_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Member_obj_sStaticFields);
__mClass->mMembers = ::hx::Class_obj::dupFunctions(Member_obj_sMemberFields);
__mClass->mCanCast = ::hx::TCanCast< Member_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = Member_obj_sVisitStatics;
+#endif
#ifdef HXCPP_SCRIPTABLE
__mClass->mMemberStorageInfo = Member_obj_sMemberStorageInfo;
#endif
@@ -739,7 +793,7 @@ void Member_obj::__boot()
{
{
HX_STACKFRAME(&_hx_pos_403768415749ca4b_20_boot)
-HXDLIN( 20) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+HXDLIN( 20) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(12)
->setFixed(0,HX_("placeholderUri__fromC",e0,2f,a3,85), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
@@ -764,8 +818,15 @@ HXDLIN( 20) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(10,HX_("id__fromC",fe,15,a5,4d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
->setFixed(11,HX_("showPresence__fromC",21,03,44,77), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))))
+ ->setFixed(1,HX_("statics",05,3c,65,36), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("MODERATED__fromC",78,5f,ac,c3), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
}
+{
+ HX_GC_STACKFRAME(&_hx_pos_403768415749ca4b_24_boot)
+HXDLIN( 24) MODERATED = ::borogove::Member_obj::__alloc( HX_CTX ,HX_("\x00""moderated",41,37,3b,22),HX_("Moderated",21,17,0e,c4),null(),false,::Array_obj< ::Dynamic>::__new(0), ::borogove::JID_obj::__alloc( HX_CTX ,null(),HX_("moderated.invalid",ca,3c,6e,44),null(),null()), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ),null());
+ }
}
} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/MemberUpdate.cpp b/Sources/c_borogove/src/borogove/MemberUpdate.cpp
index cfeadb6..afca27e 100644
--- a/Sources/c_borogove/src/borogove/MemberUpdate.cpp
+++ b/Sources/c_borogove/src/borogove/MemberUpdate.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_AvailableChat
#include <borogove/AvailableChat.h>
#endif
@@ -316,7 +313,7 @@ HXLINE( 58) _hx_tmp15 = null();
}
else {
HXLINE( 58) ::String _hx_tmp16 = this->jid->asBare()->asString();
-HXDLIN( 58) _hx_tmp15 = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,_hx_tmp16,this->displayName,HX_("",00,00,00,00),::borogove::CapsRepo_obj::empty);
+HXDLIN( 58) _hx_tmp15 = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,_hx_tmp16,this->displayName,HX_("",00,00,00,00),::borogove::CapsRepo_obj::empty,null());
}
HXLINE( 50) return ::Dynamic(::hx::Anon_obj::Create(8)
->setFixed(0,HX_("roles",3d,1c,5f,ed),_hx_tmp13)
@@ -338,7 +335,7 @@ HXLINE( 63) ::Array< ::Dynamic> updates = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 64) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
HXLINE( 65) if (::hx::IsNotNull( mucUser )) {
HXLINE( 66) ::borogove::Stanza tmp = stanza->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN( 66) ::Dynamic tmp1;
+HXDLIN( 66) ::haxe::ds::StringMap tmp1;
HXDLIN( 66) if (::hx::IsNotNull( tmp )) {
HXLINE( 66) tmp1 = tmp->attr;
}
@@ -347,12 +344,12 @@ HXLINE( 66) tmp1 = null();
}
HXDLIN( 66) ::String sOccupantId;
HXDLIN( 66) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 66) sOccupantId = ( (::String)(::Reflect_obj::field(tmp1,HX_("id",db,5b,00,00))) );
+HXLINE( 66) sOccupantId = tmp1->get_string(HX_("id",db,5b,00,00));
}
else {
HXLINE( 66) sOccupantId = null();
}
-HXLINE( 67) ::String from = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
+HXLINE( 67) ::String from = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
HXLINE( 68) ::String resource;
HXDLIN( 68) bool resource1;
HXDLIN( 68) if ((stanza->name == HX_("presence",3b,52,d7,66))) {
@@ -374,7 +371,7 @@ HXDLIN( 70) ::Array< ::Dynamic> _g1 = mucUser->allTags(HX_("item",13,c5,bf,4
HXDLIN( 70) while((_g < _g1->length)){
HXLINE( 70) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
HXDLIN( 70) _g = (_g + 1);
-HXLINE( 71) ::String jidS = ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 71) ::String jidS = item->attr->get_string(HX_("jid",c5,ca,50,00));
HXLINE( 72) ::borogove::JID jid;
HXDLIN( 72) if (::hx::IsNull( jidS )) {
HXLINE( 72) jid = null();
@@ -384,7 +381,7 @@ HXLINE( 72) jid = ::borogove::JID_obj::parse(jidS)->asBare();
}
HXLINE( 73) ::String occupantId;
HXDLIN( 73) ::borogove::Stanza tmp2 = item->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN( 73) ::Dynamic tmp3;
+HXDLIN( 73) ::haxe::ds::StringMap tmp3;
HXDLIN( 73) if (::hx::IsNotNull( tmp2 )) {
HXLINE( 73) tmp3 = tmp2->attr;
}
@@ -393,7 +390,7 @@ HXLINE( 73) tmp3 = null();
}
HXDLIN( 73) ::String tmp4;
HXDLIN( 73) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 73) tmp4 = ( (::String)(::Reflect_obj::field(tmp3,HX_("id",db,5b,00,00))) );
+HXLINE( 73) tmp4 = tmp3->get_string(HX_("id",db,5b,00,00));
}
else {
HXLINE( 73) tmp4 = null();
@@ -411,7 +408,7 @@ HXLINE( 74) id = null();
else {
HXLINE( 74) id = ((chat->chatId + HX_("/",2f,00,00,00)) + occupantId);
}
-HXLINE( 75) ::String aff = ( (::String)(::Reflect_obj::field(item->attr,HX_("affiliation",b0,1a,35,a1))) );
+HXLINE( 75) ::String aff = item->attr->get_string(HX_("affiliation",b0,1a,35,a1));
HXLINE( 76) if (::hx::IsNull( aff )) {
HXLINE( 77) ::haxe::Log_obj::trace(HX_("No affiliation on affiliation update",eb,38,ac,49), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.MemberUpdate",90,05,db,c2))
@@ -422,7 +419,7 @@ HXLINE( 77) ::haxe::Log_obj::trace(HX_("No affiliation on affiliation upda
}
else {
HXLINE( 82) ::String _hx_tmp;
-HXDLIN( 82) ::String tmp5 = ( (::String)(::Reflect_obj::field(item->attr,HX_("nick",a3,7b,05,49))) );
+HXDLIN( 82) ::String tmp5 = item->attr->get_string(HX_("nick",a3,7b,05,49));
HXDLIN( 82) if (::hx::IsNotNull( tmp5 )) {
HXLINE( 82) _hx_tmp = tmp5;
}
diff --git a/Sources/c_borogove/src/borogove/Message.cpp b/Sources/c_borogove/src/borogove/Message.cpp
index 91037e2..e2e1f88 100644
--- a/Sources/c_borogove/src/borogove/Message.cpp
+++ b/Sources/c_borogove/src/borogove/Message.cpp
@@ -61,6 +61,15 @@
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
+#include <borogove/_DataForm/DataForm_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove__DataForm_Field_Impl_
+#include <borogove/_DataForm/Field_Impl_.h>
+#endif
+#ifndef INCLUDED_borogove__XEP0454_XEP0454_Fields_
+#include <borogove/_XEP0454/XEP0454_Fields_.h>
+#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
@@ -71,25 +80,25 @@
#include <haxe/ds/StringMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_5c42425238de6f01_54_new,"borogove.Message","new",0x751d0d4c,"borogove.Message.new","borogove/Message.hx",54,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_62_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",62,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_191_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",191,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_192_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",192,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_193_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",193,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_194_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",194,0x7a818ae5)
-HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_203_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",203,0x7a818ae5)
+HX_DEFINE_STACK_FRAME(_hx_pos_5c42425238de6f01_55_new,"borogove.Message","new",0x751d0d4c,"borogove.Message.new","borogove/Message.hx",55,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_63_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",63,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_206_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",206,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_207_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",207,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_208_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",208,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_209_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",209,0x7a818ae5)
+HX_LOCAL_STACK_FRAME(_hx_pos_5c42425238de6f01_218_fromStanza,"borogove.Message","fromStanza",0x7cd2db93,"borogove.Message.fromStanza","borogove/Message.hx",218,0x7a818ae5)
namespace borogove{
void Message_obj::__construct(::String chatId,::String senderId,::String threadId, ::borogove::MessageStanza parsed, ::borogove::EncryptionInfo encryption){
- HX_STACKFRAME(&_hx_pos_5c42425238de6f01_54_new)
-HXLINE( 55) this->chatId = chatId;
-HXLINE( 56) if (::hx::IsNull( senderId )) {
-HXLINE( 56) HX_STACK_DO_THROW(HX_("no sender id",c7,72,2e,ca));
+ HX_STACKFRAME(&_hx_pos_5c42425238de6f01_55_new)
+HXLINE( 56) this->chatId = chatId;
+HXLINE( 57) if (::hx::IsNull( senderId )) {
+HXLINE( 57) HX_STACK_DO_THROW(HX_("no sender id",c7,72,2e,ca));
}
-HXDLIN( 56) this->senderId = senderId;
-HXLINE( 57) this->threadId = threadId;
-HXLINE( 58) this->parsed = parsed;
-HXLINE( 59) this->encryption = encryption;
+HXDLIN( 57) this->senderId = senderId;
+HXLINE( 58) this->threadId = threadId;
+HXLINE( 59) this->parsed = parsed;
+HXLINE( 60) this->encryption = encryption;
}
Dynamic Message_obj::__CreateEmpty() { return new Message_obj; }
@@ -109,395 +118,475 @@ bool Message_obj::_hx_isInstanceOf(int inClassId) {
::borogove::Message Message_obj::fromStanza( ::borogove::Stanza stanza, ::borogove::JID localJid, ::Dynamic addContext, ::borogove::EncryptionInfo encryptionInfo,::hx::Null< bool > __o_preferChatMessage){
bool preferChatMessage = __o_preferChatMessage.Default(false);
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_62_fromStanza)
-HXDLIN( 62) while(true){
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_63_fromStanza)
+HXDLIN( 63) while(true){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::ds::StringMap,recipients) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_191_fromStanza)
-HXLINE( 191) return recipients->keys();
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_206_fromStanza)
+HXLINE( 206) return recipients->keys();
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
int _hx_run( ::borogove::JID x, ::borogove::JID y){
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_192_fromStanza)
-HXLINE( 192) ::String _hx_tmp = x->asString();
-HXDLIN( 192) return ::Reflect_obj::compare(_hx_tmp,y->asString());
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_207_fromStanza)
+HXLINE( 207) ::String _hx_tmp = x->asString();
+HXDLIN( 207) return ::Reflect_obj::compare(_hx_tmp,y->asString());
}
HX_END_LOCAL_FUNC2(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::haxe::ds::StringMap,replyTo) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_193_fromStanza)
-HXLINE( 193) return replyTo->keys();
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_208_fromStanza)
+HXLINE( 208) return replyTo->keys();
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(2)
int _hx_run( ::borogove::JID x, ::borogove::JID y){
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_194_fromStanza)
-HXLINE( 194) ::String _hx_tmp = x->asString();
-HXDLIN( 194) return ::Reflect_obj::compare(_hx_tmp,y->asString());
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_209_fromStanza)
+HXLINE( 209) ::String _hx_tmp = x->asString();
+HXDLIN( 209) return ::Reflect_obj::compare(_hx_tmp,y->asString());
}
HX_END_LOCAL_FUNC2(return)
-HXLINE( 63) ::String fromAttr = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXLINE( 64) ::String from;
-HXDLIN( 64) if (::hx::IsNull( fromAttr )) {
-HXLINE( 64) from = localJid->domain;
+HXLINE( 64) ::String fromAttr = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXLINE( 65) ::String from;
+HXDLIN( 65) if (::hx::IsNull( fromAttr )) {
+HXLINE( 65) from = localJid->domain;
}
else {
-HXLINE( 64) from = fromAttr;
- }
-HXLINE( 65) ::String localId = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 66) if (::hx::IsNull( encryptionInfo )) {
-HXLINE( 67) encryptionInfo = ::borogove::EncryptionInfo_obj::fromStanza(stanza);
- }
-HXLINE( 70) if ((( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 71) return ::borogove::Message_obj::__alloc( HX_CTX ,from,from,null(),::borogove::MessageStanza_obj::ErrorMessageStanza(localId,stanza),encryptionInfo);
- }
-HXLINE( 74) ::borogove::ChatMessageBuilder msg = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 75) msg->stanza = stanza;
-HXLINE( 76) msg->timestamp = stanza->findText(HX_("{urn:xmpp:delay}delay@stamp",cb,88,c4,86));
-HXLINE( 77) msg->threadId = stanza->getChildText(HX_("thread",ca,7a,b9,8e),null());
-HXLINE( 78) msg->lang = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xml:lang",f1,b1,be,5f))) );
-HXLINE( 79) msg->text = stanza->getChildText(HX_("body",a2,7a,1b,41),null());
-HXLINE( 80) bool _hx_tmp;
-HXDLIN( 80) if (::hx::IsNotNull( msg->text )) {
-HXLINE( 80) if (::hx::IsNotNull( msg->lang )) {
-HXLINE( 80) _hx_tmp = (msg->lang == HX_("",00,00,00,00));
+HXLINE( 65) from = fromAttr;
+ }
+HXLINE( 66) ::String localId = stanza->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 67) if (::hx::IsNull( encryptionInfo )) {
+HXLINE( 68) encryptionInfo = ::borogove::EncryptionInfo_obj::fromStanza(stanza);
+ }
+HXLINE( 71) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 72) return ::borogove::Message_obj::__alloc( HX_CTX ,from,from,null(),::borogove::MessageStanza_obj::ErrorMessageStanza(localId,stanza),encryptionInfo);
+ }
+HXLINE( 75) ::borogove::ChatMessageBuilder msg = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 76) msg->stanza = stanza;
+HXLINE( 77) msg->timeSent = stanza->findText(HX_("{urn:xmpp:delay}delay@stamp",cb,88,c4,86));
+HXLINE( 78) msg->threadId = stanza->getChildText(HX_("thread",ca,7a,b9,8e),null());
+HXLINE( 79) msg->lang = stanza->attr->get_string(HX_("xml:lang",f1,b1,be,5f));
+HXLINE( 80) msg->text = stanza->getChildText(HX_("body",a2,7a,1b,41),null());
+HXLINE( 81) bool _hx_tmp;
+HXDLIN( 81) if (::hx::IsNotNull( msg->text )) {
+HXLINE( 81) if (::hx::IsNotNull( msg->lang )) {
+HXLINE( 81) _hx_tmp = (msg->lang == HX_("",00,00,00,00));
}
else {
-HXLINE( 80) _hx_tmp = true;
+HXLINE( 81) _hx_tmp = true;
}
}
else {
-HXLINE( 80) _hx_tmp = false;
+HXLINE( 81) _hx_tmp = false;
}
-HXDLIN( 80) if (_hx_tmp) {
-HXLINE( 81) ::borogove::Stanza tmp = stanza->getChild(HX_("body",a2,7a,1b,41),null());
-HXDLIN( 81) ::String _hx_tmp1;
-HXDLIN( 81) if (::hx::IsNotNull( tmp )) {
-HXLINE( 81) _hx_tmp1 = ( (::String)(::Reflect_obj::field(tmp->attr,HX_("xml:lang",f1,b1,be,5f))) );
+HXDLIN( 81) if (_hx_tmp) {
+HXLINE( 82) ::borogove::Stanza tmp = stanza->getChild(HX_("body",a2,7a,1b,41),null());
+HXDLIN( 82) ::String _hx_tmp1;
+HXDLIN( 82) if (::hx::IsNotNull( tmp )) {
+HXLINE( 82) _hx_tmp1 = tmp->attr->get_string(HX_("xml:lang",f1,b1,be,5f));
}
else {
-HXLINE( 81) _hx_tmp1 = null();
+HXLINE( 82) _hx_tmp1 = null();
}
-HXDLIN( 81) msg->lang = _hx_tmp1;
+HXDLIN( 82) msg->lang = _hx_tmp1;
}
-HXLINE( 83) ::borogove::Stanza subject = stanza->getChild(HX_("subject",ac,01,88,29),null());
-HXLINE( 84) if (::hx::IsNotNull( subject )) {
-HXLINE( 84) msg->payloads->push(subject);
+HXLINE( 84) ::borogove::Stanza subject = stanza->getChild(HX_("subject",ac,01,88,29),null());
+HXLINE( 85) if (::hx::IsNotNull( subject )) {
+HXLINE( 85) msg->payloads->push(subject);
}
-HXLINE( 85) msg->from = ::borogove::JID_obj::parse(from);
-HXLINE( 86) bool isGroupchat = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) == HX_("groupchat",97,1d,c8,e5));
-HXLINE( 87) int _hx_tmp2;
-HXDLIN( 87) if (isGroupchat) {
-HXLINE( 87) _hx_tmp2 = 2;
+HXLINE( 86) msg->from = ::borogove::JID_obj::parse(from);
+HXLINE( 87) bool isGroupchat = ::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("groupchat",97,1d,c8,e5) );
+HXLINE( 88) int _hx_tmp2;
+HXDLIN( 88) if (isGroupchat) {
+HXLINE( 88) _hx_tmp2 = 2;
}
else {
-HXLINE( 87) _hx_tmp2 = 0;
+HXLINE( 88) _hx_tmp2 = 0;
}
-HXDLIN( 87) msg->type = _hx_tmp2;
-HXLINE( 88) bool _hx_tmp3;
-HXDLIN( 88) if ((msg->type == 0)) {
-HXLINE( 88) _hx_tmp3 = ::hx::IsNotNull( stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14)) );
+HXDLIN( 88) msg->type = _hx_tmp2;
+HXLINE( 89) bool _hx_tmp3;
+HXDLIN( 89) if ((msg->type == 0)) {
+HXLINE( 89) _hx_tmp3 = ::hx::IsNotNull( stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14)) );
}
else {
-HXLINE( 88) _hx_tmp3 = false;
+HXLINE( 89) _hx_tmp3 = false;
+ }
+HXDLIN( 89) if (_hx_tmp3) {
+HXLINE( 90) msg->type = 3;
}
-HXDLIN( 88) if (_hx_tmp3) {
-HXLINE( 89) msg->type = 3;
+HXLINE( 92) ::borogove::JID localJidBare = localJid->asBare();
+HXLINE( 93) ::String domain = localJid->domain;
+HXLINE( 94) ::String to = stanza->attr->get_string(HX_("to",7b,65,00,00));
+HXLINE( 95) ::borogove::JID _hx_tmp4;
+HXDLIN( 95) if (::hx::IsNull( to )) {
+HXLINE( 95) _hx_tmp4 = localJid;
}
-HXLINE( 91) ::borogove::JID localJidBare = localJid->asBare();
-HXLINE( 92) ::String domain = localJid->domain;
-HXLINE( 93) ::String to = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
-HXLINE( 94) ::borogove::JID _hx_tmp4;
-HXDLIN( 94) if (::hx::IsNull( to )) {
-HXLINE( 94) _hx_tmp4 = localJid;
+ else {
+HXLINE( 95) _hx_tmp4 = ::borogove::JID_obj::parse(to);
+ }
+HXDLIN( 95) msg->to = _hx_tmp4;
+HXLINE( 96) msg->encryption = encryptionInfo;
+HXLINE( 99) ::borogove::Stanza form = stanza->getChild(HX_("x",78,00,00,00),HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 101) bool _hx_tmp5;
+HXDLIN( 101) bool _hx_tmp6;
+HXDLIN( 101) bool _hx_tmp7;
+HXDLIN( 101) if (::hx::IsNotNull( form )) {
+HXLINE( 102) ::String tmp1 = form->attr->get_string(HX_("type",ba,f2,08,4d));
+HXDLIN( 102) ::String _hx_tmp8;
+HXDLIN( 102) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 102) _hx_tmp8 = tmp1;
+ }
+ else {
+HXLINE( 102) _hx_tmp8 = HX_("form",44,61,c0,43);
+ }
+HXLINE( 101) _hx_tmp7 = (_hx_tmp8 == HX_("form",44,61,c0,43));
+ }
+ else {
+HXLINE( 101) _hx_tmp7 = false;
+ }
+HXDLIN( 101) if (_hx_tmp7) {
+HXLINE( 103) ::borogove::Stanza tmp2 = ::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("FORM_TYPE",d5,96,c9,5a));
+HXDLIN( 103) ::Array< ::String > tmp3;
+HXDLIN( 103) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 103) tmp3 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp2);
+ }
+ else {
+HXLINE( 103) tmp3 = null();
+ }
+HXDLIN( 103) ::String _hx_tmp9;
+HXDLIN( 103) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 103) _hx_tmp9 = tmp3->join(HX_(" ",20,00,00,00));
+ }
+ else {
+HXLINE( 103) _hx_tmp9 = null();
+ }
+HXLINE( 101) _hx_tmp6 = (HX_("http://jabber.org/protocol/muc#request",93,0a,86,93) == _hx_tmp9);
}
else {
-HXLINE( 94) _hx_tmp4 = ::borogove::JID_obj::parse(to);
+HXLINE( 101) _hx_tmp6 = false;
}
-HXDLIN( 94) msg->to = _hx_tmp4;
-HXLINE( 95) msg->encryption = encryptionInfo;
-HXLINE( 97) bool _hx_tmp5;
-HXDLIN( 97) if (::hx::IsNotNull( msg->from )) {
-HXLINE( 97) _hx_tmp5 = msg->from->equals(localJidBare);
+HXDLIN( 101) if (_hx_tmp6) {
+HXLINE( 104) ::borogove::Stanza tmp4 = ::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("muc#role",3e,cf,d3,63));
+HXDLIN( 104) ::Array< ::String > tmp5;
+HXDLIN( 104) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 104) tmp5 = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp4);
+ }
+ else {
+HXLINE( 104) tmp5 = null();
+ }
+HXDLIN( 104) ::String _hx_tmp10;
+HXDLIN( 104) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 104) _hx_tmp10 = tmp5->join(HX_(" ",20,00,00,00));
+ }
+ else {
+HXLINE( 104) _hx_tmp10 = null();
+ }
+HXLINE( 101) _hx_tmp5 = (HX_("participant",b3,07,ea,7a) == _hx_tmp10);
}
else {
-HXLINE( 97) _hx_tmp5 = false;
- }
-HXDLIN( 97) if (_hx_tmp5) {
-HXLINE( 98) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
-HXLINE( 99) if (::hx::IsNull( carbon )) {
-HXLINE( 99) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
- }
-HXLINE( 100) if (::hx::IsNotNull( carbon )) {
-HXLINE( 101) ::borogove::Stanza fwd = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
-HXLINE( 102) if (::hx::IsNotNull( fwd )) {
-HXLINE( 102) ::Dynamic _gtmp = null();
-HXDLIN( 102) stanza = fwd->getFirstChild();
-HXDLIN( 102) preferChatMessage = ( (bool)(_gtmp) );
+HXLINE( 101) _hx_tmp5 = false;
+ }
+HXLINE( 100) if (_hx_tmp5) {
+HXLINE( 106) ::borogove::Stanza tmp6 = ::borogove::_DataForm::DataForm_Impl__obj::field(form,HX_("muc#jid",fd,77,83,94));
+HXDLIN( 106) ::Array< ::String > jid;
+HXDLIN( 106) if (::hx::IsNotNull( tmp6 )) {
+HXLINE( 106) jid = ::borogove::_DataForm::Field_Impl__obj::get_value(tmp6);
+ }
+ else {
+HXLINE( 106) jid = null();
+ }
+HXLINE( 107) bool _hx_tmp11;
+HXDLIN( 107) if (::hx::IsNotNull( jid )) {
+HXLINE( 107) _hx_tmp11 = (jid->length == 1);
+ }
+ else {
+HXLINE( 107) _hx_tmp11 = false;
+ }
+HXDLIN( 107) if (_hx_tmp11) {
+HXLINE( 108) return ::borogove::Message_obj::__alloc( HX_CTX ,from,from,null(),::borogove::MessageStanza_obj::MucVoiceRequest(::borogove::JID_obj::parse(jid->__get(0))),encryptionInfo);
+ }
+ }
+HXLINE( 112) bool _hx_tmp12;
+HXDLIN( 112) if (::hx::IsNotNull( msg->from )) {
+HXLINE( 112) _hx_tmp12 = msg->from->equals(localJidBare);
+ }
+ else {
+HXLINE( 112) _hx_tmp12 = false;
+ }
+HXDLIN( 112) if (_hx_tmp12) {
+HXLINE( 113) ::borogove::Stanza carbon = stanza->getChild(HX_("received",21,45,fd,e2),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+HXLINE( 114) if (::hx::IsNull( carbon )) {
+HXLINE( 114) carbon = stanza->getChild(HX_("sent",58,8d,50,4c),HX_("urn:xmpp:carbons:2",02,86,9e,df));
+ }
+HXLINE( 115) if (::hx::IsNotNull( carbon )) {
+HXLINE( 116) ::borogove::Stanza fwd = carbon->getChild(HX_("forwarded",64,f5,9a,17),HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+HXLINE( 117) if (::hx::IsNotNull( fwd )) {
+HXLINE( 117) ::Dynamic _gtmp = null();
+HXDLIN( 117) stanza = fwd->getFirstChild();
+HXDLIN( 117) preferChatMessage = ( (bool)(_gtmp) );
HXLINE( 1) continue;
}
}
}
-HXLINE( 106) if (::hx::IsNotNull( localId )) {
-HXLINE( 106) msg->localId = localId;
- }
-HXLINE( 107) ::borogove::Stanza altServerId = null();
-HXLINE( 108) {
-HXLINE( 108) int _g = 0;
-HXDLIN( 108) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
-HXDLIN( 108) while((_g < _g1->length)){
-HXLINE( 108) ::borogove::Stanza stanzaId = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN( 108) _g = (_g + 1);
-HXLINE( 109) ::String id = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 110) bool _hx_tmp6;
-HXDLIN( 110) bool _hx_tmp7;
-HXDLIN( 110) if ((( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) ) != domain)) {
-HXLINE( 110) ::String _hx_tmp8 = ( (::String)(::Reflect_obj::field(stanzaId->attr,HX_("by",d7,55,00,00))) );
-HXDLIN( 110) _hx_tmp7 = (_hx_tmp8 == localJidBare->asString());
+HXLINE( 121) if (::hx::IsNotNull( localId )) {
+HXLINE( 121) msg->localId = localId;
+ }
+HXLINE( 122) ::borogove::Stanza altServerId = null();
+HXLINE( 123) {
+HXLINE( 123) int _g = 0;
+HXDLIN( 123) ::Array< ::Dynamic> _g1 = stanza->allTags(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXDLIN( 123) while((_g < _g1->length)){
+HXLINE( 123) ::borogove::Stanza stanzaId = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 123) _g = (_g + 1);
+HXLINE( 124) ::String id = stanzaId->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 125) bool _hx_tmp13;
+HXDLIN( 125) bool _hx_tmp14;
+HXDLIN( 125) if (::hx::IsNotEq( stanzaId->attr->get(HX_("by",d7,55,00,00)),domain )) {
+HXLINE( 125) ::String _hx_tmp15 = stanzaId->attr->get_string(HX_("by",d7,55,00,00));
+HXDLIN( 125) _hx_tmp14 = (_hx_tmp15 == localJidBare->asString());
}
else {
-HXLINE( 110) _hx_tmp7 = true;
+HXLINE( 125) _hx_tmp14 = true;
}
-HXDLIN( 110) if (_hx_tmp7) {
-HXLINE( 110) _hx_tmp6 = ::hx::IsNotNull( id );
+HXDLIN( 125) if (_hx_tmp14) {
+HXLINE( 125) _hx_tmp13 = ::hx::IsNotNull( id );
}
else {
-HXLINE( 110) _hx_tmp6 = false;
+HXLINE( 125) _hx_tmp13 = false;
}
-HXDLIN( 110) if (_hx_tmp6) {
-HXLINE( 111) msg->serverIdBy = localJidBare->asString();
-HXLINE( 112) msg->serverId = id;
-HXLINE( 113) goto _hx_goto_2;
+HXDLIN( 125) if (_hx_tmp13) {
+HXLINE( 126) msg->serverIdBy = localJidBare->asString();
+HXLINE( 127) msg->serverId = id;
+HXLINE( 128) goto _hx_goto_2;
}
-HXLINE( 115) altServerId = stanzaId;
+HXLINE( 130) altServerId = stanzaId;
}
_hx_goto_2:;
}
-HXLINE( 117) bool _hx_tmp9;
-HXDLIN( 117) bool _hx_tmp10;
-HXDLIN( 117) if (::hx::IsNull( msg->serverId )) {
-HXLINE( 117) _hx_tmp10 = ::hx::IsNotNull( altServerId );
+HXLINE( 132) bool _hx_tmp16;
+HXDLIN( 132) bool _hx_tmp17;
+HXDLIN( 132) if (::hx::IsNull( msg->serverId )) {
+HXLINE( 132) _hx_tmp17 = ::hx::IsNotNull( altServerId );
}
else {
-HXLINE( 117) _hx_tmp10 = false;
+HXLINE( 132) _hx_tmp17 = false;
}
-HXDLIN( 117) if (_hx_tmp10) {
-HXLINE( 117) _hx_tmp9 = (( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73));
+HXDLIN( 132) if (_hx_tmp17) {
+HXLINE( 132) _hx_tmp16 = ::hx::IsNotEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) );
}
else {
-HXLINE( 117) _hx_tmp9 = false;
+HXLINE( 132) _hx_tmp16 = false;
}
-HXDLIN( 117) if (_hx_tmp9) {
-HXLINE( 118) ::String id1 = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 119) if (::hx::IsNotNull( id1 )) {
-HXLINE( 120) msg->serverId = id1;
-HXLINE( 121) msg->serverIdBy = ( (::String)(::Reflect_obj::field(altServerId->attr,HX_("by",d7,55,00,00))) );
+HXDLIN( 132) if (_hx_tmp16) {
+HXLINE( 133) ::String id1 = altServerId->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 134) if (::hx::IsNotNull( id1 )) {
+HXLINE( 135) msg->serverId = id1;
+HXLINE( 136) msg->serverIdBy = altServerId->attr->get_string(HX_("by",d7,55,00,00));
}
}
-HXLINE( 124) bool _hx_tmp11;
-HXDLIN( 124) if (::hx::IsNotNull( msg->serverIdBy )) {
-HXLINE( 124) ::String msg1 = msg->serverIdBy;
-HXDLIN( 124) _hx_tmp11 = (msg1 != localJid->asBare()->asString());
+HXLINE( 139) bool _hx_tmp18;
+HXDLIN( 139) if (::hx::IsNotNull( msg->serverIdBy )) {
+HXLINE( 139) ::String msg1 = msg->serverIdBy;
+HXDLIN( 139) _hx_tmp18 = (msg1 != localJid->asBare()->asString());
}
else {
-HXLINE( 124) _hx_tmp11 = false;
+HXLINE( 139) _hx_tmp18 = false;
}
-HXDLIN( 124) if (_hx_tmp11) {
-HXLINE( 125) msg->replyId = msg->serverId;
+HXDLIN( 139) if (_hx_tmp18) {
+HXLINE( 140) msg->replyId = msg->serverId;
}
else {
-HXLINE( 126) ::String msg2 = msg->serverIdBy;
-HXDLIN( 126) if ((msg2 == localJid->asBare()->asString())) {
-HXLINE( 127) msg->replyId = msg->localId;
+HXLINE( 141) ::String msg2 = msg->serverIdBy;
+HXDLIN( 141) if ((msg2 == localJid->asBare()->asString())) {
+HXLINE( 142) msg->replyId = msg->localId;
}
}
-HXLINE( 129) int _hx_tmp12;
-HXDLIN( 129) bool _hx_tmp13;
-HXDLIN( 129) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 129) _hx_tmp13 = msg->to->asBare()->equals(localJidBare);
+HXLINE( 144) int _hx_tmp19;
+HXDLIN( 144) bool _hx_tmp20;
+HXDLIN( 144) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 144) _hx_tmp20 = msg->to->asBare()->equals(localJidBare);
}
else {
-HXLINE( 129) _hx_tmp13 = true;
+HXLINE( 144) _hx_tmp20 = true;
}
-HXDLIN( 129) if (_hx_tmp13) {
-HXLINE( 129) _hx_tmp12 = 0;
+HXDLIN( 144) if (_hx_tmp20) {
+HXLINE( 144) _hx_tmp19 = 0;
}
else {
-HXLINE( 129) _hx_tmp12 = 1;
+HXLINE( 144) _hx_tmp19 = 1;
}
-HXDLIN( 129) msg->direction = _hx_tmp12;
-HXLINE( 130) bool _hx_tmp14;
-HXDLIN( 130) if (::hx::IsNotNull( msg->from )) {
-HXLINE( 130) _hx_tmp14 = msg->from->asBare()->equals(localJidBare);
+HXDLIN( 144) msg->direction = _hx_tmp19;
+HXLINE( 145) bool _hx_tmp21;
+HXDLIN( 145) if (::hx::IsNotNull( msg->from )) {
+HXLINE( 145) _hx_tmp21 = msg->from->asBare()->equals(localJidBare);
}
else {
-HXLINE( 130) _hx_tmp14 = false;
+HXLINE( 145) _hx_tmp21 = false;
}
-HXDLIN( 130) if (_hx_tmp14) {
-HXLINE( 130) msg->direction = 1;
+HXDLIN( 145) if (_hx_tmp21) {
+HXLINE( 145) msg->direction = 1;
}
-HXLINE( 131) int _hx_tmp15;
-HXDLIN( 131) if ((msg->direction == 0)) {
-HXLINE( 131) _hx_tmp15 = 2;
+HXLINE( 146) int _hx_tmp22;
+HXDLIN( 146) if ((msg->direction == 0)) {
+HXLINE( 146) _hx_tmp22 = 2;
}
else {
-HXLINE( 131) _hx_tmp15 = 1;
- }
-HXDLIN( 131) msg->status = _hx_tmp15;
-HXLINE( 133) ::borogove::Stanza mucDirectInvite = stanza->getChild(HX_("x",78,00,00,00),HX_("jabber:x:conference",b4,78,c2,fc));
-HXLINE( 134) if (::hx::IsNotNull( mucDirectInvite )) {
-HXLINE( 135) ::String mucJid = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("jid",c5,ca,50,00))) );
-HXLINE( 136) if (::hx::IsNotNull( mucJid )) {
-HXLINE( 137) ::String _hx_tmp16 = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("thread",ca,7a,b9,8e))) );
-HXDLIN( 137) ::String msg3 = msg->serverId;
-HXDLIN( 137) ::String msg4 = msg->serverIdBy;
-HXDLIN( 137) ::String _hx_tmp17 = ( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("reason",c4,0f,9d,fc))) );
-HXDLIN( 137) return ::borogove::Message_obj::__alloc( HX_CTX ,mucJid,from,_hx_tmp16,::borogove::MessageStanza_obj::MucInviteStanza(msg3,msg4,_hx_tmp17,( (::String)(::Reflect_obj::field(mucDirectInvite->attr,HX_("password",1b,23,d0,48))) )),encryptionInfo);
+HXLINE( 146) _hx_tmp22 = 1;
+ }
+HXDLIN( 146) msg->status = _hx_tmp22;
+HXLINE( 148) ::borogove::Stanza mucDirectInvite = stanza->getChild(HX_("x",78,00,00,00),HX_("jabber:x:conference",b4,78,c2,fc));
+HXLINE( 149) if (::hx::IsNotNull( mucDirectInvite )) {
+HXLINE( 150) ::String mucJid = mucDirectInvite->attr->get_string(HX_("jid",c5,ca,50,00));
+HXLINE( 151) if (::hx::IsNotNull( mucJid )) {
+HXLINE( 152) ::String _hx_tmp23 = mucDirectInvite->attr->get_string(HX_("thread",ca,7a,b9,8e));
+HXDLIN( 152) ::String msg3 = msg->serverId;
+HXDLIN( 152) ::String msg4 = msg->serverIdBy;
+HXDLIN( 152) ::String _hx_tmp24 = mucDirectInvite->attr->get_string(HX_("reason",c4,0f,9d,fc));
+HXDLIN( 152) return ::borogove::Message_obj::__alloc( HX_CTX ,mucJid,from,_hx_tmp23,::borogove::MessageStanza_obj::MucInviteStanza(msg3,msg4,_hx_tmp24,mucDirectInvite->attr->get(HX_("password",1b,23,d0,48))),encryptionInfo);
}
}
-HXLINE( 141) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
-HXLINE( 142) ::borogove::Stanza mucInvite;
-HXDLIN( 142) if (::hx::IsNotNull( mucUser )) {
-HXLINE( 142) mucInvite = mucUser->getChild(HX_("invite",c9,f1,db,9f),null());
+HXLINE( 156) ::borogove::Stanza mucUser = stanza->getChild(HX_("x",78,00,00,00),HX_("http://jabber.org/protocol/muc#user",87,74,8e,14));
+HXLINE( 157) ::borogove::Stanza mucInvite;
+HXDLIN( 157) if (::hx::IsNotNull( mucUser )) {
+HXLINE( 157) mucInvite = mucUser->getChild(HX_("invite",c9,f1,db,9f),null());
}
else {
-HXLINE( 142) mucInvite = null();
+HXLINE( 157) mucInvite = null();
}
-HXLINE( 143) if (::hx::IsNotNull( mucInvite )) {
-HXLINE( 144) ::borogove::Stanza tmp1 = mucInvite->getChild(HX_("continue",67,e0,c8,31),null());
-HXDLIN( 144) ::Dynamic tmp2;
-HXDLIN( 144) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 144) tmp2 = tmp1->attr;
+HXLINE( 158) if (::hx::IsNotNull( mucInvite )) {
+HXLINE( 159) ::borogove::Stanza tmp7 = mucInvite->getChild(HX_("continue",67,e0,c8,31),null());
+HXDLIN( 159) ::haxe::ds::StringMap tmp8;
+HXDLIN( 159) if (::hx::IsNotNull( tmp7 )) {
+HXLINE( 159) tmp8 = tmp7->attr;
}
else {
-HXLINE( 144) tmp2 = null();
+HXLINE( 159) tmp8 = null();
}
-HXDLIN( 144) ::String threadId;
-HXDLIN( 144) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 144) threadId = ( (::String)(::Reflect_obj::field(tmp2,HX_("thread",ca,7a,b9,8e))) );
+HXDLIN( 159) ::String threadId;
+HXDLIN( 159) if (::hx::IsNotNull( tmp8 )) {
+HXLINE( 159) threadId = tmp8->get_string(HX_("thread",ca,7a,b9,8e));
}
else {
-HXLINE( 144) threadId = null();
+HXLINE( 159) threadId = null();
}
-HXLINE( 145) ::String reason = mucInvite->getChildText(HX_("reason",c4,0f,9d,fc),null());
-HXLINE( 146) ::String password = mucInvite->getChildText(HX_("password",1b,23,d0,48),null());
-HXLINE( 148) ::String _hx_tmp18;
-HXDLIN( 148) ::String tmp3 = ( (::String)(::Reflect_obj::field(mucInvite->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 148) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 148) _hx_tmp18 = tmp3;
+HXLINE( 160) ::String reason = mucInvite->getChildText(HX_("reason",c4,0f,9d,fc),null());
+HXLINE( 161) ::String password = mucInvite->getChildText(HX_("password",1b,23,d0,48),null());
+HXLINE( 163) ::String _hx_tmp25;
+HXDLIN( 163) ::String tmp9 = mucInvite->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 163) if (::hx::IsNotNull( tmp9 )) {
+HXLINE( 163) _hx_tmp25 = tmp9;
}
else {
-HXLINE( 148) _hx_tmp18 = from;
+HXLINE( 163) _hx_tmp25 = from;
}
-HXDLIN( 148) return ::borogove::Message_obj::__alloc( HX_CTX ,from,_hx_tmp18,threadId,::borogove::MessageStanza_obj::MucInviteStanza(msg->serverId,msg->serverIdBy,reason,password),encryptionInfo);
+HXDLIN( 163) return ::borogove::Message_obj::__alloc( HX_CTX ,from,_hx_tmp25,threadId,::borogove::MessageStanza_obj::MucInviteStanza(msg->serverId,msg->serverIdBy,reason,password),encryptionInfo);
}
-HXLINE( 151) ::haxe::ds::StringMap recipients = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 152) ::haxe::ds::StringMap replyTo = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 153) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 154) ::String k = msg->to->asBare()->asString();
-HXDLIN( 154) recipients->set(k,true);
+HXLINE( 166) ::haxe::ds::StringMap recipients = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 167) ::haxe::ds::StringMap replyTo = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 168) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 169) ::String k = msg->to->asBare()->asString();
+HXDLIN( 169) recipients->set(k,true);
}
-HXLINE( 156) ::borogove::JID from1 = msg->from;
-HXLINE( 157) bool _hx_tmp19;
-HXDLIN( 157) if ((msg->direction == 0)) {
-HXLINE( 157) _hx_tmp19 = ::hx::IsNotNull( from1 );
+HXLINE( 171) ::borogove::JID from1 = msg->from;
+HXLINE( 172) bool _hx_tmp26;
+HXDLIN( 172) if ((msg->direction == 0)) {
+HXLINE( 172) _hx_tmp26 = ::hx::IsNotNull( from1 );
}
else {
-HXLINE( 157) _hx_tmp19 = false;
+HXLINE( 172) _hx_tmp26 = false;
}
-HXDLIN( 157) if (_hx_tmp19) {
-HXLINE( 158) ::String k1;
-HXDLIN( 158) if (isGroupchat) {
-HXLINE( 158) k1 = from1->asBare()->asString();
+HXDLIN( 172) if (_hx_tmp26) {
+HXLINE( 173) ::String k1;
+HXDLIN( 173) if (isGroupchat) {
+HXLINE( 173) k1 = from1->asBare()->asString();
}
else {
-HXLINE( 158) k1 = from1->asString();
+HXLINE( 173) k1 = from1->asString();
}
-HXDLIN( 158) replyTo->set(k1,true);
+HXDLIN( 173) replyTo->set(k1,true);
}
else {
-HXLINE( 159) if (::hx::IsNotNull( msg->to )) {
-HXLINE( 160) ::String k2 = msg->to->asString();
-HXDLIN( 160) replyTo->set(k2,true);
- }
- }
-HXLINE( 163) ::borogove::Stanza addresses = stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
-HXLINE( 164) bool anyExtendedReplyTo = false;
-HXLINE( 165) if (::hx::IsNotNull( addresses )) {
-HXLINE( 166) int _g2 = 0;
-HXDLIN( 166) ::Array< ::Dynamic> _g3 = addresses->allTags(HX_("address",b4,71,0b,9d),null());
-HXDLIN( 166) while((_g2 < _g3->length)){
-HXLINE( 166) ::borogove::Stanza address = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
-HXDLIN( 166) _g2 = (_g2 + 1);
-HXLINE( 167) ::String jid = ( (::String)(::Reflect_obj::field(address->attr,HX_("jid",c5,ca,50,00))) );
-HXLINE( 168) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("noreply",49,1d,9c,26))) {
-HXLINE( 169) replyTo->clear();
+HXLINE( 174) if (::hx::IsNotNull( msg->to )) {
+HXLINE( 175) ::String k2 = msg->to->asString();
+HXDLIN( 175) replyTo->set(k2,true);
+ }
+ }
+HXLINE( 178) ::borogove::Stanza addresses = stanza->getChild(HX_("addresses",22,9f,12,8c),HX_("http://jabber.org/protocol/address",c0,fd,09,ed));
+HXLINE( 179) bool anyExtendedReplyTo = false;
+HXLINE( 180) if (::hx::IsNotNull( addresses )) {
+HXLINE( 181) int _g2 = 0;
+HXDLIN( 181) ::Array< ::Dynamic> _g3 = addresses->allTags(HX_("address",b4,71,0b,9d),null());
+HXDLIN( 181) while((_g2 < _g3->length)){
+HXLINE( 181) ::borogove::Stanza address = _g3->__get(_g2).StaticCast< ::borogove::Stanza >();
+HXDLIN( 181) _g2 = (_g2 + 1);
+HXLINE( 182) ::String jid1 = address->attr->get_string(HX_("jid",c5,ca,50,00));
+HXLINE( 183) if (::hx::IsEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("noreply",49,1d,9c,26) )) {
+HXLINE( 184) replyTo->clear();
}
else {
-HXLINE( 170) if (::hx::IsNull( jid )) {
-HXLINE( 171) ::haxe::Log_obj::trace(HX_("No support for addressing to non-jid",ab,6a,51,09), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE( 185) if (::hx::IsNull( jid1 )) {
+HXLINE( 186) ::haxe::Log_obj::trace(HX_("No support for addressing to non-jid",ab,6a,51,09), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Message",5a,b7,a9,a7))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,address))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("fromStanza",ff,62,3b,49))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Message.hx",e5,8a,81,7a))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),171)));
-HXLINE( 172) ::String _hx_tmp20 = msg->chatId();
-HXDLIN( 172) ::String _hx_tmp21 = msg->get_senderId();
-HXDLIN( 172) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp20,_hx_tmp21,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),186)));
+HXLINE( 187) ::String _hx_tmp27 = msg->chatId();
+HXDLIN( 187) ::String _hx_tmp28 = msg->get_senderId();
+HXDLIN( 187) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp27,_hx_tmp28,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
}
else {
-HXLINE( 173) bool _hx_tmp22;
-HXDLIN( 173) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("to",7b,65,00,00))) {
-HXLINE( 173) _hx_tmp22 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("cc",a0,56,00,00));
+HXLINE( 188) bool _hx_tmp29;
+HXDLIN( 188) if (::hx::IsNotEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("to",7b,65,00,00) )) {
+HXLINE( 188) _hx_tmp29 = ::hx::IsEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("cc",a0,56,00,00) );
}
else {
-HXLINE( 173) _hx_tmp22 = true;
+HXLINE( 188) _hx_tmp29 = true;
}
-HXDLIN( 173) if (_hx_tmp22) {
-HXLINE( 174) {
-HXLINE( 174) ::String k3 = ::borogove::JID_obj::parse(jid)->asBare()->asString();
-HXDLIN( 174) recipients->set(k3,true);
+HXDLIN( 188) if (_hx_tmp29) {
+HXLINE( 189) {
+HXLINE( 189) ::String k3 = ::borogove::JID_obj::parse(jid1)->asBare()->asString();
+HXDLIN( 189) recipients->set(k3,true);
}
-HXLINE( 175) if (!(anyExtendedReplyTo)) {
-HXLINE( 175) ::String k4 = ::borogove::JID_obj::parse(jid)->asString();
-HXDLIN( 175) replyTo->set(k4,true);
+HXLINE( 190) if (!(anyExtendedReplyTo)) {
+HXLINE( 190) ::String k4 = ::borogove::JID_obj::parse(jid1)->asString();
+HXDLIN( 190) replyTo->set(k4,true);
}
}
else {
-HXLINE( 176) bool _hx_tmp23;
-HXDLIN( 176) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) != HX_("replyto",25,8d,3a,ab))) {
-HXLINE( 176) _hx_tmp23 = (( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("replyroom",45,d4,81,d7));
+HXLINE( 191) bool _hx_tmp30;
+HXDLIN( 191) if (::hx::IsNotEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("replyto",25,8d,3a,ab) )) {
+HXLINE( 191) _hx_tmp30 = ::hx::IsEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("replyroom",45,d4,81,d7) );
}
else {
-HXLINE( 176) _hx_tmp23 = true;
+HXLINE( 191) _hx_tmp30 = true;
}
-HXDLIN( 176) if (_hx_tmp23) {
-HXLINE( 177) if (!(anyExtendedReplyTo)) {
-HXLINE( 178) replyTo->clear();
-HXLINE( 179) anyExtendedReplyTo = true;
+HXDLIN( 191) if (_hx_tmp30) {
+HXLINE( 192) if (!(anyExtendedReplyTo)) {
+HXLINE( 193) replyTo->clear();
+HXLINE( 194) anyExtendedReplyTo = true;
}
-HXLINE( 181) {
-HXLINE( 181) ::String k5 = ::borogove::JID_obj::parse(jid)->asString();
-HXDLIN( 181) replyTo->set(k5,true);
+HXLINE( 196) {
+HXLINE( 196) ::String k5 = ::borogove::JID_obj::parse(jid1)->asString();
+HXDLIN( 196) replyTo->set(k5,true);
}
}
else {
-HXLINE( 182) if ((( (::String)(::Reflect_obj::field(address->attr,HX_("type",ba,f2,08,4d))) ) == HX_("ofrom",59,09,3d,2d))) {
-HXLINE( 183) ::borogove::JID tmp4 = msg->from;
-HXDLIN( 183) ::String _hx_tmp24;
-HXDLIN( 183) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 183) _hx_tmp24 = tmp4->domain;
+HXLINE( 197) if (::hx::IsEq( address->attr->get(HX_("type",ba,f2,08,4d)),HX_("ofrom",59,09,3d,2d) )) {
+HXLINE( 198) ::borogove::JID tmp10 = msg->from;
+HXDLIN( 198) ::String _hx_tmp31;
+HXDLIN( 198) if (::hx::IsNotNull( tmp10 )) {
+HXLINE( 198) _hx_tmp31 = tmp10->domain;
}
else {
-HXLINE( 183) _hx_tmp24 = null();
+HXLINE( 198) _hx_tmp31 = null();
}
-HXDLIN( 183) if ((::borogove::JID_obj::parse(jid)->domain == _hx_tmp24)) {
-HXLINE( 185) msg->senderId = ::borogove::JID_obj::parse(jid)->asBare()->asString();
+HXDLIN( 198) if ((::borogove::JID_obj::parse(jid1)->domain == _hx_tmp31)) {
+HXLINE( 200) msg->senderId = ::borogove::JID_obj::parse(jid1)->asBare()->asString();
}
}
}
@@ -506,715 +595,778 @@ HXLINE( 185) msg->senderId = ::borogove::JID_obj::parse(jid)->asBare()
}
}
}
-HXLINE( 191) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 191) ::Dynamic x = ::Dynamic(new _hx_Closure_0(recipients))();
-HXDLIN( 191) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 191) _g4->push(::borogove::JID_obj::parse(( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
- }
-HXDLIN( 191) msg->recipients = _g4;
-HXLINE( 192) msg->recipients->sort( ::Dynamic(new _hx_Closure_1()));
-HXLINE( 193) ::Array< ::Dynamic> _g5 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 193) ::Dynamic x1 = ::Dynamic(new _hx_Closure_2(replyTo))();
-HXDLIN( 193) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 193) _g5->push(::borogove::JID_obj::parse(( (::String)(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
- }
-HXDLIN( 193) msg->replyTo = _g5;
-HXLINE( 194) msg->replyTo->sort( ::Dynamic(new _hx_Closure_3()));
-HXLINE( 196) if (::hx::IsNull( msg->get_senderId() )) {
-HXLINE( 197) ::borogove::Stanza tmp5 = stanza->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
-HXDLIN( 197) ::Dynamic tmp6;
-HXDLIN( 197) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 197) tmp6 = tmp5->attr;
+HXLINE( 206) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 206) ::Dynamic x = ::Dynamic(new _hx_Closure_0(recipients))();
+HXDLIN( 206) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 206) _g4->push(::borogove::JID_obj::parse(( (::String)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
+ }
+HXDLIN( 206) msg->recipients = _g4;
+HXLINE( 207) msg->recipients->sort( ::Dynamic(new _hx_Closure_1()));
+HXLINE( 208) ::Array< ::Dynamic> _g5 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 208) ::Dynamic x1 = ::Dynamic(new _hx_Closure_2(replyTo))();
+HXDLIN( 208) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 208) _g5->push(::borogove::JID_obj::parse(( (::String)(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) )));
+ }
+HXDLIN( 208) msg->replyTo = _g5;
+HXLINE( 209) msg->replyTo->sort( ::Dynamic(new _hx_Closure_3()));
+HXLINE( 211) if (::hx::IsNull( msg->get_senderId() )) {
+HXLINE( 212) ::borogove::Stanza tmp11 = stanza->getChild(HX_("occupant-id",2b,a5,8b,91),HX_("urn:xmpp:occupant-id:0",05,d7,05,11));
+HXDLIN( 212) ::haxe::ds::StringMap tmp12;
+HXDLIN( 212) if (::hx::IsNotNull( tmp11 )) {
+HXLINE( 212) tmp12 = tmp11->attr;
}
else {
-HXLINE( 197) tmp6 = null();
+HXLINE( 212) tmp12 = null();
}
-HXDLIN( 197) ::String occupantId;
-HXDLIN( 197) if (::hx::IsNotNull( tmp6 )) {
-HXLINE( 197) occupantId = ( (::String)(::Reflect_obj::field(tmp6,HX_("id",db,5b,00,00))) );
+HXDLIN( 212) ::String occupantId;
+HXDLIN( 212) if (::hx::IsNotNull( tmp12 )) {
+HXLINE( 212) occupantId = tmp12->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE( 197) occupantId = null();
+HXLINE( 212) occupantId = null();
}
-HXLINE( 198) ::String _hx_tmp25;
-HXDLIN( 198) if (::hx::IsNotNull( occupantId )) {
-HXLINE( 198) _hx_tmp25 = ((msg->chatId() + HX_("/",2f,00,00,00)) + occupantId);
+HXLINE( 213) ::String _hx_tmp32;
+HXDLIN( 213) if (::hx::IsNotNull( occupantId )) {
+HXLINE( 213) _hx_tmp32 = ((msg->chatId() + HX_("/",2f,00,00,00)) + occupantId);
}
else {
-HXLINE( 198) ::borogove::JID tmp7;
-HXDLIN( 198) bool tmp8;
-HXDLIN( 198) if ((msg->type != 2)) {
-HXLINE( 198) tmp8 = (msg->type == 3);
+HXLINE( 213) ::borogove::JID tmp13;
+HXDLIN( 213) bool tmp14;
+HXDLIN( 213) if ((msg->type != 2)) {
+HXLINE( 213) tmp14 = (msg->type == 3);
}
else {
-HXLINE( 198) tmp8 = true;
+HXLINE( 213) tmp14 = true;
}
-HXDLIN( 198) if (tmp8) {
-HXLINE( 198) tmp7 = msg->from;
+HXDLIN( 213) if (tmp14) {
+HXLINE( 213) tmp13 = msg->from;
}
else {
-HXLINE( 198) ::borogove::JID tmp9 = msg->from;
-HXDLIN( 198) if (::hx::IsNotNull( tmp9 )) {
-HXLINE( 198) tmp7 = tmp9->asBare();
+HXLINE( 213) ::borogove::JID tmp15 = msg->from;
+HXDLIN( 213) if (::hx::IsNotNull( tmp15 )) {
+HXLINE( 213) tmp13 = tmp15->asBare();
}
else {
-HXLINE( 198) tmp7 = null();
+HXLINE( 213) tmp13 = null();
}
}
-HXDLIN( 198) if (::hx::IsNotNull( tmp7 )) {
-HXLINE( 198) _hx_tmp25 = tmp7->asString();
+HXDLIN( 213) if (::hx::IsNotNull( tmp13 )) {
+HXLINE( 213) _hx_tmp32 = tmp13->asString();
}
else {
-HXLINE( 198) _hx_tmp25 = null();
+HXLINE( 213) _hx_tmp32 = null();
}
}
-HXDLIN( 198) msg->senderId = _hx_tmp25;
+HXDLIN( 213) msg->senderId = _hx_tmp32;
}
-HXLINE( 201) ::borogove::JID msgFrom = msg->from;
-HXLINE( 203) bool _hx_tmp26;
-HXDLIN( 203) bool _hx_tmp27;
-HXDLIN( 203) if ((msg->direction == 0)) {
-HXLINE( 203) _hx_tmp27 = ::hx::IsNotNull( msgFrom );
+HXLINE( 216) ::borogove::JID msgFrom = msg->from;
+HXLINE( 218) bool _hx_tmp33;
+HXDLIN( 218) bool _hx_tmp34;
+HXDLIN( 218) if ((msg->direction == 0)) {
+HXLINE( 218) _hx_tmp34 = ::hx::IsNotNull( msgFrom );
}
else {
-HXLINE( 203) _hx_tmp27 = false;
+HXLINE( 218) _hx_tmp34 = false;
}
-HXDLIN( 203) if (_hx_tmp27) {
+HXDLIN( 218) if (_hx_tmp34) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4, ::borogove::JID,msgFrom) HXARGC(1)
bool _hx_run( ::borogove::JID r){
- HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_203_fromStanza)
-HXLINE( 203) ::borogove::JID f = r->asBare();
-HXDLIN( 203) return f->equals(msgFrom->asBare());
+ HX_GC_STACKFRAME(&_hx_pos_5c42425238de6f01_218_fromStanza)
+HXLINE( 218) ::borogove::JID f = r->asBare();
+HXDLIN( 218) return f->equals(msgFrom->asBare());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 203) ::Array< ::Dynamic> it = msg->replyTo;
-HXDLIN( 203) ::Dynamic f = ::Dynamic(new _hx_Closure_4(msgFrom));
-HXDLIN( 203) ::borogove::JID result = null();
-HXDLIN( 203) {
-HXLINE( 203) int _g6 = 0;
-HXDLIN( 203) while((_g6 < it->length)){
-HXLINE( 203) ::borogove::JID v = it->__get(_g6).StaticCast< ::borogove::JID >();
-HXDLIN( 203) _g6 = (_g6 + 1);
-HXDLIN( 203) if (( (bool)(f(v)) )) {
+HXLINE( 218) ::Array< ::Dynamic> it = msg->replyTo;
+HXDLIN( 218) ::Dynamic f = ::Dynamic(new _hx_Closure_4(msgFrom));
+HXDLIN( 218) ::borogove::JID result = null();
+HXDLIN( 218) {
+HXLINE( 218) int _g6 = 0;
+HXDLIN( 218) while((_g6 < it->length)){
+HXLINE( 218) ::borogove::JID v = it->__get(_g6).StaticCast< ::borogove::JID >();
+HXDLIN( 218) _g6 = (_g6 + 1);
+HXDLIN( 218) if (( (bool)(f(v)) )) {
HXLINE( 96) result = v;
-HXLINE( 203) goto _hx_goto_6;
+HXLINE( 218) goto _hx_goto_6;
}
}
_hx_goto_6:;
}
-HXDLIN( 203) _hx_tmp26 = ::hx::IsNull( result );
+HXDLIN( 218) _hx_tmp33 = ::hx::IsNull( result );
}
else {
-HXLINE( 203) _hx_tmp26 = false;
+HXLINE( 218) _hx_tmp33 = false;
}
-HXDLIN( 203) if (_hx_tmp26) {
-HXLINE( 204) ::haxe::Log_obj::trace(HX_("Don't know what chat message without from in replyTo belongs in",f3,47,ba,0d), ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN( 218) if (_hx_tmp33) {
+HXLINE( 219) ::haxe::Log_obj::trace(HX_("Don't know what chat message without from in replyTo belongs in",f3,47,ba,0d), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.Message",5a,b7,a9,a7))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,stanza))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("fromStanza",ff,62,3b,49))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/Message.hx",e5,8a,81,7a))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),204)));
-HXLINE( 205) ::String _hx_tmp28 = msg->chatId();
-HXDLIN( 205) ::String _hx_tmp29 = msg->get_senderId();
-HXDLIN( 205) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp28,_hx_tmp29,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),219)));
+HXLINE( 220) ::String _hx_tmp35 = msg->chatId();
+HXDLIN( 220) ::String _hx_tmp36 = msg->get_senderId();
+HXDLIN( 220) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp35,_hx_tmp36,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ }
+HXLINE( 223) {
+HXLINE( 223) int _g7 = 0;
+HXDLIN( 223) ::Array< ::Dynamic> _g8 = stanza->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
+HXDLIN( 223) while((_g7 < _g8->length)){
+HXLINE( 223) ::borogove::Stanza ref = _g8->__get(_g7).StaticCast< ::borogove::Stanza >();
+HXDLIN( 223) _g7 = (_g7 + 1);
+HXLINE( 224) bool _hx_tmp37;
+HXDLIN( 224) if (::hx::IsNull( ref->attr->get(HX_("begin",29,ea,55,b0)) )) {
+HXLINE( 224) _hx_tmp37 = ::hx::IsNull( ref->attr->get(HX_("end",db,03,4d,00)) );
+ }
+ else {
+HXLINE( 224) _hx_tmp37 = false;
+ }
+HXDLIN( 224) if (_hx_tmp37) {
+HXLINE( 225) ::borogove::Stanza sims = ref->getChild(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
+HXLINE( 226) if (::hx::IsNotNull( sims )) {
+HXLINE( 226) msg->attachSims(sims);
+ }
+ }
+ }
+ }
+HXLINE( 230) {
+HXLINE( 230) int _g9 = 0;
+HXDLIN( 230) ::Array< ::Dynamic> _g10 = stanza->allTags(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
+HXDLIN( 230) while((_g9 < _g10->length)){
+HXLINE( 230) ::borogove::Stanza sims1 = _g10->__get(_g9).StaticCast< ::borogove::Stanza >();
+HXDLIN( 230) _g9 = (_g9 + 1);
+HXLINE( 231) msg->attachSims(sims1);
+ }
+ }
+HXLINE( 234) ::String tmp16 = msg->text;
+HXDLIN( 234) ::String aesgcmBody;
+HXDLIN( 234) if (::hx::IsNotNull( tmp16 )) {
+HXLINE( 234) aesgcmBody = tmp16;
}
-HXLINE( 208) if (::hx::IsNotNull( addContext )) {
-HXLINE( 208) msg = ( ( ::borogove::ChatMessageBuilder)(addContext(msg,stanza)) );
+ else {
+HXLINE( 234) aesgcmBody = HX_("",00,00,00,00);
}
-HXLINE( 209) ::String timestamp;
-HXDLIN( 209) ::String tmp10 = msg->timestamp;
-HXDLIN( 209) if (::hx::IsNotNull( tmp10 )) {
-HXLINE( 209) timestamp = tmp10;
+HXDLIN( 234) ::Dynamic aesgcmBody1 = ::borogove::_XEP0454::XEP0454_Fields__obj::parse(aesgcmBody);
+HXLINE( 235) bool _hx_tmp38;
+HXDLIN( 235) bool _hx_tmp39;
+HXDLIN( 235) if (::hx::IsNotNull( aesgcmBody1 )) {
+HXLINE( 235) _hx_tmp39 = ::hx::IsNotNull( msg->text );
}
else {
-HXLINE( 209) timestamp = ::borogove::Date_obj::format(::Date_obj::now());
- }
-HXLINE( 210) msg->timestamp = timestamp;
-HXLINE( 212) ::borogove::Stanza reactionsEl = stanza->getChild(HX_("reactions",aa,cc,95,e7),HX_("urn:xmpp:reactions:0",44,fb,42,53));
-HXLINE( 213) if (::hx::IsNotNull( reactionsEl )) {
-HXLINE( 215) ::Array< ::Dynamic> _this = reactionsEl->allTags(HX_("reaction",a9,e7,b4,f6),null());
-HXDLIN( 215) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 215) {
-HXLINE( 215) int _g7 = 0;
-HXDLIN( 215) int _g8 = _this->length;
-HXDLIN( 215) while((_g7 < _g8)){
-HXLINE( 215) _g7 = (_g7 + 1);
-HXDLIN( 215) int i = (_g7 - 1);
-HXDLIN( 215) {
-HXLINE( 215) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
-HXDLIN( 215) result1->__unsafe_set(i,inValue);
+HXLINE( 235) _hx_tmp39 = false;
+ }
+HXDLIN( 235) if (_hx_tmp39) {
+HXLINE( 235) _hx_tmp38 = (msg->attachments->length < 1);
+ }
+ else {
+HXLINE( 235) _hx_tmp38 = false;
+ }
+HXDLIN( 235) if (_hx_tmp38) {
+HXLINE( 236) msg->addAttachment( ::borogove::ChatAttachment_obj::__alloc( HX_CTX ,null(),( (::String)(aesgcmBody1->__Field(HX_("mime",b4,4d,5c,48),::hx::paccDynamic)) ),null(),::Array_obj< ::String >::__new(1)->init(0,msg->text),::Array_obj< ::Dynamic>::__new(0)));
+HXLINE( 237) msg->text = null();
+ }
+HXLINE( 240) ::borogove::Stanza jmi = stanza->getChild(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 241) bool _hx_tmp40;
+HXDLIN( 241) if (::hx::IsNotNull( jmi )) {
+HXLINE( 241) _hx_tmp40 = (jmi->name != HX_("accept",08,93,06,0b));
+ }
+ else {
+HXLINE( 241) _hx_tmp40 = false;
+ }
+HXDLIN( 241) if (_hx_tmp40) {
+HXLINE( 242) msg->type = 1;
+HXLINE( 243) msg->payloads->push(jmi);
+HXLINE( 244) if (::hx::IsNull( msg->text )) {
+HXLINE( 244) msg->text = (HX_("call ",c2,71,1b,41) + jmi->name);
+ }
+HXLINE( 246) msg->localId = jmi->attr->get_string(HX_("id",db,5b,00,00));
+ }
+HXLINE( 249) if (::hx::IsNotNull( addContext )) {
+HXLINE( 249) msg = ( ( ::borogove::ChatMessageBuilder)(addContext(msg,stanza)) );
+ }
+HXLINE( 250) ::String timeSent;
+HXDLIN( 250) ::String tmp17 = msg->timeSent;
+HXDLIN( 250) ::String tmp18;
+HXDLIN( 250) if (::hx::IsNotNull( tmp17 )) {
+HXLINE( 250) tmp18 = tmp17;
+ }
+ else {
+HXLINE( 250) tmp18 = msg->timeReceived;
+ }
+HXDLIN( 250) if (::hx::IsNotNull( tmp18 )) {
+HXLINE( 250) timeSent = tmp18;
+ }
+ else {
+HXLINE( 250) timeSent = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXLINE( 252) bool _hx_tmp41;
+HXDLIN( 252) bool _hx_tmp42;
+HXDLIN( 252) if (::hx::IsNotNull( jmi )) {
+HXLINE( 252) _hx_tmp42 = (jmi->name != HX_("accept",08,93,06,0b));
+ }
+ else {
+HXLINE( 252) _hx_tmp42 = false;
+ }
+HXDLIN( 252) if (_hx_tmp42) {
+HXLINE( 252) _hx_tmp41 = (jmi->name != HX_("propose",fe,fe,e9,f9));
+ }
+ else {
+HXLINE( 252) _hx_tmp41 = false;
+ }
+HXDLIN( 252) if (_hx_tmp41) {
+HXLINE( 253) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
+ }
+HXLINE( 256) ::borogove::Stanza reactionsEl = stanza->getChild(HX_("reactions",aa,cc,95,e7),HX_("urn:xmpp:reactions:0",44,fb,42,53));
+HXLINE( 257) if (::hx::IsNotNull( reactionsEl )) {
+HXLINE( 259) ::Array< ::Dynamic> _this = reactionsEl->allTags(HX_("reaction",a9,e7,b4,f6),null());
+HXDLIN( 259) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 259) {
+HXLINE( 259) int _g11 = 0;
+HXDLIN( 259) int _g12 = _this->length;
+HXDLIN( 259) while((_g11 < _g12)){
+HXLINE( 259) _g11 = (_g11 + 1);
+HXDLIN( 259) int i = (_g11 - 1);
+HXDLIN( 259) {
+HXLINE( 259) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->getText();
+HXDLIN( 259) result1->__unsafe_set(i,inValue);
}
}
}
-HXLINE( 216) ::String reactionId = ( (::String)(::Reflect_obj::field(reactionsEl->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 217) if (::hx::IsNotNull( reactionId )) {
-HXLINE( 218) ::String _hx_tmp30 = msg->chatId();
-HXDLIN( 218) ::String _hx_tmp31 = msg->get_senderId();
-HXDLIN( 218) ::String msg5 = msg->threadId;
-HXLINE( 219) ::String _hx_tmp32;
-HXDLIN( 219) ::String tmp11 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 219) if (::hx::IsNotNull( tmp11 )) {
-HXLINE( 219) _hx_tmp32 = tmp11;
+HXLINE( 260) ::String reactionId = reactionsEl->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 261) if (::hx::IsNotNull( reactionId )) {
+HXLINE( 262) ::String _hx_tmp43 = msg->chatId();
+HXDLIN( 262) ::String _hx_tmp44 = msg->get_senderId();
+HXDLIN( 262) ::String msg5 = msg->threadId;
+HXLINE( 263) ::String _hx_tmp45;
+HXDLIN( 263) ::String tmp19 = stanza->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 263) if (::hx::IsNotNull( tmp19 )) {
+HXLINE( 263) _hx_tmp45 = tmp19;
}
else {
-HXLINE( 219) _hx_tmp32 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 263) _hx_tmp45 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXLINE( 220) ::String _hx_tmp33;
-HXDLIN( 220) if (isGroupchat) {
-HXLINE( 220) _hx_tmp33 = reactionId;
+HXLINE( 264) ::String _hx_tmp46;
+HXDLIN( 264) if (isGroupchat) {
+HXLINE( 264) _hx_tmp46 = reactionId;
}
else {
-HXLINE( 220) _hx_tmp33 = null();
+HXLINE( 264) _hx_tmp46 = null();
}
-HXLINE( 221) ::String _hx_tmp34;
-HXDLIN( 221) if (isGroupchat) {
-HXLINE( 221) _hx_tmp34 = msg->chatId();
+HXLINE( 265) ::String _hx_tmp47;
+HXDLIN( 265) if (isGroupchat) {
+HXLINE( 265) _hx_tmp47 = msg->chatId();
}
else {
-HXLINE( 221) _hx_tmp34 = null();
+HXLINE( 265) _hx_tmp47 = null();
}
-HXLINE( 222) ::String _hx_tmp35;
-HXDLIN( 222) if (isGroupchat) {
-HXLINE( 222) _hx_tmp35 = null();
+HXLINE( 266) ::String _hx_tmp48;
+HXDLIN( 266) if (isGroupchat) {
+HXLINE( 266) _hx_tmp48 = null();
}
else {
-HXLINE( 222) _hx_tmp35 = reactionId;
+HXLINE( 266) _hx_tmp48 = reactionId;
}
-HXLINE( 223) ::String _hx_tmp36 = msg->chatId();
-HXLINE( 224) ::String tmp12 = msg->get_senderId();
-HXDLIN( 224) if (::hx::IsNull( tmp12 )) {
-HXLINE( 224) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 267) ::String _hx_tmp49 = msg->chatId();
+HXLINE( 268) ::String tmp20 = msg->get_senderId();
+HXDLIN( 268) if (::hx::IsNull( tmp20 )) {
+HXLINE( 268) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXLINE( 226) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(result1->length);
-HXDLIN( 226) {
-HXLINE( 226) int _g9 = 0;
-HXDLIN( 226) int _g10 = result1->length;
-HXDLIN( 226) while((_g9 < _g10)){
-HXLINE( 226) _g9 = (_g9 + 1);
-HXDLIN( 226) int i1 = (_g9 - 1);
-HXDLIN( 226) {
-HXLINE( 226) ::String text = ( (::String)(_hx_array_unsafe_get(result1,i1)) );
-HXDLIN( 226) ::String tmp13 = msg->get_senderId();
-HXDLIN( 226) if (::hx::IsNull( tmp13 )) {
-HXLINE( 226) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 270) ::Array< ::Dynamic> result2 = ::Array_obj< ::Dynamic>::__new(result1->length);
+HXDLIN( 270) {
+HXLINE( 270) int _g13 = 0;
+HXDLIN( 270) int _g14 = result1->length;
+HXDLIN( 270) while((_g13 < _g14)){
+HXLINE( 270) _g13 = (_g13 + 1);
+HXDLIN( 270) int i1 = (_g13 - 1);
+HXDLIN( 270) {
+HXLINE( 270) ::String text = ( (::String)(_hx_array_unsafe_get(result1,i1)) );
+HXDLIN( 270) ::String tmp21 = msg->get_senderId();
+HXDLIN( 270) if (::hx::IsNull( tmp21 )) {
+HXLINE( 270) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXDLIN( 226) ::borogove::Reaction inValue1 = ::borogove::Reaction_obj::__alloc( HX_CTX ,tmp13,timestamp,text,msg->localId,null());
-HXDLIN( 226) result2->__unsafe_set(i1,inValue1);
+HXDLIN( 270) ::borogove::Reaction inValue1 = ::borogove::Reaction_obj::__alloc( HX_CTX ,tmp21,timeSent,text,msg->localId,null());
+HXDLIN( 270) result2->__unsafe_set(i1,inValue1);
}
}
}
-HXLINE( 218) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp30,_hx_tmp31,msg5,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp32,_hx_tmp33,_hx_tmp34,_hx_tmp35,_hx_tmp36,tmp12,timestamp,result2,0)),encryptionInfo);
- }
- }
-HXLINE( 232) {
-HXLINE( 232) int _g11 = 0;
-HXDLIN( 232) ::Array< ::Dynamic> _g12 = stanza->allTags(HX_("reference",cb,07,c5,5a),HX_("urn:xmpp:reference:0",a5,00,10,5d));
-HXDLIN( 232) while((_g11 < _g12->length)){
-HXLINE( 232) ::borogove::Stanza ref = _g12->__get(_g11).StaticCast< ::borogove::Stanza >();
-HXDLIN( 232) _g11 = (_g11 + 1);
-HXLINE( 233) bool _hx_tmp37;
-HXDLIN( 233) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("begin",29,ea,55,b0))) ) )) {
-HXLINE( 233) _hx_tmp37 = ::hx::IsNull( ( (::String)(::Reflect_obj::field(ref->attr,HX_("end",db,03,4d,00))) ) );
- }
- else {
-HXLINE( 233) _hx_tmp37 = false;
- }
-HXDLIN( 233) if (_hx_tmp37) {
-HXLINE( 234) ::borogove::Stanza sims = ref->getChild(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
-HXLINE( 235) if (::hx::IsNotNull( sims )) {
-HXLINE( 235) msg->attachSims(sims);
- }
- }
- }
- }
-HXLINE( 239) {
-HXLINE( 239) int _g13 = 0;
-HXDLIN( 239) ::Array< ::Dynamic> _g14 = stanza->allTags(HX_("media-sharing",33,1c,0a,3d),HX_("urn:xmpp:sims:1",4f,1c,49,62));
-HXDLIN( 239) while((_g13 < _g14->length)){
-HXLINE( 239) ::borogove::Stanza sims1 = _g14->__get(_g13).StaticCast< ::borogove::Stanza >();
-HXDLIN( 239) _g13 = (_g13 + 1);
-HXLINE( 240) msg->attachSims(sims1);
+HXLINE( 262) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp43,_hx_tmp44,msg5,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp45,_hx_tmp46,_hx_tmp47,_hx_tmp48,_hx_tmp49,tmp20,timeSent,result2,0)),encryptionInfo);
}
}
-HXLINE( 243) ::borogove::Stanza jmi = stanza->getChild(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 244) bool _hx_tmp38;
-HXDLIN( 244) if (::hx::IsNotNull( jmi )) {
-HXLINE( 244) _hx_tmp38 = (jmi->name != HX_("accept",08,93,06,0b));
+HXLINE( 276) ::borogove::Stanza retract = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+HXLINE( 277) ::borogove::Stanza fasten = stanza->getChild(HX_("apply-to",3a,9e,dd,24),HX_("urn:xmpp:fasten:0",17,f4,ed,3d));
+HXLINE( 278) ::borogove::Stanza moderated;
+HXDLIN( 278) ::borogove::Stanza tmp22;
+HXDLIN( 278) if (::hx::IsNotNull( retract )) {
+HXLINE( 278) tmp22 = retract->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
}
else {
-HXLINE( 244) _hx_tmp38 = false;
- }
-HXDLIN( 244) if (_hx_tmp38) {
-HXLINE( 245) msg->type = 1;
-HXLINE( 246) msg->payloads->push(jmi);
-HXLINE( 247) if (::hx::IsNull( msg->text )) {
-HXLINE( 247) msg->text = (HX_("call ",c2,71,1b,41) + jmi->name);
- }
-HXLINE( 248) if ((jmi->name != HX_("propose",fe,fe,e9,f9))) {
-HXLINE( 249) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
- }
-HXLINE( 252) msg->localId = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 278) tmp22 = null();
}
-HXLINE( 255) ::borogove::Stanza retract = stanza->getChild(HX_("retract",01,e2,b9,fc),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
-HXLINE( 256) ::borogove::Stanza fasten = stanza->getChild(HX_("apply-to",3a,9e,dd,24),HX_("urn:xmpp:fasten:0",17,f4,ed,3d));
-HXLINE( 257) ::borogove::Stanza moderated;
-HXDLIN( 257) ::borogove::Stanza tmp14;
-HXDLIN( 257) if (::hx::IsNotNull( retract )) {
-HXLINE( 257) tmp14 = retract->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+HXDLIN( 278) if (::hx::IsNotNull( tmp22 )) {
+HXLINE( 278) moderated = tmp22;
}
else {
-HXLINE( 257) tmp14 = null();
- }
-HXDLIN( 257) if (::hx::IsNotNull( tmp14 )) {
-HXLINE( 257) moderated = tmp14;
- }
- else {
-HXLINE( 257) if (::hx::IsNotNull( fasten )) {
-HXLINE( 257) moderated = fasten->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-moderate:0",5b,30,1a,b9));
+HXLINE( 278) if (::hx::IsNotNull( fasten )) {
+HXLINE( 278) moderated = fasten->getChild(HX_("moderated",41,37,3b,22),HX_("urn:xmpp:message-moderate:0",5b,30,1a,b9));
}
else {
-HXLINE( 257) moderated = null();
+HXLINE( 278) moderated = null();
}
}
-HXLINE( 258) ::String moderateServerId;
-HXDLIN( 258) ::Dynamic tmp15;
-HXDLIN( 258) if (::hx::IsNotNull( retract )) {
-HXLINE( 258) tmp15 = retract->attr;
+HXLINE( 279) ::String moderateServerId;
+HXDLIN( 279) ::haxe::ds::StringMap tmp23;
+HXDLIN( 279) if (::hx::IsNotNull( retract )) {
+HXLINE( 279) tmp23 = retract->attr;
}
else {
-HXLINE( 258) tmp15 = null();
+HXLINE( 279) tmp23 = null();
}
-HXDLIN( 258) ::String tmp16;
-HXDLIN( 258) if (::hx::IsNotNull( tmp15 )) {
-HXLINE( 258) tmp16 = ( (::String)(::Reflect_obj::field(tmp15,HX_("id",db,5b,00,00))) );
+HXDLIN( 279) ::String tmp24;
+HXDLIN( 279) if (::hx::IsNotNull( tmp23 )) {
+HXLINE( 279) tmp24 = tmp23->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE( 258) tmp16 = null();
+HXLINE( 279) tmp24 = null();
}
-HXDLIN( 258) if (::hx::IsNotNull( tmp16 )) {
-HXLINE( 258) moderateServerId = tmp16;
+HXDLIN( 279) if (::hx::IsNotNull( tmp24 )) {
+HXLINE( 279) moderateServerId = tmp24;
}
else {
-HXLINE( 258) ::Dynamic tmp17;
-HXDLIN( 258) if (::hx::IsNotNull( fasten )) {
-HXLINE( 258) tmp17 = fasten->attr;
+HXLINE( 279) ::haxe::ds::StringMap tmp25;
+HXDLIN( 279) if (::hx::IsNotNull( fasten )) {
+HXLINE( 279) tmp25 = fasten->attr;
}
else {
-HXLINE( 258) tmp17 = null();
+HXLINE( 279) tmp25 = null();
}
-HXDLIN( 258) if (::hx::IsNotNull( tmp17 )) {
-HXLINE( 258) moderateServerId = ( (::String)(::Reflect_obj::field(tmp17,HX_("id",db,5b,00,00))) );
+HXDLIN( 279) if (::hx::IsNotNull( tmp25 )) {
+HXLINE( 279) moderateServerId = tmp25->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE( 258) moderateServerId = null();
+HXLINE( 279) moderateServerId = null();
}
}
-HXLINE( 259) bool _hx_tmp39;
-HXDLIN( 259) bool _hx_tmp40;
-HXDLIN( 259) bool _hx_tmp41;
-HXDLIN( 259) bool _hx_tmp42;
-HXDLIN( 259) bool _hx_tmp43;
-HXDLIN( 259) if (::hx::IsNotNull( moderated )) {
-HXLINE( 259) _hx_tmp43 = ::hx::IsNotNull( moderateServerId );
+HXLINE( 280) bool _hx_tmp50;
+HXDLIN( 280) bool _hx_tmp51;
+HXDLIN( 280) bool _hx_tmp52;
+HXDLIN( 280) bool _hx_tmp53;
+HXDLIN( 280) bool _hx_tmp54;
+HXDLIN( 280) if (::hx::IsNotNull( moderated )) {
+HXLINE( 280) _hx_tmp54 = ::hx::IsNotNull( moderateServerId );
}
else {
-HXLINE( 259) _hx_tmp43 = false;
+HXLINE( 280) _hx_tmp54 = false;
}
-HXDLIN( 259) if (_hx_tmp43) {
-HXLINE( 259) _hx_tmp42 = isGroupchat;
+HXDLIN( 280) if (_hx_tmp54) {
+HXLINE( 280) _hx_tmp53 = isGroupchat;
}
else {
-HXLINE( 259) _hx_tmp42 = false;
+HXLINE( 280) _hx_tmp53 = false;
}
-HXDLIN( 259) if (_hx_tmp42) {
-HXLINE( 259) _hx_tmp41 = ::hx::IsNotNull( msg->from );
+HXDLIN( 280) if (_hx_tmp53) {
+HXLINE( 280) _hx_tmp52 = ::hx::IsNotNull( msg->from );
}
else {
-HXLINE( 259) _hx_tmp41 = false;
+HXLINE( 280) _hx_tmp52 = false;
}
-HXDLIN( 259) if (_hx_tmp41) {
-HXLINE( 259) _hx_tmp40 = msg->from->isBare();
+HXDLIN( 280) if (_hx_tmp52) {
+HXLINE( 280) _hx_tmp51 = msg->from->isBare();
}
else {
-HXLINE( 259) _hx_tmp40 = false;
+HXLINE( 280) _hx_tmp51 = false;
}
-HXDLIN( 259) if (_hx_tmp40) {
-HXLINE( 259) ::String _hx_tmp44 = msg->from->asString();
-HXDLIN( 259) _hx_tmp39 = (_hx_tmp44 == msg->chatId());
+HXDLIN( 280) if (_hx_tmp51) {
+HXLINE( 280) ::String _hx_tmp55 = msg->from->asString();
+HXDLIN( 280) _hx_tmp50 = (_hx_tmp55 == msg->chatId());
}
else {
-HXLINE( 259) _hx_tmp39 = false;
+HXLINE( 280) _hx_tmp50 = false;
}
-HXDLIN( 259) if (_hx_tmp39) {
-HXLINE( 260) ::String reason1;
-HXDLIN( 260) ::String tmp18;
-HXDLIN( 260) if (::hx::IsNotNull( retract )) {
-HXLINE( 260) tmp18 = retract->getChildText(HX_("reason",c4,0f,9d,fc),null());
+HXDLIN( 280) if (_hx_tmp50) {
+HXLINE( 281) ::String reason1;
+HXDLIN( 281) ::String tmp26;
+HXDLIN( 281) if (::hx::IsNotNull( retract )) {
+HXLINE( 281) tmp26 = retract->getChildText(HX_("reason",c4,0f,9d,fc),null());
}
else {
-HXLINE( 260) tmp18 = null();
+HXLINE( 281) tmp26 = null();
}
-HXDLIN( 260) if (::hx::IsNotNull( tmp18 )) {
-HXLINE( 260) reason1 = tmp18;
+HXDLIN( 281) if (::hx::IsNotNull( tmp26 )) {
+HXLINE( 281) reason1 = tmp26;
}
else {
-HXLINE( 260) if (::hx::IsNotNull( moderated )) {
-HXLINE( 260) reason1 = moderated->getChildText(HX_("reason",c4,0f,9d,fc),null());
+HXLINE( 281) if (::hx::IsNotNull( moderated )) {
+HXLINE( 281) reason1 = moderated->getChildText(HX_("reason",c4,0f,9d,fc),null());
}
else {
-HXLINE( 260) reason1 = null();
+HXLINE( 281) reason1 = null();
}
}
-HXLINE( 261) ::String by = ( (::String)(::Reflect_obj::field(moderated->attr,HX_("by",d7,55,00,00))) );
-HXLINE( 264) ::String _hx_tmp45 = msg->chatId();
-HXLINE( 265) ::String _hx_tmp46 = msg->get_senderId();
-HXLINE( 266) ::String msg6 = msg->threadId;
-HXLINE( 263) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp45,_hx_tmp46,msg6,::borogove::MessageStanza_obj::ModerateMessageStanza( ::borogove::ModerationAction_obj::__alloc( HX_CTX ,msg->chatId(),moderateServerId,timestamp,by,reason1)),encryptionInfo);
+HXLINE( 282) ::String by = moderated->attr->get_string(HX_("by",d7,55,00,00));
+HXLINE( 285) ::String _hx_tmp56 = msg->chatId();
+HXLINE( 286) ::String _hx_tmp57 = msg->get_senderId();
+HXLINE( 287) ::String msg6 = msg->threadId;
+HXLINE( 288) ::String _hx_tmp58 = msg->chatId();
+HXDLIN( 288) ::String tmp27 = msg->timeReceived;
+HXDLIN( 288) ::String _hx_tmp59;
+HXDLIN( 288) if (::hx::IsNotNull( tmp27 )) {
+HXLINE( 288) _hx_tmp59 = tmp27;
+ }
+ else {
+HXLINE( 288) _hx_tmp59 = ::borogove::Date_obj::format(::Date_obj::now());
+ }
+HXLINE( 284) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp56,_hx_tmp57,msg6,::borogove::MessageStanza_obj::ModerateMessageStanza( ::borogove::ModerationAction_obj::__alloc( HX_CTX ,_hx_tmp58,moderateServerId,timeSent,_hx_tmp59,by,reason1)),encryptionInfo);
}
-HXLINE( 272) ::borogove::Stanza retracted = stanza->getChild(HX_("retracted",a0,7c,77,08),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
-HXLINE( 273) if (::hx::IsNotNull( retracted )) {
-HXLINE( 275) msg->payloads->push(retracted);
+HXLINE( 293) ::borogove::Stanza retracted = stanza->getChild(HX_("retracted",a0,7c,77,08),HX_("urn:xmpp:message-retract:1",16,5e,d8,d5));
+HXLINE( 294) if (::hx::IsNotNull( retracted )) {
+HXLINE( 296) msg->payloads->push(retracted);
}
-HXLINE( 278) ::borogove::Stanza replace = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-correct:0",be,10,1b,b0));
-HXLINE( 279) ::Dynamic tmp19;
-HXDLIN( 279) if (::hx::IsNotNull( replace )) {
-HXLINE( 279) tmp19 = replace->attr;
+HXLINE( 299) ::borogove::Stanza replace = stanza->getChild(HX_("replace",34,48,28,ab),HX_("urn:xmpp:message-correct:0",be,10,1b,b0));
+HXLINE( 300) ::haxe::ds::StringMap tmp28;
+HXDLIN( 300) if (::hx::IsNotNull( replace )) {
+HXLINE( 300) tmp28 = replace->attr;
}
else {
-HXLINE( 279) tmp19 = null();
+HXLINE( 300) tmp28 = null();
}
-HXDLIN( 279) ::String replaceId;
-HXDLIN( 279) if (::hx::IsNotNull( tmp19 )) {
-HXLINE( 279) replaceId = ( (::String)(::Reflect_obj::field(tmp19,HX_("id",db,5b,00,00))) );
+HXDLIN( 300) ::String replaceId;
+HXDLIN( 300) if (::hx::IsNotNull( tmp28 )) {
+HXLINE( 300) replaceId = tmp28->get_string(HX_("id",db,5b,00,00));
}
else {
-HXLINE( 279) replaceId = null();
+HXLINE( 300) replaceId = null();
}
-HXLINE( 281) bool _hx_tmp47;
-HXDLIN( 281) bool _hx_tmp48;
-HXDLIN( 281) bool _hx_tmp49;
-HXDLIN( 281) bool _hx_tmp50;
-HXDLIN( 281) if (!(preferChatMessage)) {
-HXLINE( 281) _hx_tmp50 = ::hx::IsNull( msg->text );
+HXLINE( 302) bool _hx_tmp60;
+HXDLIN( 302) bool _hx_tmp61;
+HXDLIN( 302) bool _hx_tmp62;
+HXDLIN( 302) bool _hx_tmp63;
+HXDLIN( 302) if (!(preferChatMessage)) {
+HXLINE( 302) _hx_tmp63 = ::hx::IsNull( msg->text );
}
else {
-HXLINE( 281) _hx_tmp50 = false;
+HXLINE( 302) _hx_tmp63 = false;
}
-HXDLIN( 281) if (_hx_tmp50) {
-HXLINE( 281) _hx_tmp49 = (msg->attachments->length < 1);
+HXDLIN( 302) if (_hx_tmp63) {
+HXLINE( 302) _hx_tmp62 = (msg->attachments->length < 1);
}
else {
-HXLINE( 281) _hx_tmp49 = false;
+HXLINE( 302) _hx_tmp62 = false;
}
-HXDLIN( 281) if (_hx_tmp49) {
-HXLINE( 281) _hx_tmp48 = ::hx::IsNull( replaceId );
+HXDLIN( 302) if (_hx_tmp62) {
+HXLINE( 302) _hx_tmp61 = ::hx::IsNull( replaceId );
}
else {
-HXLINE( 281) _hx_tmp48 = false;
+HXLINE( 302) _hx_tmp61 = false;
}
-HXDLIN( 281) if (_hx_tmp48) {
-HXLINE( 281) _hx_tmp47 = ::hx::IsNull( retracted );
+HXDLIN( 302) if (_hx_tmp61) {
+HXLINE( 302) _hx_tmp60 = ::hx::IsNull( retracted );
}
else {
-HXLINE( 281) _hx_tmp47 = false;
+HXLINE( 302) _hx_tmp60 = false;
}
-HXDLIN( 281) if (_hx_tmp47) {
-HXLINE( 282) bool _hx_tmp51;
-HXDLIN( 282) if ((msg->payloads->length == 1)) {
-HXLINE( 282) _hx_tmp51 = (msg->payloads->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("subject",ac,01,88,29));
+HXDLIN( 302) if (_hx_tmp60) {
+HXLINE( 303) bool _hx_tmp64;
+HXDLIN( 303) if ((msg->payloads->length == 1)) {
+HXLINE( 303) _hx_tmp64 = (msg->payloads->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("subject",ac,01,88,29));
}
else {
-HXLINE( 282) _hx_tmp51 = false;
- }
-HXDLIN( 282) if (_hx_tmp51) {
-HXLINE( 283) ::String _hx_tmp52 = msg->chatId();
-HXDLIN( 283) ::String _hx_tmp53 = msg->get_senderId();
-HXDLIN( 283) ::String msg7 = msg->threadId;
-HXDLIN( 283) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp52,_hx_tmp53,msg7,::borogove::MessageStanza_obj::SubjectStanza(msg->payloads->__get(0).StaticCast< ::borogove::Stanza >()->getText()),encryptionInfo);
- }
-HXLINE( 286) ::String _hx_tmp54 = msg->chatId();
-HXDLIN( 286) ::String _hx_tmp55 = msg->get_senderId();
-HXDLIN( 286) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp54,_hx_tmp55,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
- }
-HXLINE( 289) {
-HXLINE( 289) int _g15 = 0;
-HXDLIN( 289) ::Array< ::Dynamic> _g16 = stanza->allTags(HX_("fallback",22,f0,9d,2a),HX_("urn:xmpp:fallback:0",74,aa,56,9b));
-HXDLIN( 289) while((_g15 < _g16->length)){
-HXLINE( 289) ::borogove::Stanza fallback = _g16->__get(_g15).StaticCast< ::borogove::Stanza >();
-HXDLIN( 289) _g15 = (_g15 + 1);
-HXLINE( 290) msg->payloads->push(fallback);
- }
- }
-HXLINE( 293) ::borogove::Stanza unstyled = stanza->getChild(HX_("unstyled",2c,15,1a,18),HX_("urn:xmpp:styling:0",48,d3,aa,fb));
-HXLINE( 294) if (::hx::IsNotNull( unstyled )) {
-HXLINE( 295) msg->payloads->push(unstyled);
- }
-HXLINE( 298) ::borogove::Stanza html = stanza->getChild(HX_("html",6b,95,16,45),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce));
-HXLINE( 299) if (::hx::IsNotNull( html )) {
-HXLINE( 300) msg->payloads->push(html);
- }
-HXLINE( 303) ::borogove::Stanza reply = stanza->getChild(HX_("reply",2a,09,c6,e6),HX_("urn:xmpp:reply:0",c4,d5,6f,90));
-HXLINE( 304) if (::hx::IsNotNull( reply )) {
-HXLINE( 305) ::String replyToJid = ( (::String)(::Reflect_obj::field(reply->attr,HX_("to",7b,65,00,00))) );
-HXLINE( 306) ::String replyToID = ( (::String)(::Reflect_obj::field(reply->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 308) ::String text1 = msg->text;
-HXLINE( 309) bool _hx_tmp56;
-HXDLIN( 309) if (::hx::IsNotNull( text1 )) {
-HXLINE( 309) _hx_tmp56 = ::borogove::EmojiUtil_obj::isOnlyEmoji(::StringTools_obj::trim(text1));
+HXLINE( 303) _hx_tmp64 = false;
+ }
+HXDLIN( 303) if (_hx_tmp64) {
+HXLINE( 304) ::String _hx_tmp65 = msg->chatId();
+HXDLIN( 304) ::String _hx_tmp66 = msg->get_senderId();
+HXDLIN( 304) ::String msg7 = msg->threadId;
+HXDLIN( 304) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp65,_hx_tmp66,msg7,::borogove::MessageStanza_obj::SubjectStanza(msg->payloads->__get(0).StaticCast< ::borogove::Stanza >()->getText()),encryptionInfo);
+ }
+HXLINE( 307) ::String _hx_tmp67 = msg->chatId();
+HXDLIN( 307) ::String _hx_tmp68 = msg->get_senderId();
+HXDLIN( 307) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp67,_hx_tmp68,msg->threadId,::borogove::MessageStanza_obj::UnknownMessageStanza(stanza),encryptionInfo);
+ }
+HXLINE( 310) {
+HXLINE( 310) int _g15 = 0;
+HXDLIN( 310) ::Array< ::Dynamic> _g16 = stanza->allTags(HX_("fallback",22,f0,9d,2a),HX_("urn:xmpp:fallback:0",74,aa,56,9b));
+HXDLIN( 310) while((_g15 < _g16->length)){
+HXLINE( 310) ::borogove::Stanza fallback = _g16->__get(_g15).StaticCast< ::borogove::Stanza >();
+HXDLIN( 310) _g15 = (_g15 + 1);
+HXLINE( 311) msg->payloads->push(fallback);
+ }
+ }
+HXLINE( 314) ::borogove::Stanza unstyled = stanza->getChild(HX_("unstyled",2c,15,1a,18),HX_("urn:xmpp:styling:0",48,d3,aa,fb));
+HXLINE( 315) if (::hx::IsNotNull( unstyled )) {
+HXLINE( 316) msg->payloads->push(unstyled);
+ }
+HXLINE( 319) ::borogove::Stanza html = stanza->getChild(HX_("html",6b,95,16,45),HX_("http://jabber.org/protocol/xhtml-im",c2,5d,b2,ce));
+HXLINE( 320) if (::hx::IsNotNull( html )) {
+HXLINE( 321) msg->payloads->push(html);
+ }
+HXLINE( 324) ::borogove::Stanza reply = stanza->getChild(HX_("reply",2a,09,c6,e6),HX_("urn:xmpp:reply:0",c4,d5,6f,90));
+HXLINE( 325) if (::hx::IsNotNull( reply )) {
+HXLINE( 326) ::String replyToJid = reply->attr->get_string(HX_("to",7b,65,00,00));
+HXLINE( 327) ::String replyToID = reply->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 329) ::String text1 = msg->text;
+HXLINE( 330) bool _hx_tmp69;
+HXDLIN( 330) if (::hx::IsNotNull( text1 )) {
+HXLINE( 330) _hx_tmp69 = ::borogove::EmojiUtil_obj::isOnlyEmoji(::StringTools_obj::trim(text1));
}
else {
-HXLINE( 309) _hx_tmp56 = false;
- }
-HXDLIN( 309) if (_hx_tmp56) {
-HXLINE( 310) ::String _hx_tmp57 = msg->chatId();
-HXDLIN( 310) ::String _hx_tmp58 = msg->get_senderId();
-HXDLIN( 310) ::String msg8 = msg->threadId;
-HXLINE( 311) ::String _hx_tmp59;
-HXDLIN( 311) ::String tmp20 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 311) if (::hx::IsNotNull( tmp20 )) {
-HXLINE( 311) _hx_tmp59 = tmp20;
+HXLINE( 330) _hx_tmp69 = false;
+ }
+HXDLIN( 330) if (_hx_tmp69) {
+HXLINE( 331) ::String _hx_tmp70 = msg->chatId();
+HXDLIN( 331) ::String _hx_tmp71 = msg->get_senderId();
+HXDLIN( 331) ::String msg8 = msg->threadId;
+HXLINE( 332) ::String _hx_tmp72;
+HXDLIN( 332) ::String tmp29 = stanza->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 332) if (::hx::IsNotNull( tmp29 )) {
+HXLINE( 332) _hx_tmp72 = tmp29;
}
else {
-HXLINE( 311) _hx_tmp59 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 332) _hx_tmp72 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXLINE( 312) ::String _hx_tmp60;
-HXDLIN( 312) if (isGroupchat) {
-HXLINE( 312) _hx_tmp60 = replyToID;
+HXLINE( 333) ::String _hx_tmp73;
+HXDLIN( 333) if (isGroupchat) {
+HXLINE( 333) _hx_tmp73 = replyToID;
}
else {
-HXLINE( 312) _hx_tmp60 = null();
+HXLINE( 333) _hx_tmp73 = null();
}
-HXLINE( 313) ::String _hx_tmp61;
-HXDLIN( 313) if (isGroupchat) {
-HXLINE( 313) _hx_tmp61 = msg->chatId();
+HXLINE( 334) ::String _hx_tmp74;
+HXDLIN( 334) if (isGroupchat) {
+HXLINE( 334) _hx_tmp74 = msg->chatId();
}
else {
-HXLINE( 313) _hx_tmp61 = null();
+HXLINE( 334) _hx_tmp74 = null();
}
-HXLINE( 314) ::String _hx_tmp62;
-HXDLIN( 314) if (isGroupchat) {
-HXLINE( 314) _hx_tmp62 = null();
+HXLINE( 335) ::String _hx_tmp75;
+HXDLIN( 335) if (isGroupchat) {
+HXLINE( 335) _hx_tmp75 = null();
}
else {
-HXLINE( 314) _hx_tmp62 = replyToID;
+HXLINE( 335) _hx_tmp75 = replyToID;
}
-HXLINE( 315) ::String _hx_tmp63 = msg->chatId();
-HXLINE( 316) ::String tmp21 = msg->get_senderId();
-HXDLIN( 316) if (::hx::IsNull( tmp21 )) {
-HXLINE( 316) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 336) ::String _hx_tmp76 = msg->chatId();
+HXLINE( 337) ::String tmp30 = msg->get_senderId();
+HXDLIN( 337) if (::hx::IsNull( tmp30 )) {
+HXLINE( 337) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXLINE( 318) ::String tmp22 = msg->get_senderId();
-HXDLIN( 318) if (::hx::IsNull( tmp22 )) {
-HXLINE( 318) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 339) ::String tmp31 = msg->get_senderId();
+HXDLIN( 339) if (::hx::IsNull( tmp31 )) {
+HXLINE( 339) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXDLIN( 318) ::String _hx_tmp64 = ::StringTools_obj::trim(text1);
-HXLINE( 310) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp57,_hx_tmp58,msg8,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp59,_hx_tmp60,_hx_tmp61,_hx_tmp62,_hx_tmp63,tmp21,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Reaction_obj::__alloc( HX_CTX ,tmp22,timestamp,_hx_tmp64,msg->localId,null())),1)),encryptionInfo);
- }
-HXLINE( 323) if (::hx::IsNotNull( html )) {
-HXLINE( 324) ::borogove::Stanza body = html->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
-HXLINE( 325) if (::hx::IsNotNull( body )) {
-HXLINE( 326) ::Array< ::Dynamic> els = body->allTags(null(),null());
-HXLINE( 327) bool _hx_tmp65;
-HXDLIN( 327) if ((els->length == 1)) {
-HXLINE( 327) _hx_tmp65 = (els->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("img",03,0c,50,00));
+HXDLIN( 339) ::String _hx_tmp77 = ::StringTools_obj::trim(text1);
+HXLINE( 331) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp70,_hx_tmp71,msg8,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp72,_hx_tmp73,_hx_tmp74,_hx_tmp75,_hx_tmp76,tmp30,timeSent,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Reaction_obj::__alloc( HX_CTX ,tmp31,timeSent,_hx_tmp77,msg->localId,null())),1)),encryptionInfo);
+ }
+HXLINE( 344) if (::hx::IsNotNull( html )) {
+HXLINE( 345) ::borogove::Stanza body = html->getChild(HX_("body",a2,7a,1b,41),HX_("http://www.w3.org/1999/xhtml",90,6d,f8,c8));
+HXLINE( 346) if (::hx::IsNotNull( body )) {
+HXLINE( 347) ::Array< ::Dynamic> els = body->allTags(null(),null());
+HXLINE( 348) bool _hx_tmp78;
+HXDLIN( 348) if ((els->length == 1)) {
+HXLINE( 348) _hx_tmp78 = (els->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("img",03,0c,50,00));
}
else {
-HXLINE( 327) _hx_tmp65 = false;
+HXLINE( 348) _hx_tmp78 = false;
}
-HXDLIN( 327) if (_hx_tmp65) {
-HXLINE( 328) ::String tmp23 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("src",e4,a6,57,00))) );
-HXDLIN( 328) ::String hash;
-HXDLIN( 328) if (::hx::IsNotNull( tmp23 )) {
-HXLINE( 328) hash = tmp23;
+HXDLIN( 348) if (_hx_tmp78) {
+HXLINE( 349) ::String tmp32 = els->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("src",e4,a6,57,00));
+HXDLIN( 349) ::String hash;
+HXDLIN( 349) if (::hx::IsNotNull( tmp32 )) {
+HXLINE( 349) hash = tmp32;
}
else {
-HXLINE( 328) hash = HX_("",00,00,00,00);
+HXLINE( 349) hash = HX_("",00,00,00,00);
}
-HXDLIN( 328) ::borogove::Hash hash1 = ::borogove::Hash_obj::fromUri(hash);
-HXLINE( 329) if (::hx::IsNotNull( hash1 )) {
-HXLINE( 330) ::String _hx_tmp66 = msg->chatId();
-HXDLIN( 330) ::String _hx_tmp67 = msg->get_senderId();
-HXDLIN( 330) ::String msg9 = msg->threadId;
-HXLINE( 331) ::String _hx_tmp68;
-HXDLIN( 331) ::String tmp24 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 331) if (::hx::IsNotNull( tmp24 )) {
-HXLINE( 331) _hx_tmp68 = tmp24;
+HXDLIN( 349) ::borogove::Hash hash1 = ::borogove::Hash_obj::fromUri(hash);
+HXLINE( 350) if (::hx::IsNotNull( hash1 )) {
+HXLINE( 351) ::String _hx_tmp79 = msg->chatId();
+HXDLIN( 351) ::String _hx_tmp80 = msg->get_senderId();
+HXDLIN( 351) ::String msg9 = msg->threadId;
+HXLINE( 352) ::String _hx_tmp81;
+HXDLIN( 352) ::String tmp33 = stanza->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 352) if (::hx::IsNotNull( tmp33 )) {
+HXLINE( 352) _hx_tmp81 = tmp33;
}
else {
-HXLINE( 331) _hx_tmp68 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 352) _hx_tmp81 = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
-HXLINE( 332) ::String _hx_tmp69;
-HXDLIN( 332) if (isGroupchat) {
-HXLINE( 332) _hx_tmp69 = replyToID;
+HXLINE( 353) ::String _hx_tmp82;
+HXDLIN( 353) if (isGroupchat) {
+HXLINE( 353) _hx_tmp82 = replyToID;
}
else {
-HXLINE( 332) _hx_tmp69 = null();
+HXLINE( 353) _hx_tmp82 = null();
}
-HXLINE( 333) ::String _hx_tmp70;
-HXDLIN( 333) if (isGroupchat) {
-HXLINE( 333) _hx_tmp70 = msg->chatId();
+HXLINE( 354) ::String _hx_tmp83;
+HXDLIN( 354) if (isGroupchat) {
+HXLINE( 354) _hx_tmp83 = msg->chatId();
}
else {
-HXLINE( 333) _hx_tmp70 = null();
+HXLINE( 354) _hx_tmp83 = null();
}
-HXLINE( 334) ::String _hx_tmp71;
-HXDLIN( 334) if (isGroupchat) {
-HXLINE( 334) _hx_tmp71 = null();
+HXLINE( 355) ::String _hx_tmp84;
+HXDLIN( 355) if (isGroupchat) {
+HXLINE( 355) _hx_tmp84 = null();
}
else {
-HXLINE( 334) _hx_tmp71 = replyToID;
+HXLINE( 355) _hx_tmp84 = replyToID;
}
-HXLINE( 335) ::String _hx_tmp72 = msg->chatId();
-HXLINE( 336) ::String tmp25 = msg->get_senderId();
-HXDLIN( 336) if (::hx::IsNull( tmp25 )) {
-HXLINE( 336) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 356) ::String _hx_tmp85 = msg->chatId();
+HXLINE( 357) ::String tmp34 = msg->get_senderId();
+HXDLIN( 357) if (::hx::IsNull( tmp34 )) {
+HXLINE( 357) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXLINE( 338) ::String tmp26 = msg->get_senderId();
-HXDLIN( 338) if (::hx::IsNull( tmp26 )) {
-HXLINE( 338) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
+HXLINE( 359) ::String tmp35 = msg->get_senderId();
+HXDLIN( 359) if (::hx::IsNull( tmp35 )) {
+HXLINE( 359) HX_STACK_DO_THROW(HX_("no sender",b4,39,ce,0e));
}
-HXDLIN( 338) ::String _hx_tmp73;
-HXDLIN( 338) ::String tmp27 = ( (::String)(::Reflect_obj::field(els->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("alt",29,f9,49,00))) );
-HXDLIN( 338) if (::hx::IsNotNull( tmp27 )) {
-HXLINE( 338) _hx_tmp73 = tmp27;
+HXDLIN( 359) ::String _hx_tmp86;
+HXDLIN( 359) ::String tmp36 = els->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("alt",29,f9,49,00));
+HXDLIN( 359) if (::hx::IsNotNull( tmp36 )) {
+HXLINE( 359) _hx_tmp86 = tmp36;
}
else {
-HXLINE( 338) _hx_tmp73 = HX_("",00,00,00,00);
+HXLINE( 359) _hx_tmp86 = HX_("",00,00,00,00);
}
-HXDLIN( 338) ::String _hx_tmp74 = hash1->serializeUri();
-HXLINE( 330) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp66,_hx_tmp67,msg9,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp68,_hx_tmp69,_hx_tmp70,_hx_tmp71,_hx_tmp72,tmp25,timestamp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,tmp26,timestamp,_hx_tmp73,_hx_tmp74,msg->localId)),1)),encryptionInfo);
+HXDLIN( 359) ::String _hx_tmp87 = hash1->serializeUri();
+HXLINE( 351) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp79,_hx_tmp80,msg9,::borogove::MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate_obj::__alloc( HX_CTX ,_hx_tmp81,_hx_tmp82,_hx_tmp83,_hx_tmp84,_hx_tmp85,tmp34,timeSent,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,tmp35,timeSent,_hx_tmp86,_hx_tmp87,msg->localId)),1)),encryptionInfo);
}
}
}
}
-HXLINE( 346) if (::hx::IsNotNull( replyToID )) {
-HXLINE( 348) ::borogove::ChatMessageBuilder replyToMessage = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
-HXLINE( 349) ::borogove::JID _hx_tmp75;
-HXDLIN( 349) if ((replyToJid == msg->get_senderId())) {
-HXLINE( 349) _hx_tmp75 = msg->to;
+HXLINE( 367) if (::hx::IsNotNull( replyToID )) {
+HXLINE( 369) ::borogove::ChatMessageBuilder replyToMessage = ::borogove::ChatMessageBuilder_obj::__alloc( HX_CTX );
+HXLINE( 370) ::borogove::JID _hx_tmp88;
+HXDLIN( 370) if ((replyToJid == msg->get_senderId())) {
+HXLINE( 370) _hx_tmp88 = msg->to;
}
else {
-HXLINE( 349) _hx_tmp75 = msg->from;
+HXLINE( 370) _hx_tmp88 = msg->from;
}
-HXDLIN( 349) replyToMessage->to = _hx_tmp75;
-HXLINE( 350) ::borogove::JID _hx_tmp76;
-HXDLIN( 350) if (::hx::IsNull( replyToJid )) {
-HXLINE( 350) _hx_tmp76 = null();
+HXDLIN( 370) replyToMessage->to = _hx_tmp88;
+HXLINE( 371) ::borogove::JID _hx_tmp89;
+HXDLIN( 371) if (::hx::IsNull( replyToJid )) {
+HXLINE( 371) _hx_tmp89 = null();
}
else {
-HXLINE( 350) _hx_tmp76 = ::borogove::JID_obj::parse(replyToJid);
+HXLINE( 371) _hx_tmp89 = ::borogove::JID_obj::parse(replyToJid);
}
-HXDLIN( 350) replyToMessage->from = _hx_tmp76;
-HXLINE( 352) ::String _hx_tmp77;
-HXDLIN( 352) if (isGroupchat) {
-HXLINE( 352) ::borogove::JID tmp28 = replyToMessage->from;
-HXDLIN( 352) if (::hx::IsNotNull( tmp28 )) {
-HXLINE( 352) _hx_tmp77 = tmp28->asString();
+HXDLIN( 371) replyToMessage->from = _hx_tmp89;
+HXLINE( 373) ::String tmp37;
+HXDLIN( 373) if (isGroupchat) {
+HXLINE( 373) ::borogove::JID tmp38 = replyToMessage->from;
+HXDLIN( 373) if (::hx::IsNotNull( tmp38 )) {
+HXLINE( 373) tmp37 = tmp38->asString();
}
else {
-HXLINE( 352) _hx_tmp77 = null();
+HXLINE( 373) tmp37 = null();
}
}
else {
-HXLINE( 352) ::borogove::JID tmp29 = replyToMessage->from;
-HXDLIN( 352) ::borogove::JID tmp30;
-HXDLIN( 352) if (::hx::IsNotNull( tmp29 )) {
-HXLINE( 352) tmp30 = tmp29->asBare();
+HXLINE( 373) ::borogove::JID tmp39 = replyToMessage->from;
+HXDLIN( 373) ::borogove::JID tmp40;
+HXDLIN( 373) if (::hx::IsNotNull( tmp39 )) {
+HXLINE( 373) tmp40 = tmp39->asBare();
}
else {
-HXLINE( 352) tmp30 = null();
+HXLINE( 373) tmp40 = null();
}
-HXDLIN( 352) if (::hx::IsNotNull( tmp30 )) {
-HXLINE( 352) _hx_tmp77 = tmp30->asString();
+HXDLIN( 373) if (::hx::IsNotNull( tmp40 )) {
+HXLINE( 373) tmp37 = tmp40->asString();
}
else {
-HXLINE( 352) _hx_tmp77 = null();
+HXLINE( 373) tmp37 = null();
}
}
-HXDLIN( 352) replyToMessage->senderId = _hx_tmp77;
-HXLINE( 353) replyToMessage->replyId = replyToID;
-HXLINE( 354) bool _hx_tmp78;
-HXDLIN( 354) bool _hx_tmp79;
-HXDLIN( 354) if (::hx::IsNotNull( msg->serverIdBy )) {
-HXLINE( 354) ::String msg10 = msg->serverIdBy;
-HXDLIN( 354) _hx_tmp79 = (msg10 != localJid->asBare()->asString());
+HXDLIN( 373) ::String _hx_tmp90;
+HXDLIN( 373) if (::hx::IsNotNull( tmp37 )) {
+HXLINE( 373) _hx_tmp90 = tmp37;
}
else {
-HXLINE( 354) _hx_tmp79 = false;
+HXLINE( 373) _hx_tmp90 = msg->chatId();
}
-HXDLIN( 354) if (!(_hx_tmp79)) {
-HXLINE( 354) _hx_tmp78 = isGroupchat;
+HXDLIN( 373) replyToMessage->senderId = _hx_tmp90;
+HXLINE( 374) replyToMessage->replyId = replyToID;
+HXLINE( 375) bool _hx_tmp91;
+HXDLIN( 375) bool _hx_tmp92;
+HXDLIN( 375) if (::hx::IsNotNull( msg->serverIdBy )) {
+HXLINE( 375) ::String msg10 = msg->serverIdBy;
+HXDLIN( 375) _hx_tmp92 = (msg10 != localJid->asBare()->asString());
}
else {
-HXLINE( 354) _hx_tmp78 = true;
+HXLINE( 375) _hx_tmp92 = false;
}
-HXDLIN( 354) if (_hx_tmp78) {
-HXLINE( 355) replyToMessage->serverId = replyToID;
-HXLINE( 356) replyToMessage->serverIdBy = msg->serverIdBy;
+HXDLIN( 375) if (!(_hx_tmp92)) {
+HXLINE( 375) _hx_tmp91 = isGroupchat;
}
else {
-HXLINE( 358) replyToMessage->localId = replyToID;
+HXLINE( 375) _hx_tmp91 = true;
}
-HXLINE( 360) msg->replyToMessage = replyToMessage->build();
- }
- }
-HXLINE( 364) if (::hx::IsNotNull( replaceId )) {
-HXLINE( 365) if ((msg->versions->length < 1)) {
-HXLINE( 365) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
- }
-HXLINE( 366) msg->localId = replaceId;
- }
-HXLINE( 369) {
-HXLINE( 369) int _g17 = 0;
-HXDLIN( 369) ::Array< ::Dynamic> _g18 = stanza->allTags(HX_("Description",dc,a0,4f,43),HX_("http://www.w3.org/1999/02/22-rdf-syntax-ns#",20,d2,3b,f3));
-HXDLIN( 369) while((_g17 < _g18->length)){
-HXLINE( 369) ::borogove::Stanza desc = _g18->__get(_g17).StaticCast< ::borogove::Stanza >();
-HXDLIN( 369) _g17 = (_g17 + 1);
-HXLINE( 370) ::String about = ( (::String)(::Reflect_obj::field(desc->attr,HX_("{http://www.w3.org/1999/02/22-rdf-syntax-ns#}about",f5,8b,b0,68))) );
-HXLINE( 371) if (::hx::IsNotNull( about )) {
-HXLINE( 372) ::Array< ::Dynamic> msg11 = msg->linkMetadata;
-HXLINE( 374) ::String _hx_tmp80 = desc->getChildText(HX_("url",6f,2b,59,00),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
-HXLINE( 375) ::String _hx_tmp81 = desc->getChildText(HX_("title",98,15,3b,10),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
-HXLINE( 376) ::String _hx_tmp82 = desc->getChildText(HX_("description",fc,08,1d,5f),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
-HXLINE( 377) ::Array< ::Dynamic> _this1 = desc->allTags(HX_("image",5b,1f,69,bd),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
-HXDLIN( 377) ::Array< ::String > result3 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 377) {
-HXLINE( 377) int _g19 = 0;
-HXDLIN( 377) int _g20 = _this1->length;
-HXDLIN( 377) while((_g19 < _g20)){
-HXLINE( 377) _g19 = (_g19 + 1);
-HXDLIN( 377) int i2 = (_g19 - 1);
-HXDLIN( 377) {
-HXLINE( 377) ::String inValue2 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i2)) )->getText();
-HXDLIN( 377) result3->__unsafe_set(i2,inValue2);
+HXDLIN( 375) if (_hx_tmp91) {
+HXLINE( 376) replyToMessage->serverId = replyToID;
+HXLINE( 377) replyToMessage->serverIdBy = msg->serverIdBy;
+ }
+ else {
+HXLINE( 379) replyToMessage->localId = replyToID;
+ }
+HXLINE( 381) msg->replyToMessage = replyToMessage->build();
+ }
+ }
+HXLINE( 385) if (::hx::IsNotNull( replaceId )) {
+HXLINE( 386) if ((msg->versions->length < 1)) {
+HXLINE( 386) msg->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,msg->build());
+ }
+HXLINE( 387) msg->localId = replaceId;
+ }
+HXLINE( 390) {
+HXLINE( 390) int _g17 = 0;
+HXDLIN( 390) ::Array< ::Dynamic> _g18 = stanza->allTags(HX_("Description",dc,a0,4f,43),HX_("http://www.w3.org/1999/02/22-rdf-syntax-ns#",20,d2,3b,f3));
+HXDLIN( 390) while((_g17 < _g18->length)){
+HXLINE( 390) ::borogove::Stanza desc = _g18->__get(_g17).StaticCast< ::borogove::Stanza >();
+HXDLIN( 390) _g17 = (_g17 + 1);
+HXLINE( 391) ::String about = desc->attr->get_string(HX_("{http://www.w3.org/1999/02/22-rdf-syntax-ns#}about",f5,8b,b0,68));
+HXLINE( 392) if (::hx::IsNotNull( about )) {
+HXLINE( 393) ::Array< ::Dynamic> msg11 = msg->linkMetadata;
+HXLINE( 395) ::String _hx_tmp93 = desc->getChildText(HX_("url",6f,2b,59,00),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
+HXLINE( 396) ::String _hx_tmp94 = desc->getChildText(HX_("title",98,15,3b,10),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
+HXLINE( 397) ::String _hx_tmp95 = desc->getChildText(HX_("description",fc,08,1d,5f),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
+HXLINE( 398) ::Array< ::Dynamic> _this1 = desc->allTags(HX_("image",5b,1f,69,bd),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
+HXDLIN( 398) ::Array< ::String > result3 = ::Array_obj< ::String >::__new(_this1->length);
+HXDLIN( 398) {
+HXLINE( 398) int _g19 = 0;
+HXDLIN( 398) int _g20 = _this1->length;
+HXDLIN( 398) while((_g19 < _g20)){
+HXLINE( 398) _g19 = (_g19 + 1);
+HXDLIN( 398) int i2 = (_g19 - 1);
+HXDLIN( 398) {
+HXLINE( 398) ::String inValue2 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i2)) )->getText();
+HXDLIN( 398) result3->__unsafe_set(i2,inValue2);
}
}
}
-HXLINE( 378) ::Array< ::Dynamic> _this2 = desc->allTags(HX_("video",7b,14,fc,36),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
-HXDLIN( 378) ::Array< ::String > result4 = ::Array_obj< ::String >::__new(_this2->length);
-HXDLIN( 378) {
-HXLINE( 378) int _g21 = 0;
-HXDLIN( 378) int _g22 = _this2->length;
-HXDLIN( 378) while((_g21 < _g22)){
-HXLINE( 378) _g21 = (_g21 + 1);
-HXDLIN( 378) int i3 = (_g21 - 1);
-HXDLIN( 378) {
-HXLINE( 378) ::String inValue3 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i3)) )->getText();
-HXDLIN( 378) result4->__unsafe_set(i3,inValue3);
+HXLINE( 399) ::Array< ::Dynamic> _this2 = desc->allTags(HX_("video",7b,14,fc,36),HX_("https://ogp.me/ns#",ac,b9,8c,d5));
+HXDLIN( 399) ::Array< ::String > result4 = ::Array_obj< ::String >::__new(_this2->length);
+HXDLIN( 399) {
+HXLINE( 399) int _g21 = 0;
+HXDLIN( 399) int _g22 = _this2->length;
+HXDLIN( 399) while((_g21 < _g22)){
+HXLINE( 399) _g21 = (_g21 + 1);
+HXDLIN( 399) int i3 = (_g21 - 1);
+HXDLIN( 399) {
+HXLINE( 399) ::String inValue3 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this2,i3)) )->getText();
+HXDLIN( 399) result4->__unsafe_set(i3,inValue3);
}
}
}
-HXLINE( 372) msg11->push( ::borogove::LinkMetadata_obj::__alloc( HX_CTX ,about,_hx_tmp80,_hx_tmp81,_hx_tmp82,result3,result4));
+HXLINE( 393) msg11->push( ::borogove::LinkMetadata_obj::__alloc( HX_CTX ,about,_hx_tmp93,_hx_tmp94,_hx_tmp95,result3,result4));
}
}
}
-HXLINE( 383) ::String _hx_tmp83 = msg->chatId();
-HXDLIN( 383) ::String _hx_tmp84 = msg->get_senderId();
-HXDLIN( 383) ::String msg12 = msg->threadId;
-HXDLIN( 383) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp83,_hx_tmp84,msg12,::borogove::MessageStanza_obj::ChatMessageStanza(msg->build()),encryptionInfo);
+HXLINE( 404) ::String _hx_tmp96 = msg->chatId();
+HXDLIN( 404) ::String _hx_tmp97 = msg->get_senderId();
+HXDLIN( 404) ::String msg12 = msg->threadId;
+HXDLIN( 404) return ::borogove::Message_obj::__alloc( HX_CTX ,_hx_tmp96,_hx_tmp97,msg12,::borogove::MessageStanza_obj::ChatMessageStanza(msg->build()),encryptionInfo);
}
-HXLINE( 62) return null();
+HXLINE( 63) return null();
}
diff --git a/Sources/c_borogove/src/borogove/MessageStanza.cpp b/Sources/c_borogove/src/borogove/MessageStanza.cpp
index d7821a6..eb5b552 100644
--- a/Sources/c_borogove/src/borogove/MessageStanza.cpp
+++ b/Sources/c_borogove/src/borogove/MessageStanza.cpp
@@ -4,6 +4,9 @@
#ifndef INCLUDED_borogove_ChatMessage
#include <borogove/ChatMessage.h>
#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
#ifndef INCLUDED_borogove_MessageStanza
#include <borogove/MessageStanza.h>
#endif
@@ -38,6 +41,11 @@ namespace borogove{
return ::hx::CreateEnum< MessageStanza_obj >(HX_("MucInviteStanza",19,bd,35,96),5,4)->_hx_init(0,serverId)->_hx_init(1,serverIdBy)->_hx_init(2,reason)->_hx_init(3,password);
}
+::borogove::MessageStanza MessageStanza_obj::MucVoiceRequest( ::borogove::JID jid)
+{
+ return ::hx::CreateEnum< MessageStanza_obj >(HX_("MucVoiceRequest",38,d8,b9,cd),6,1)->_hx_init(0,jid);
+}
+
::borogove::MessageStanza MessageStanza_obj::ReactionUpdateStanza( ::borogove::ReactionUpdate update)
{
return ::hx::CreateEnum< MessageStanza_obj >(HX_("ReactionUpdateStanza",47,fe,3e,f3),4,1)->_hx_init(0,update);
@@ -50,7 +58,7 @@ namespace borogove{
::borogove::MessageStanza MessageStanza_obj::UnknownMessageStanza( ::borogove::Stanza stanza)
{
- return ::hx::CreateEnum< MessageStanza_obj >(HX_("UnknownMessageStanza",52,c1,f7,28),6,1)->_hx_init(0,stanza);
+ return ::hx::CreateEnum< MessageStanza_obj >(HX_("UnknownMessageStanza",52,c1,f7,28),7,1)->_hx_init(0,stanza);
}
bool MessageStanza_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue, ::hx::PropertyAccess inCallProp)
@@ -59,6 +67,7 @@ bool MessageStanza_obj::__GetStatic(const ::String &inName, ::Dynamic &outValue,
if (inName==HX_("ErrorMessageStanza",54,02,51,07)) { outValue = MessageStanza_obj::ErrorMessageStanza_dyn(); return true; }
if (inName==HX_("ModerateMessageStanza",39,25,06,6f)) { outValue = MessageStanza_obj::ModerateMessageStanza_dyn(); return true; }
if (inName==HX_("MucInviteStanza",19,bd,35,96)) { outValue = MessageStanza_obj::MucInviteStanza_dyn(); return true; }
+ if (inName==HX_("MucVoiceRequest",38,d8,b9,cd)) { outValue = MessageStanza_obj::MucVoiceRequest_dyn(); return true; }
if (inName==HX_("ReactionUpdateStanza",47,fe,3e,f3)) { outValue = MessageStanza_obj::ReactionUpdateStanza_dyn(); return true; }
if (inName==HX_("SubjectStanza",a1,ac,e6,07)) { outValue = MessageStanza_obj::SubjectStanza_dyn(); return true; }
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) { outValue = MessageStanza_obj::UnknownMessageStanza_dyn(); return true; }
@@ -73,9 +82,10 @@ int MessageStanza_obj::__FindIndex(::String inName)
if (inName==HX_("ErrorMessageStanza",54,02,51,07)) return 0;
if (inName==HX_("ModerateMessageStanza",39,25,06,6f)) return 3;
if (inName==HX_("MucInviteStanza",19,bd,35,96)) return 5;
+ if (inName==HX_("MucVoiceRequest",38,d8,b9,cd)) return 6;
if (inName==HX_("ReactionUpdateStanza",47,fe,3e,f3)) return 4;
if (inName==HX_("SubjectStanza",a1,ac,e6,07)) return 2;
- if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 6;
+ if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 7;
return super::__FindIndex(inName);
}
@@ -87,6 +97,8 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,ModerateMessageStanza,return)
STATIC_HX_DEFINE_DYNAMIC_FUNC4(MessageStanza_obj,MucInviteStanza,return)
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,MucVoiceRequest,return)
+
STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,ReactionUpdateStanza,return)
STATIC_HX_DEFINE_DYNAMIC_FUNC1(MessageStanza_obj,SubjectStanza,return)
@@ -99,6 +111,7 @@ int MessageStanza_obj::__FindArgCount(::String inName)
if (inName==HX_("ErrorMessageStanza",54,02,51,07)) return 2;
if (inName==HX_("ModerateMessageStanza",39,25,06,6f)) return 1;
if (inName==HX_("MucInviteStanza",19,bd,35,96)) return 4;
+ if (inName==HX_("MucVoiceRequest",38,d8,b9,cd)) return 1;
if (inName==HX_("ReactionUpdateStanza",47,fe,3e,f3)) return 1;
if (inName==HX_("SubjectStanza",a1,ac,e6,07)) return 1;
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return 1;
@@ -111,6 +124,7 @@ int MessageStanza_obj::__FindArgCount(::String inName)
if (inName==HX_("ErrorMessageStanza",54,02,51,07)) return ErrorMessageStanza_dyn();
if (inName==HX_("ModerateMessageStanza",39,25,06,6f)) return ModerateMessageStanza_dyn();
if (inName==HX_("MucInviteStanza",19,bd,35,96)) return MucInviteStanza_dyn();
+ if (inName==HX_("MucVoiceRequest",38,d8,b9,cd)) return MucVoiceRequest_dyn();
if (inName==HX_("ReactionUpdateStanza",47,fe,3e,f3)) return ReactionUpdateStanza_dyn();
if (inName==HX_("SubjectStanza",a1,ac,e6,07)) return SubjectStanza_dyn();
if (inName==HX_("UnknownMessageStanza",52,c1,f7,28)) return UnknownMessageStanza_dyn();
@@ -124,6 +138,7 @@ static ::String MessageStanza_obj_sStaticFields[] = {
HX_("ModerateMessageStanza",39,25,06,6f),
HX_("ReactionUpdateStanza",47,fe,3e,f3),
HX_("MucInviteStanza",19,bd,35,96),
+ HX_("MucVoiceRequest",38,d8,b9,cd),
HX_("UnknownMessageStanza",52,c1,f7,28),
::String(null())
};
diff --git a/Sources/c_borogove/src/borogove/MessageSync.cpp b/Sources/c_borogove/src/borogove/MessageSync.cpp
index 312232d..f540bb7 100644
--- a/Sources/c_borogove/src/borogove/MessageSync.cpp
+++ b/Sources/c_borogove/src/borogove/MessageSync.cpp
@@ -1,6 +1,9 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_Date
+#include <Date.h>
+#endif
#ifndef INCLUDED_EReg
#include <EReg.h>
#endif
@@ -22,6 +25,9 @@
#ifndef INCLUDED_borogove_Client
#include <borogove/Client.h>
#endif
+#ifndef INCLUDED_borogove_Date
+#include <borogove/Date.h>
+#endif
#ifndef INCLUDED_borogove_EncryptionInfo
#include <borogove/EncryptionInfo.h>
#endif
@@ -76,22 +82,22 @@
HX_DEFINE_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_32_new,"borogove.MessageSync","new",0x01408247,"borogove.MessageSync.new","borogove/MessageSync.hx",32,0xc40e42ca)
HX_DEFINE_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_26_new,"borogove.MessageSync","new",0x01408247,"borogove.MessageSync.new","borogove/MessageSync.hx",26,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_144_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",144,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_69_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",69,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_90_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",90,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_156_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",156,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_170_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",170,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_50_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",50,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_172_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",172,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_74_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",74,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_97_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",97,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_194_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",194,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_208_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",208,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_55_fetchNext,"borogove.MessageSync","fetchNext",0x76930374,"borogove.MessageSync.fetchNext","borogove/MessageSync.hx",55,0xc40e42ca)
static const ::String _hx_array_data_8d9a52d5_8[] = {
HX_("",00,00,00,00),
};
static const int _hx_array_data_8d9a52d5_9[] = {
(int)0,
};
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_181_hasMore,"borogove.MessageSync","hasMore",0xecce3176,"borogove.MessageSync.hasMore","borogove/MessageSync.hx",181,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_185_addContext,"borogove.MessageSync","addContext",0x33022ac7,"borogove.MessageSync.addContext","borogove/MessageSync.hx",185,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_189_onMessages,"borogove.MessageSync","onMessages",0xc4b51604,"borogove.MessageSync.onMessages","borogove/MessageSync.hx",189,0xc40e42ca)
-HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_193_onError,"borogove.MessageSync","onError",0xde909b90,"borogove.MessageSync.onError","borogove/MessageSync.hx",193,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_219_hasMore,"borogove.MessageSync","hasMore",0xecce3176,"borogove.MessageSync.hasMore","borogove/MessageSync.hx",219,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_223_addContext,"borogove.MessageSync","addContext",0x33022ac7,"borogove.MessageSync.addContext","borogove/MessageSync.hx",223,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_227_onMessages,"borogove.MessageSync","onMessages",0xc4b51604,"borogove.MessageSync.onMessages","borogove/MessageSync.hx",227,0xc40e42ca)
+HX_LOCAL_STACK_FRAME(_hx_pos_b6f42aa0d664cfb6_231_onError,"borogove.MessageSync","onError",0xde909b90,"borogove.MessageSync.onError","borogove/MessageSync.hx",231,0xc40e42ca)
namespace borogove{
void MessageSync_obj::__construct( ::borogove::Client client, ::borogove::GenericStream stream, ::Dynamic filter,::String sortA,::String sortB,::String serviceJID){
@@ -103,23 +109,25 @@ HXLINE( 32) return b;
HX_END_LOCAL_FUNC2(return)
HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_26_new)
-HXLINE( 39) this->jmi = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 38) this->complete = false;
-HXLINE( 37) this->progress = 0;
+HXLINE( 42) this->jmi = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 41) this->complete = false;
+HXLINE( 40) this->progress = 0;
HXLINE( 32) this->contextHandler = ::Dynamic(new _hx_Closure_0());
-HXLINE( 42) this->client = client;
-HXLINE( 43) this->stream = stream;
-HXLINE( 44) this->filter = ::Reflect_obj::copy(filter);
-HXLINE( 45) this->sortA = sortA;
-HXLINE( 46) this->sortB = sortB;
-HXLINE( 47) ::String _hx_tmp;
-HXDLIN( 47) if (::hx::IsNotNull( serviceJID )) {
-HXLINE( 47) _hx_tmp = serviceJID;
+HXLINE( 45) this->startedAt = ::Date_obj::now()->getTime();
+HXLINE( 46) this->client = client;
+HXLINE( 47) this->stream = stream;
+HXLINE( 48) this->startFilter = (this->filter = ::Reflect_obj::copy(filter));
+HXLINE( 49) this->sortA = sortA;
+HXLINE( 50) this->startSortA = sortA;
+HXLINE( 51) this->sortB = sortB;
+HXLINE( 52) ::String _hx_tmp;
+HXDLIN( 52) if (::hx::IsNotNull( serviceJID )) {
+HXLINE( 52) _hx_tmp = serviceJID;
}
else {
-HXLINE( 47) _hx_tmp = client->accountId();
+HXLINE( 52) _hx_tmp = client->accountId();
}
-HXDLIN( 47) this->serviceJID = _hx_tmp;
+HXDLIN( 52) this->serviceJID = _hx_tmp;
}
Dynamic MessageSync_obj::__CreateEmpty() { return new MessageSync_obj; }
@@ -140,207 +148,233 @@ bool MessageSync_obj::_hx_isInstanceOf(int inClassId) {
void MessageSync_obj::fetchNext(){
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_2,::Array< int >,counterSameTime, ::borogove::MessageSync,_gthis, ::borogove::queries::MAMQuery,query,::Array< ::String >,previousMessageTime,::Array< ::Dynamic>,promisedMessages) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic event){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::MessageSync,_gthis,::Array< ::String >,timestamp, ::borogove::Stanza,result) HXARGC(2)
+ HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_1, ::borogove::MessageSync,_gthis,::String,serverReceivedAt,::String,sortId,::Array< ::String >,timeReceived, ::borogove::Stanza,result,::String,sortLower) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_144_fetchNext)
-HXLINE( 145) builder->sortId = _gthis->sortA;
-HXLINE( 146) builder->serverId = ( (::String)(::Reflect_obj::field(result->attr,HX_("id",db,5b,00,00))) );
-HXLINE( 147) builder->serverIdBy = _gthis->serviceJID;
-HXLINE( 148) bool msg;
-HXDLIN( 148) if (::hx::IsNotNull( timestamp->__get(0) )) {
-HXLINE( 148) msg = ::hx::IsNull( builder->timestamp );
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_172_fetchNext)
+HXLINE( 173) builder->sortId = sortId;
+HXLINE( 176) ::String serverReceivedAt1 = serverReceivedAt;
+HXLINE( 177) ::String _gthis1 = _gthis->serviceJID;
+HXLINE( 178) ::Dynamic _gthis2 = _gthis->filter;
+HXLINE( 179) ::Dynamic _gthis3 = _gthis->startFilter;
+HXLINE( 180) ::String msg = ::borogove::Date_obj::format(::Date_obj::now());
+HXLINE( 174) builder->debug = ::Dynamic(::hx::Anon_obj::Create(8)
+ ->setFixed(0,HX_("filter",b8,1f,35,85),_gthis2)
+ ->setFixed(1,HX_("serverReceivedAt",17,49,c6,f4),serverReceivedAt1)
+ ->setFixed(2,HX_("now",16,d9,53,00),msg)
+ ->setFixed(3,HX_("startFiler",b4,b6,af,1c),_gthis3)
+ ->setFixed(4,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("startSortA",61,23,e1,9c),_gthis->startSortA)
+ ->setFixed(1,HX_("upper",62,19,3f,a8),_gthis->sortB)
+ ->setFixed(2,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(3,HX_("lower",01,fa,ff,78),sortLower)))
+ ->setFixed(5,HX_("source",db,b0,31,32),HX_("mam",99,0a,53,00))
+ ->setFixed(6,HX_("path",a5,e5,51,4a),HX_("unencrypted",8b,80,ea,f1))
+ ->setFixed(7,HX_("serviceJID",90,19,2d,7d),_gthis1));
+HXLINE( 184) builder->serverId = result->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 185) builder->serverIdBy = _gthis->serviceJID;
+HXLINE( 186) bool msg1;
+HXDLIN( 186) if (::hx::IsNotNull( timeReceived->__get(0) )) {
+HXLINE( 186) msg1 = ::hx::IsNull( builder->timeReceived );
}
else {
-HXLINE( 148) msg = false;
+HXLINE( 186) msg1 = false;
}
-HXDLIN( 148) if (msg) {
-HXLINE( 148) builder->timestamp = timestamp->__get(0);
+HXDLIN( 186) if (msg1) {
+HXLINE( 186) builder->timeReceived = timeReceived->__get(0);
}
-HXLINE( 149) return ( ( ::borogove::ChatMessageBuilder)(_gthis->contextHandler(builder,stanza)) );
+HXLINE( 187) return ( ( ::borogove::ChatMessageBuilder)(_gthis->contextHandler(builder,stanza)) );
}
HX_END_LOCAL_FUNC2(return)
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_69_fetchNext)
-HXLINE( 70) ::borogove::Stanza message = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
-HXLINE( 71) ::String from;
-HXDLIN( 71) if (::Reflect_obj::hasField(message->attr,HX_("from",6a,a5,c2,43))) {
-HXLINE( 71) from = ( (::String)(::Reflect_obj::field(message->attr,HX_("from",6a,a5,c2,43))) );
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_74_fetchNext)
+HXLINE( 75) ::borogove::Stanza message = ( ( ::borogove::Stanza)(event->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) );
+HXLINE( 76) ::String from;
+HXDLIN( 76) if (message->attr->exists(HX_("from",6a,a5,c2,43))) {
+HXLINE( 76) from = message->attr->get_string(HX_("from",6a,a5,c2,43));
}
else {
-HXLINE( 71) from = _gthis->client->accountId();
+HXLINE( 76) from = _gthis->client->accountId();
}
-HXLINE( 72) if ((from != _gthis->serviceJID)) {
-HXLINE( 73) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+HXLINE( 77) if ((from != _gthis->serviceJID)) {
+HXLINE( 78) return ::borogove::EventResult_obj::EventUnhandled_dyn();
}
-HXLINE( 75) ::borogove::Stanza result = message->getChild(HX_("result",dd,68,84,08),query->xmlns);
-HXLINE( 76) bool eventToken;
-HXDLIN( 76) if (::hx::IsNotNull( result )) {
-HXLINE( 76) ::String eventToken1 = ( (::String)(::Reflect_obj::field(result->attr,HX_("queryid",e3,b8,e9,95))) );
-HXDLIN( 76) eventToken = (eventToken1 != query->queryId);
+HXLINE( 80) ::borogove::Stanza result = message->getChild(HX_("result",dd,68,84,08),query->xmlns);
+HXLINE( 81) bool eventToken;
+HXDLIN( 81) if (::hx::IsNotNull( result )) {
+HXLINE( 81) ::String eventToken1 = result->attr->get_string(HX_("queryid",e3,b8,e9,95));
+HXDLIN( 81) eventToken = (eventToken1 != query->queryId);
}
else {
-HXLINE( 76) eventToken = true;
+HXLINE( 81) eventToken = true;
}
-HXDLIN( 76) if (eventToken) {
-HXLINE( 77) return ::borogove::EventResult_obj::EventUnhandled_dyn();
+HXDLIN( 81) if (eventToken) {
+HXLINE( 82) return ::borogove::EventResult_obj::EventUnhandled_dyn();
}
-HXLINE( 79) _gthis->progress++;
-HXLINE( 80) ::borogove::Stanza originalMessage = result->findChild(HX_("{urn:xmpp:forward:0}forwarded/{jabber:client}message",1e,de,1d,61));
-HXLINE( 81) if (::hx::IsNull( originalMessage )) {
-HXLINE( 82) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 84) _gthis->progress++;
+HXLINE( 85) ::borogove::Stanza originalMessage = result->findChild(HX_("{urn:xmpp:forward:0}forwarded/{jabber:client}message",1e,de,1d,61));
+HXLINE( 86) if (::hx::IsNull( originalMessage )) {
+HXLINE( 87) return ::borogove::EventResult_obj::EventHandled_dyn();
}
-HXLINE( 84) _gthis->sortA = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(_gthis->sortA,_gthis->sortB,HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE( 85) ::Array< ::String > timestamp = ::Array_obj< ::String >::__new(1)->init(0,result->findText(HX_("{urn:xmpp:forward:0}forwarded/{urn:xmpp:delay}delay@stamp",9d,33,43,e7)));
-HXLINE( 86) if (::hx::IsNull( timestamp->__get(0) )) {
-HXLINE( 87) ::haxe::Log_obj::trace(HX_("MAM result with no timestamp",15,bb,83,7d), ::Dynamic(::hx::Anon_obj::Create(5)
+HXLINE( 89) ::String sortLower = _gthis->sortA;
+HXLINE( 90) _gthis->sortA = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortLower,_gthis->sortB,HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE( 91) ::String serverReceivedAt = result->findText(HX_("{urn:xmpp:forward:0}forwarded/{urn:xmpp:delay}delay@stamp",9d,33,43,e7));
+HXLINE( 92) ::Array< ::String > timeReceived = ::Array_obj< ::String >::__new(1)->init(0,serverReceivedAt);
+HXLINE( 93) if (::hx::IsNull( timeReceived->__get(0) )) {
+HXLINE( 94) ::haxe::Log_obj::trace(HX_("MAM result with no timestamp",15,bb,83,7d), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.MessageSync",d5,52,9a,8d))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,result))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("fetchNext",4d,6a,ad,1f))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/MessageSync.hx",ca,42,0e,c4))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),87)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),94)));
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::Array< int >,counterSameTime,::Array< ::String >,previousMessageTime) HXARGC(1)
::String _hx_run( ::EReg ereg){
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_90_fetchNext)
-HXLINE( 91) bool eventToken;
-HXDLIN( 91) if (::hx::IsNotNull( ereg->matched(2) )) {
-HXLINE( 91) eventToken = (ereg->matched(2) == HX_(".000",c2,66,8c,1e));
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_97_fetchNext)
+HXLINE( 98) bool eventToken;
+HXDLIN( 98) if (::hx::IsNotNull( ereg->matched(2) )) {
+HXLINE( 98) eventToken = (ereg->matched(2) == HX_(".000",c2,66,8c,1e));
}
else {
-HXLINE( 91) eventToken = true;
+HXLINE( 98) eventToken = true;
}
-HXDLIN( 91) if (eventToken) {
-HXLINE( 92) ::String eventToken1 = ereg->matched(1);
-HXDLIN( 92) if ((eventToken1 == previousMessageTime->__get(0))) {
-HXLINE( 93) counterSameTime[0]++;
+HXDLIN( 98) if (eventToken) {
+HXLINE( 99) ::String eventToken1 = ereg->matched(1);
+HXDLIN( 99) if ((eventToken1 == previousMessageTime->__get(0))) {
+HXLINE( 100) counterSameTime[0]++;
}
else {
-HXLINE( 95) previousMessageTime[0] = ereg->matched(1);
-HXLINE( 96) counterSameTime[0] = 1;
+HXLINE( 102) previousMessageTime[0] = ereg->matched(1);
+HXLINE( 103) counterSameTime[0] = 1;
}
-HXLINE( 99) ::String eventToken2 = (ereg->matched(1) + HX_(".",2e,00,00,00));
-HXDLIN( 99) return (eventToken2 + ::StringTools_obj::lpad(::Std_obj::string(counterSameTime->__get(0)),HX_("0",30,00,00,00),3));
+HXLINE( 106) ::String eventToken2 = (ereg->matched(1) + HX_(".",2e,00,00,00));
+HXDLIN( 106) return (eventToken2 + ::StringTools_obj::lpad(::Std_obj::string(counterSameTime->__get(0)),HX_("0",30,00,00,00),3));
}
-HXLINE( 102) return ereg->matched(0);
+HXLINE( 109) return ereg->matched(0);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 90) ::Array< ::String > timestamp1 = timestamp;
-HXDLIN( 90) ::EReg eventToken2 = ::EReg_obj::__alloc( HX_CTX ,HX_("([0-9][0-9]:[0-9][0-9]:[0-9][0-9])(\\.[0-9][0-9][0-9])?",99,64,fa,66),HX_("",00,00,00,00));
-HXDLIN( 90) timestamp1[0] = eventToken2->map(timestamp->__get(0), ::Dynamic(new _hx_Closure_0(counterSameTime,previousMessageTime)));
+HXLINE( 97) ::Array< ::String > timeReceived1 = timeReceived;
+HXDLIN( 97) ::EReg eventToken2 = ::EReg_obj::__alloc( HX_CTX ,HX_("([0-9][0-9]:[0-9][0-9]:[0-9][0-9])(\\.[0-9][0-9][0-9])?",99,64,fa,66),HX_("",00,00,00,00));
+HXDLIN( 97) timeReceived1[0] = eventToken2->map(timeReceived->__get(0), ::Dynamic(new _hx_Closure_0(counterSameTime,previousMessageTime)));
}
-HXLINE( 106) ::Array< ::Dynamic> jmiChildren = originalMessage->allTags(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 107) if ((jmiChildren->length > 0)) {
-HXLINE( 108) ::Dynamic this1 = _gthis->jmi;
-HXDLIN( 108) ( ( ::haxe::ds::StringMap)(this1) )->set(( (::String)(::Reflect_obj::field(jmiChildren->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("id",db,5b,00,00))) ),originalMessage);
+HXLINE( 113) ::Array< ::Dynamic> jmiChildren = originalMessage->allTags(null(),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 114) if ((jmiChildren->length > 0)) {
+HXLINE( 115) ::Dynamic this1 = _gthis->jmi;
+HXDLIN( 115) ( ( ::haxe::ds::StringMap)(this1) )->set(jmiChildren->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("id",db,5b,00,00)),originalMessage);
}
-HXLINE( 142) ::Dynamic eventToken3 = ::haxe::Log_obj::trace;
-HXDLIN( 142) ::String eventToken4 = (HX_("MAM: Processing non-OMEMO message from ",f8,ed,2b,0d) + ( (::String)(::Reflect_obj::field(originalMessage->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 142) eventToken3(eventToken4,::hx::SourceInfo(HX_("borogove/MessageSync.hx",ca,42,0e,c4),142,HX_("borogove.MessageSync",d5,52,9a,8d),HX_("fetchNext",4d,6a,ad,1f)));
-HXLINE( 144) ::borogove::Message msg = ::borogove::Message_obj::fromStanza(originalMessage,_gthis->client->jid, ::Dynamic(new _hx_Closure_1(_gthis,timestamp,result)),null(),null());
-HXLINE( 152) ::Array< ::Dynamic> promisedMessages1 = promisedMessages;
-HXDLIN( 152) promisedMessages1->push(::thenshim::_Promise::Promise_Impl__obj::resolve(msg));
-HXLINE( 154) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 118) ::String sortId = _gthis->sortA;
+HXLINE( 170) ::Dynamic eventToken3 = ::haxe::Log_obj::trace;
+HXDLIN( 170) ::String eventToken4 = (HX_("MAM: Processing non-OMEMO message from ",f8,ed,2b,0d) + originalMessage->attr->get(HX_("from",6a,a5,c2,43)));
+HXDLIN( 170) eventToken3(eventToken4,::hx::SourceInfo(HX_("borogove/MessageSync.hx",ca,42,0e,c4),170,HX_("borogove.MessageSync",d5,52,9a,8d),HX_("fetchNext",4d,6a,ad,1f)));
+HXLINE( 172) ::borogove::Message msg = ::borogove::Message_obj::fromStanza(originalMessage,_gthis->client->jid, ::Dynamic(new _hx_Closure_1(_gthis,serverReceivedAt,sortId,timeReceived,result,sortLower)),null(),null());
+HXLINE( 190) ::Array< ::Dynamic> promisedMessages1 = promisedMessages;
+HXDLIN( 190) promisedMessages1->push(::thenshim::_Promise::Promise_Impl__obj::resolve(msg));
+HXLINE( 192) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_4, ::borogove::MessageSync,_gthis, ::borogove::queries::MAMQuery,query,int,eventToken,::Array< ::Dynamic>,promisedMessages) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_156_fetchNext)
-HXLINE( 157) _gthis->stream->removeEventListener(eventToken);
-HXLINE( 158) ::Dynamic result = query->getResult();
-HXLINE( 159) if (::hx::IsNull( result )) {
-HXLINE( 160) ::haxe::Log_obj::trace(HX_("Error from MAM, stopping sync",b8,c9,46,be),::hx::SourceInfo(HX_("borogove/MessageSync.hx",ca,42,0e,c4),160,HX_("borogove.MessageSync",d5,52,9a,8d),HX_("fetchNext",4d,6a,ad,1f)));
-HXLINE( 161) _gthis->complete = true;
-HXLINE( 162) if (::hx::IsNotNull( _gthis->errorHandler )) {
-HXLINE( 163) _gthis->errorHandler(query->responseStanza);
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_194_fetchNext)
+HXLINE( 195) _gthis->stream->removeEventListener(eventToken);
+HXLINE( 196) ::Dynamic result = query->getResult();
+HXLINE( 197) if (::hx::IsNull( result )) {
+HXLINE( 198) ::haxe::Log_obj::trace(HX_("Error from MAM, stopping sync",b8,c9,46,be), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.MessageSync",d5,52,9a,8d))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,query->responseStanza))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("fetchNext",4d,6a,ad,1f))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/MessageSync.hx",ca,42,0e,c4))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),198)));
+HXLINE( 199) _gthis->complete = true;
+HXLINE( 200) if (::hx::IsNotNull( _gthis->errorHandler )) {
+HXLINE( 201) _gthis->errorHandler(query->responseStanza);
}
}
else {
-HXLINE( 165) _gthis->complete = ( (bool)(result->__Field(HX_("complete",b9,00,c8,7f),::hx::paccDynamic)) );
-HXLINE( 166) _gthis->lastPage = result->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic);
+HXLINE( 203) _gthis->complete = ( (bool)(result->__Field(HX_("complete",b9,00,c8,7f),::hx::paccDynamic)) );
+HXLINE( 204) _gthis->lastPage = result->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic);
}
-HXLINE( 168) bool _hx_tmp;
-HXDLIN( 168) if (::hx::IsNull( result )) {
-HXLINE( 168) _hx_tmp = ::hx::IsNull( _gthis->errorHandler );
+HXLINE( 206) bool _hx_tmp;
+HXDLIN( 206) if (::hx::IsNull( result )) {
+HXLINE( 206) _hx_tmp = ::hx::IsNull( _gthis->errorHandler );
}
else {
-HXLINE( 168) _hx_tmp = true;
+HXLINE( 206) _hx_tmp = true;
}
-HXDLIN( 168) if (_hx_tmp) {
+HXDLIN( 206) if (_hx_tmp) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::MessageSync,_gthis) HXARGC(1)
void _hx_run(::Array< ::Dynamic> messages){
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_170_fetchNext)
-HXLINE( 170) _gthis->handler( ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_208_fetchNext)
+HXLINE( 208) _gthis->handler( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("messages",cc,d8,fd,34),messages)
->setFixed(1,HX_("sync",5b,ba,5f,4c),_gthis)));
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 169) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promisedMessages), ::Dynamic(new _hx_Closure_3(_gthis)),null());
+HXLINE( 207) ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(promisedMessages), ::Dynamic(new _hx_Closure_3(_gthis)),null());
}
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_50_fetchNext)
-HXDLIN( 50) ::borogove::MessageSync _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 51) if (::hx::IsNull( this->handler )) {
-HXLINE( 52) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("Attempt to fetch messages, but no handler has been set",72,e3,58,24),null(),null()));
+ HX_GC_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_55_fetchNext)
+HXDLIN( 55) ::borogove::MessageSync _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 56) if (::hx::IsNull( this->handler )) {
+HXLINE( 57) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("Attempt to fetch messages, but no handler has been set",72,e3,58,24),null(),null()));
}
-HXLINE( 54) if (this->complete) {
-HXLINE( 55) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("Attempt to fetch messages, but already complete",f8,43,a7,37),null(),null()));
+HXLINE( 59) if (this->complete) {
+HXLINE( 60) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("Attempt to fetch messages, but already complete",f8,43,a7,37),null(),null()));
}
-HXLINE( 57) ::Array< ::Dynamic> promisedMessages = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 58) if (::hx::IsNotNull( this->lastPage )) {
-HXLINE( 59) if (::hx::IsNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
-HXLINE( 59) this->filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(0)),::hx::paccDynamic);
+HXLINE( 62) ::Array< ::Dynamic> promisedMessages = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 63) if (::hx::IsNotNull( this->lastPage )) {
+HXLINE( 64) if (::hx::IsNull( this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
+HXLINE( 64) this->filter->__SetField(HX_("page",4f,da,51,4a), ::Dynamic(::hx::Anon_obj::Create(0)),::hx::paccDynamic);
}
-HXLINE( 60) if (::hx::IsNull( ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic) )) {
-HXLINE( 61) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("after",1c,66,a2,1d),this->lastPage->__Field(HX_("last",56,0a,ad,47),::hx::paccDynamic),::hx::paccDynamic);
+HXLINE( 65) if (::hx::IsNull( ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic) )) {
+HXLINE( 66) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("after",1c,66,a2,1d),this->lastPage->__Field(HX_("last",56,0a,ad,47),::hx::paccDynamic),::hx::paccDynamic);
}
else {
-HXLINE( 63) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("before",7f,54,32,9a),this->lastPage->__Field(HX_("first",30,78,9d,00),::hx::paccDynamic),::hx::paccDynamic);
+HXLINE( 68) ::Dynamic(this->filter->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic))->__SetField(HX_("before",7f,54,32,9a),this->lastPage->__Field(HX_("first",30,78,9d,00),::hx::paccDynamic),::hx::paccDynamic);
}
}
-HXLINE( 66) ::borogove::queries::MAMQuery query = ::borogove::queries::MAMQuery_obj::__alloc( HX_CTX ,this->filter,this->serviceJID);
-HXLINE( 67) ::Array< ::String > previousMessageTime = ::Array_obj< ::String >::fromData( _hx_array_data_8d9a52d5_8,1);
-HXLINE( 68) ::Array< int > counterSameTime = ::Array_obj< int >::fromData( _hx_array_data_8d9a52d5_9,1);
-HXLINE( 69) int eventToken = this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_2(counterSameTime,_gthis,query,previousMessageTime,promisedMessages)));
-HXLINE( 156) query->onFinished( ::Dynamic(new _hx_Closure_4(_gthis,query,eventToken,promisedMessages)));
-HXLINE( 177) this->client->sendQuery(query);
+HXLINE( 71) ::borogove::queries::MAMQuery query = ::borogove::queries::MAMQuery_obj::__alloc( HX_CTX ,this->filter,this->serviceJID);
+HXLINE( 72) ::Array< ::String > previousMessageTime = ::Array_obj< ::String >::fromData( _hx_array_data_8d9a52d5_8,1);
+HXLINE( 73) ::Array< int > counterSameTime = ::Array_obj< int >::fromData( _hx_array_data_8d9a52d5_9,1);
+HXLINE( 74) int eventToken = this->stream->on(HX_("message",c7,35,11,9a), ::Dynamic(new _hx_Closure_2(counterSameTime,_gthis,query,previousMessageTime,promisedMessages)));
+HXLINE( 194) query->onFinished( ::Dynamic(new _hx_Closure_4(_gthis,query,eventToken,promisedMessages)));
+HXLINE( 215) this->client->sendQuery(query);
}
HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,fetchNext,(void))
bool MessageSync_obj::hasMore(){
- HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_181_hasMore)
-HXDLIN( 181) return !(this->complete);
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_219_hasMore)
+HXDLIN( 219) return !(this->complete);
}
HX_DEFINE_DYNAMIC_FUNC0(MessageSync_obj,hasMore,return )
void MessageSync_obj::addContext( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_185_addContext)
-HXDLIN( 185) this->contextHandler = handler;
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_223_addContext)
+HXDLIN( 223) this->contextHandler = handler;
}
HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,addContext,(void))
void MessageSync_obj::onMessages( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_189_onMessages)
-HXDLIN( 189) this->handler = handler;
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_227_onMessages)
+HXDLIN( 227) this->handler = handler;
}
HX_DEFINE_DYNAMIC_FUNC1(MessageSync_obj,onMessages,(void))
void MessageSync_obj::onError( ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_193_onError)
-HXDLIN( 193) this->errorHandler = handler;
+ HX_STACKFRAME(&_hx_pos_b6f42aa0d664cfb6_231_onError)
+HXDLIN( 231) this->errorHandler = handler;
}
@@ -374,8 +408,11 @@ void MessageSync_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(handler,"handler");
HX_MARK_MEMBER_NAME(contextHandler,"contextHandler");
HX_MARK_MEMBER_NAME(errorHandler,"errorHandler");
+ HX_MARK_MEMBER_NAME(startSortA,"startSortA");
+ HX_MARK_MEMBER_NAME(startFilter,"startFilter");
HX_MARK_MEMBER_NAME(sortA,"sortA");
HX_MARK_MEMBER_NAME(sortB,"sortB");
+ HX_MARK_MEMBER_NAME(startedAt,"startedAt");
HX_MARK_MEMBER_NAME(lastPage,"lastPage");
HX_MARK_MEMBER_NAME(progress,"progress");
HX_MARK_MEMBER_NAME(complete,"complete");
@@ -392,8 +429,11 @@ void MessageSync_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(handler,"handler");
HX_VISIT_MEMBER_NAME(contextHandler,"contextHandler");
HX_VISIT_MEMBER_NAME(errorHandler,"errorHandler");
+ HX_VISIT_MEMBER_NAME(startSortA,"startSortA");
+ HX_VISIT_MEMBER_NAME(startFilter,"startFilter");
HX_VISIT_MEMBER_NAME(sortA,"sortA");
HX_VISIT_MEMBER_NAME(sortB,"sortB");
+ HX_VISIT_MEMBER_NAME(startedAt,"startedAt");
HX_VISIT_MEMBER_NAME(lastPage,"lastPage");
HX_VISIT_MEMBER_NAME(progress,"progress");
HX_VISIT_MEMBER_NAME(complete,"complete");
@@ -426,13 +466,18 @@ void MessageSync_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"complete") ) { return ::hx::Val( complete ); }
break;
case 9:
+ if (HX_FIELD_EQ(inName,"startedAt") ) { return ::hx::Val( startedAt ); }
if (HX_FIELD_EQ(inName,"fetchNext") ) { return ::hx::Val( fetchNext_dyn() ); }
break;
case 10:
if (HX_FIELD_EQ(inName,"serviceJID") ) { return ::hx::Val( serviceJID ); }
+ if (HX_FIELD_EQ(inName,"startSortA") ) { return ::hx::Val( startSortA ); }
if (HX_FIELD_EQ(inName,"addContext") ) { return ::hx::Val( addContext_dyn() ); }
if (HX_FIELD_EQ(inName,"onMessages") ) { return ::hx::Val( onMessages_dyn() ); }
break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"startFilter") ) { return ::hx::Val( startFilter ); }
+ break;
case 12:
if (HX_FIELD_EQ(inName,"errorHandler") ) { return ::hx::Val( errorHandler ); }
break;
@@ -465,8 +510,15 @@ void MessageSync_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"progress") ) { progress=inValue.Cast< int >(); return inValue; }
if (HX_FIELD_EQ(inName,"complete") ) { complete=inValue.Cast< bool >(); return inValue; }
break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"startedAt") ) { startedAt=inValue.Cast< Float >(); return inValue; }
+ break;
case 10:
if (HX_FIELD_EQ(inName,"serviceJID") ) { serviceJID=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"startSortA") ) { startSortA=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"startFilter") ) { startFilter=inValue.Cast< ::Dynamic >(); return inValue; }
break;
case 12:
if (HX_FIELD_EQ(inName,"errorHandler") ) { errorHandler=inValue.Cast< ::Dynamic >(); return inValue; }
@@ -483,8 +535,11 @@ void MessageSync_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("stream",80,14,2d,11));
outFields->push(HX_("filter",b8,1f,35,85));
outFields->push(HX_("serviceJID",90,19,2d,7d));
+ outFields->push(HX_("startSortA",61,23,e1,9c));
+ outFields->push(HX_("startFilter",ba,7d,1b,fd));
outFields->push(HX_("sortA",23,4b,ca,80));
outFields->push(HX_("sortB",24,4b,ca,80));
+ outFields->push(HX_("startedAt",94,f4,28,11));
outFields->push(HX_("lastPage",c5,f3,9a,dd));
outFields->push(HX_("progress",ad,f7,2a,86));
outFields->push(HX_("complete",b9,00,c8,7f));
@@ -501,8 +556,11 @@ static ::hx::StorageInfo MessageSync_obj_sMemberStorageInfo[] = {
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,handler),HX_("handler",ca,af,d5,45)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,contextHandler),HX_("contextHandler",9b,6d,14,e9)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,errorHandler),HX_("errorHandler",e2,94,05,f7)},
+ {::hx::fsString,(int)offsetof(MessageSync_obj,startSortA),HX_("startSortA",61,23,e1,9c)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,startFilter),HX_("startFilter",ba,7d,1b,fd)},
{::hx::fsString,(int)offsetof(MessageSync_obj,sortA),HX_("sortA",23,4b,ca,80)},
{::hx::fsString,(int)offsetof(MessageSync_obj,sortB),HX_("sortB",24,4b,ca,80)},
+ {::hx::fsFloat,(int)offsetof(MessageSync_obj,startedAt),HX_("startedAt",94,f4,28,11)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(MessageSync_obj,lastPage),HX_("lastPage",c5,f3,9a,dd)},
{::hx::fsInt,(int)offsetof(MessageSync_obj,progress),HX_("progress",ad,f7,2a,86)},
{::hx::fsBool,(int)offsetof(MessageSync_obj,complete),HX_("complete",b9,00,c8,7f)},
@@ -520,8 +578,11 @@ static ::String MessageSync_obj_sMemberFields[] = {
HX_("handler",ca,af,d5,45),
HX_("contextHandler",9b,6d,14,e9),
HX_("errorHandler",e2,94,05,f7),
+ HX_("startSortA",61,23,e1,9c),
+ HX_("startFilter",ba,7d,1b,fd),
HX_("sortA",23,4b,ca,80),
HX_("sortB",24,4b,ca,80),
+ HX_("startedAt",94,f4,28,11),
HX_("lastPage",c5,f3,9a,dd),
HX_("progress",ad,f7,2a,86),
HX_("complete",b9,00,c8,7f),
diff --git a/Sources/c_borogove/src/borogove/ModerationAction.cpp b/Sources/c_borogove/src/borogove/ModerationAction.cpp
index da5d81d..33c2e5c 100644
--- a/Sources/c_borogove/src/borogove/ModerationAction.cpp
+++ b/Sources/c_borogove/src/borogove/ModerationAction.cpp
@@ -5,16 +5,17 @@
#include <borogove/ModerationAction.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1331bd461281db0a_10_new,"borogove.ModerationAction","new",0x2766727b,"borogove.ModerationAction.new","borogove/ModerationAction.hx",10,0x442159f4)
+HX_DEFINE_STACK_FRAME(_hx_pos_1331bd461281db0a_11_new,"borogove.ModerationAction","new",0x2766727b,"borogove.ModerationAction.new","borogove/ModerationAction.hx",11,0x442159f4)
namespace borogove{
-void ModerationAction_obj::__construct(::String chatId,::String moderateServerId,::String timestamp,::String moderatorId,::String reason){
- HX_STACKFRAME(&_hx_pos_1331bd461281db0a_10_new)
-HXLINE( 11) this->chatId = chatId;
-HXLINE( 12) this->moderateServerId = moderateServerId;
-HXLINE( 13) this->timestamp = timestamp;
-HXLINE( 14) this->moderatorId = moderatorId;
-HXLINE( 15) this->reason = reason;
+void ModerationAction_obj::__construct(::String chatId,::String moderateServerId,::String timeSent,::String timeReceived,::String moderatorId,::String reason){
+ HX_STACKFRAME(&_hx_pos_1331bd461281db0a_11_new)
+HXLINE( 12) this->chatId = chatId;
+HXLINE( 13) this->moderateServerId = moderateServerId;
+HXLINE( 14) this->timeSent = timeSent;
+HXLINE( 15) this->timeReceived = timeReceived;
+HXLINE( 16) this->moderatorId = moderatorId;
+HXLINE( 17) this->reason = reason;
}
Dynamic ModerationAction_obj::__CreateEmpty() { return new ModerationAction_obj; }
@@ -24,7 +25,7 @@ void *ModerationAction_obj::_hx_vtable = 0;
Dynamic ModerationAction_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< ModerationAction_obj > _hx_result = new ModerationAction_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5]);
return _hx_result;
}
@@ -42,7 +43,8 @@ void ModerationAction_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_BEGIN_CLASS(ModerationAction);
HX_MARK_MEMBER_NAME(chatId,"chatId");
HX_MARK_MEMBER_NAME(moderateServerId,"moderateServerId");
- HX_MARK_MEMBER_NAME(timestamp,"timestamp");
+ HX_MARK_MEMBER_NAME(timeSent,"timeSent");
+ HX_MARK_MEMBER_NAME(timeReceived,"timeReceived");
HX_MARK_MEMBER_NAME(moderatorId,"moderatorId");
HX_MARK_MEMBER_NAME(reason,"reason");
HX_MARK_END_CLASS();
@@ -52,7 +54,8 @@ void ModerationAction_obj::__Visit(HX_VISIT_PARAMS)
{
HX_VISIT_MEMBER_NAME(chatId,"chatId");
HX_VISIT_MEMBER_NAME(moderateServerId,"moderateServerId");
- HX_VISIT_MEMBER_NAME(timestamp,"timestamp");
+ HX_VISIT_MEMBER_NAME(timeSent,"timeSent");
+ HX_VISIT_MEMBER_NAME(timeReceived,"timeReceived");
HX_VISIT_MEMBER_NAME(moderatorId,"moderatorId");
HX_VISIT_MEMBER_NAME(reason,"reason");
}
@@ -64,12 +67,15 @@ void ModerationAction_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"chatId") ) { return ::hx::Val( chatId ); }
if (HX_FIELD_EQ(inName,"reason") ) { return ::hx::Val( reason ); }
break;
- case 9:
- if (HX_FIELD_EQ(inName,"timestamp") ) { return ::hx::Val( timestamp ); }
+ case 8:
+ if (HX_FIELD_EQ(inName,"timeSent") ) { return ::hx::Val( timeSent ); }
break;
case 11:
if (HX_FIELD_EQ(inName,"moderatorId") ) { return ::hx::Val( moderatorId ); }
break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { return ::hx::Val( timeReceived ); }
+ break;
case 16:
if (HX_FIELD_EQ(inName,"moderateServerId") ) { return ::hx::Val( moderateServerId ); }
}
@@ -83,12 +89,15 @@ void ModerationAction_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"chatId") ) { chatId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"reason") ) { reason=inValue.Cast< ::String >(); return inValue; }
break;
- case 9:
- if (HX_FIELD_EQ(inName,"timestamp") ) { timestamp=inValue.Cast< ::String >(); return inValue; }
+ case 8:
+ if (HX_FIELD_EQ(inName,"timeSent") ) { timeSent=inValue.Cast< ::String >(); return inValue; }
break;
case 11:
if (HX_FIELD_EQ(inName,"moderatorId") ) { moderatorId=inValue.Cast< ::String >(); return inValue; }
break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"timeReceived") ) { timeReceived=inValue.Cast< ::String >(); return inValue; }
+ break;
case 16:
if (HX_FIELD_EQ(inName,"moderateServerId") ) { moderateServerId=inValue.Cast< ::String >(); return inValue; }
}
@@ -99,7 +108,8 @@ void ModerationAction_obj::__GetFields(Array< ::String> &outFields)
{
outFields->push(HX_("chatId",d3,04,77,b7));
outFields->push(HX_("moderateServerId",61,cc,27,2c));
- outFields->push(HX_("timestamp",d6,d4,ce,a5));
+ outFields->push(HX_("timeSent",05,10,b2,ec));
+ outFields->push(HX_("timeReceived",4e,22,9a,7b));
outFields->push(HX_("moderatorId",40,4b,8f,97));
outFields->push(HX_("reason",c4,0f,9d,fc));
super::__GetFields(outFields);
@@ -109,7 +119,8 @@ void ModerationAction_obj::__GetFields(Array< ::String> &outFields)
static ::hx::StorageInfo ModerationAction_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(ModerationAction_obj,chatId),HX_("chatId",d3,04,77,b7)},
{::hx::fsString,(int)offsetof(ModerationAction_obj,moderateServerId),HX_("moderateServerId",61,cc,27,2c)},
- {::hx::fsString,(int)offsetof(ModerationAction_obj,timestamp),HX_("timestamp",d6,d4,ce,a5)},
+ {::hx::fsString,(int)offsetof(ModerationAction_obj,timeSent),HX_("timeSent",05,10,b2,ec)},
+ {::hx::fsString,(int)offsetof(ModerationAction_obj,timeReceived),HX_("timeReceived",4e,22,9a,7b)},
{::hx::fsString,(int)offsetof(ModerationAction_obj,moderatorId),HX_("moderatorId",40,4b,8f,97)},
{::hx::fsString,(int)offsetof(ModerationAction_obj,reason),HX_("reason",c4,0f,9d,fc)},
{ ::hx::fsUnknown, 0, null()}
@@ -120,7 +131,8 @@ static ::hx::StaticInfo *ModerationAction_obj_sStaticStorageInfo = 0;
static ::String ModerationAction_obj_sMemberFields[] = {
HX_("chatId",d3,04,77,b7),
HX_("moderateServerId",61,cc,27,2c),
- HX_("timestamp",d6,d4,ce,a5),
+ HX_("timeSent",05,10,b2,ec),
+ HX_("timeReceived",4e,22,9a,7b),
HX_("moderatorId",40,4b,8f,97),
HX_("reason",c4,0f,9d,fc),
::String(null()) };
diff --git a/Sources/c_borogove/src/borogove/MucSettingsCommand.cpp b/Sources/c_borogove/src/borogove/MucSettingsCommand.cpp
new file mode 100644
index 0000000..96c0ad7
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/MucSettingsCommand.cpp
@@ -0,0 +1,189 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
+#endif
+#ifndef INCLUDED_borogove_CommandSession
+#include <borogove/CommandSession.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_Form
+#include <borogove/Form.h>
+#endif
+#ifndef INCLUDED_borogove_FormOption
+#include <borogove/FormOption.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_MucSettingsCommand
+#include <borogove/MucSettingsCommand.h>
+#endif
+#ifndef INCLUDED_borogove_MucSettingsCommandSession
+#include <borogove/MucSettingsCommandSession.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsGet
+#include <borogove/queries/MucSettingsGet.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_1d28ece359055a4e_17_new,"borogove.MucSettingsCommand","new",0x91ecc42c,"borogove.MucSettingsCommand.new","borogove/MucSettingsCommand.hx",17,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_1d28ece359055a4e_23_execute,"borogove.MucSettingsCommand","execute",0xde59d401,"borogove.MucSettingsCommand.execute","borogove/MucSettingsCommand.hx",23,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_1d28ece359055a4e_21_execute,"borogove.MucSettingsCommand","execute",0xde59d401,"borogove.MucSettingsCommand.execute","borogove/MucSettingsCommand.hx",21,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_1d28ece359055a4e_20_execute,"borogove.MucSettingsCommand","execute",0xde59d401,"borogove.MucSettingsCommand.execute","borogove/MucSettingsCommand.hx",20,0xf24e2f23)
+namespace borogove{
+
+void MucSettingsCommand_obj::__construct( ::borogove::Client client, ::borogove::JID jid){
+ HX_STACKFRAME(&_hx_pos_1d28ece359055a4e_17_new)
+HXDLIN( 17) super::__construct(client, ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("jid",c5,ca,50,00),jid)
+ ->setFixed(1,HX_("name",4b,72,ff,48),HX_("Settings",03,39,ef,64))
+ ->setFixed(2,HX_("node",02,0a,0a,49),HX_("muc-settings",b5,fe,a1,e0))));
+ }
+
+Dynamic MucSettingsCommand_obj::__CreateEmpty() { return new MucSettingsCommand_obj; }
+
+void *MucSettingsCommand_obj::_hx_vtable = 0;
+
+Dynamic MucSettingsCommand_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MucSettingsCommand_obj > _hx_result = new MucSettingsCommand_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool MucSettingsCommand_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x108c2af6) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x108c2af6;
+ } else {
+ return inClassId==(int)0x753f386a;
+ }
+}
+
+::Dynamic MucSettingsCommand_obj::execute(){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::MucSettingsCommand,_gthis) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::MucSettingsCommand,_gthis, ::borogove::queries::MucSettingsGet,q, ::Dynamic,resolve, ::Dynamic,reject) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_1d28ece359055a4e_23_execute)
+HXLINE( 24) if (::hx::IsNotNull( q->error )) {
+HXLINE( 25) ::borogove::Stanza formish = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->textTag(HX_("instructions",a5,96,3f,6d),q->error, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73))),null());
+HXLINE( 26) ::Dynamic resolve1 = resolve;
+HXDLIN( 26) resolve1( ::borogove::MucSettingsCommandSession_obj::__alloc( HX_CTX ,HX_("error",c8,cb,29,73),null(),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Form_obj::__alloc( HX_CTX ,formish,null())),_gthis));
+HXLINE( 27) return;
+ }
+HXLINE( 30) ::borogove::Stanza form = q->getResult();
+HXLINE( 31) if (::hx::IsNull( form )) {
+HXLINE( 32) reject(HX_("Failed to get settings form",d5,cb,a2,00));
+HXLINE( 33) return;
+ }
+HXLINE( 36) ::Dynamic resolve2 = resolve;
+HXDLIN( 36) ::Array< ::Dynamic> _hx_tmp = ::Array_obj< ::Dynamic>::__new(2)->init(0, ::borogove::FormOption_obj::__alloc( HX_CTX ,HX_("Submit",38,cc,9a,ce),HX_("execute",35,0a,0d,cc)))->init(1, ::borogove::FormOption_obj::__alloc( HX_CTX ,HX_("Cancel",9a,61,c8,ec),HX_("cancel",7a,ed,33,b8)));
+HXDLIN( 36) resolve2( ::borogove::MucSettingsCommandSession_obj::__alloc( HX_CTX ,HX_("executing",b2,2a,0f,b1),null(),_hx_tmp,::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Form_obj::__alloc( HX_CTX ,form,null())),_gthis));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_1d28ece359055a4e_21_execute)
+HXLINE( 22) ::borogove::queries::MucSettingsGet q = ::borogove::queries::MucSettingsGet_obj::__alloc( HX_CTX ,_gthis->jid->asString());
+HXLINE( 23) q->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,q,resolve,reject)));
+HXLINE( 38) _gthis->client->sendQuery(q);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_STACKFRAME(&_hx_pos_1d28ece359055a4e_20_execute)
+HXDLIN( 20) ::borogove::MucSettingsCommand _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 21) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis)));
+ }
+
+
+
+::hx::ObjectPtr< MucSettingsCommand_obj > MucSettingsCommand_obj::__new( ::borogove::Client client, ::borogove::JID jid) {
+ ::hx::ObjectPtr< MucSettingsCommand_obj > __this = new MucSettingsCommand_obj();
+ __this->__construct(client,jid);
+ return __this;
+}
+
+::hx::ObjectPtr< MucSettingsCommand_obj > MucSettingsCommand_obj::__alloc(::hx::Ctx *_hx_ctx, ::borogove::Client client, ::borogove::JID jid) {
+ MucSettingsCommand_obj *__this = (MucSettingsCommand_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MucSettingsCommand_obj), true, "borogove.MucSettingsCommand"));
+ *(void **)__this = MucSettingsCommand_obj::_hx_vtable;
+ __this->__construct(client,jid);
+ return __this;
+}
+
+MucSettingsCommand_obj::MucSettingsCommand_obj()
+{
+}
+
+::hx::Val MucSettingsCommand_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"execute") ) { return ::hx::Val( execute_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *MucSettingsCommand_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *MucSettingsCommand_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MucSettingsCommand_obj_sMemberFields[] = {
+ HX_("execute",35,0a,0d,cc),
+ ::String(null()) };
+
+::hx::Class MucSettingsCommand_obj::__mClass;
+
+void MucSettingsCommand_obj::__register()
+{
+ MucSettingsCommand_obj _hx_dummy;
+ MucSettingsCommand_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.MucSettingsCommand",3a,7e,dc,f2);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(MucSettingsCommand_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MucSettingsCommand_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MucSettingsCommand_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MucSettingsCommand_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/MucSettingsCommandSession.cpp b/Sources/c_borogove/src/borogove/MucSettingsCommandSession.cpp
new file mode 100644
index 0000000..230feaf
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/MucSettingsCommandSession.cpp
@@ -0,0 +1,200 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove_Client
+#include <borogove/Client.h>
+#endif
+#ifndef INCLUDED_borogove_Command
+#include <borogove/Command.h>
+#endif
+#ifndef INCLUDED_borogove_CommandSession
+#include <borogove/CommandSession.h>
+#endif
+#ifndef INCLUDED_borogove_EventEmitter
+#include <borogove/EventEmitter.h>
+#endif
+#ifndef INCLUDED_borogove_Form
+#include <borogove/Form.h>
+#endif
+#ifndef INCLUDED_borogove_FormOption
+#include <borogove/FormOption.h>
+#endif
+#ifndef INCLUDED_borogove_FormSection
+#include <borogove/FormSection.h>
+#endif
+#ifndef INCLUDED_borogove_FormSubmitBuilder
+#include <borogove/FormSubmitBuilder.h>
+#endif
+#ifndef INCLUDED_borogove_JID
+#include <borogove/JID.h>
+#endif
+#ifndef INCLUDED_borogove_MucSettingsCommandSession
+#include <borogove/MucSettingsCommandSession.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsSubmit
+#include <borogove/queries/MucSettingsSubmit.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_5f86a724038fa427_43_new,"borogove.MucSettingsCommandSession","new",0x9e4acb2e,"borogove.MucSettingsCommandSession.new","borogove/MucSettingsCommand.hx",43,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_5f86a724038fa427_73_execute,"borogove.MucSettingsCommandSession","execute",0x66948403,"borogove.MucSettingsCommandSession.execute","borogove/MucSettingsCommand.hx",73,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_5f86a724038fa427_71_execute,"borogove.MucSettingsCommandSession","execute",0x66948403,"borogove.MucSettingsCommandSession.execute","borogove/MucSettingsCommand.hx",71,0xf24e2f23)
+HX_LOCAL_STACK_FRAME(_hx_pos_5f86a724038fa427_63_execute,"borogove.MucSettingsCommandSession","execute",0x66948403,"borogove.MucSettingsCommandSession.execute","borogove/MucSettingsCommand.hx",63,0xf24e2f23)
+namespace borogove{
+
+void MucSettingsCommandSession_obj::__construct(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command){
+ HX_STACKFRAME(&_hx_pos_5f86a724038fa427_43_new)
+HXDLIN( 43) super::__construct(status,sessionid,actions,forms,command);
+ }
+
+Dynamic MucSettingsCommandSession_obj::__CreateEmpty() { return new MucSettingsCommandSession_obj; }
+
+void *MucSettingsCommandSession_obj::_hx_vtable = 0;
+
+Dynamic MucSettingsCommandSession_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MucSettingsCommandSession_obj > _hx_result = new MucSettingsCommandSession_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ return _hx_result;
+}
+
+bool MucSettingsCommandSession_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x5964480c) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5964480c;
+ } else {
+ return inClassId==(int)0x5a25f9e4;
+ }
+}
+
+::Dynamic MucSettingsCommandSession_obj::execute(::String action, ::borogove::FormSubmitBuilder data,::hx::Null< int > __o_formIdx){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::MucSettingsCommandSession,_gthis, ::borogove::Stanza,toSubmit) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::MucSettingsCommandSession,_gthis, ::Dynamic,resolve, ::Dynamic,reject, ::borogove::queries::MucSettingsSubmit,q1) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_5f86a724038fa427_73_execute)
+HXLINE( 74) if (::hx::IsNotNull( q1->error )) {
+HXLINE( 75) ::borogove::Stanza formish = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->textTag(HX_("instructions",a5,96,3f,6d),q1->error, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73))),null());
+HXLINE( 76) ::Dynamic resolve1 = resolve;
+HXDLIN( 76) resolve1( ::borogove::MucSettingsCommandSession_obj::__alloc( HX_CTX ,HX_("error",c8,cb,29,73),null(),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::Dynamic>::__new(1)->init(0, ::borogove::Form_obj::__alloc( HX_CTX ,formish,null())),_gthis->command));
+HXLINE( 77) return;
+ }
+HXLINE( 80) if (!(q1->getResult())) {
+HXLINE( 81) reject(HX_("Failed to submit settings",a9,fd,52,dc));
+HXLINE( 82) return;
+ }
+HXLINE( 85) ::Dynamic resolve2 = resolve;
+HXDLIN( 85) resolve2( ::borogove::MucSettingsCommandSession_obj::__alloc( HX_CTX ,HX_("completed",8b,a1,38,4f),null(),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::Dynamic>::__new(0),_gthis->command));
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_5f86a724038fa427_71_execute)
+HXLINE( 72) ::String q = _gthis->command->jid->asString();
+HXDLIN( 72) ::borogove::queries::MucSettingsSubmit q1 = ::borogove::queries::MucSettingsSubmit_obj::__alloc( HX_CTX ,q,toSubmit);
+HXLINE( 73) q1->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,reject,q1)));
+HXLINE( 87) _gthis->command->client->sendQuery(q1);
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ int formIdx = __o_formIdx.Default(0);
+ HX_GC_STACKFRAME(&_hx_pos_5f86a724038fa427_63_execute)
+HXDLIN( 63) ::borogove::MucSettingsCommandSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 64) bool _hx_tmp;
+HXDLIN( 64) if ((action != HX_("cancel",7a,ed,33,b8))) {
+HXLINE( 64) _hx_tmp = (action == HX_("prev",f3,be,5e,4a));
+ }
+ else {
+HXLINE( 64) _hx_tmp = true;
+ }
+HXDLIN( 64) if (_hx_tmp) {
+HXLINE( 65) return ::thenshim::_Promise::Promise_Impl__obj::resolve(( ( ::borogove::CommandSession)( ::borogove::MucSettingsCommandSession_obj::__alloc( HX_CTX ,HX_("canceled",59,18,26,1f),null(),::Array_obj< ::Dynamic>::__new(0),::Array_obj< ::Dynamic>::__new(0),this->command)) ));
+ }
+HXLINE( 68) ::borogove::Stanza toSubmit = this->forms->__get(formIdx).StaticCast< ::borogove::Form >()->submit(data);
+HXLINE( 69) if (::hx::IsNull( toSubmit )) {
+HXLINE( 69) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Invalid submission",75,fd,11,31));
+ }
+HXLINE( 71) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,toSubmit)));
+ }
+
+
+
+::hx::ObjectPtr< MucSettingsCommandSession_obj > MucSettingsCommandSession_obj::__new(::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command) {
+ ::hx::ObjectPtr< MucSettingsCommandSession_obj > __this = new MucSettingsCommandSession_obj();
+ __this->__construct(status,sessionid,actions,forms,command);
+ return __this;
+}
+
+::hx::ObjectPtr< MucSettingsCommandSession_obj > MucSettingsCommandSession_obj::__alloc(::hx::Ctx *_hx_ctx,::String status,::String sessionid,::Array< ::Dynamic> actions,::Array< ::Dynamic> forms, ::borogove::Command command) {
+ MucSettingsCommandSession_obj *__this = (MucSettingsCommandSession_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MucSettingsCommandSession_obj), true, "borogove.MucSettingsCommandSession"));
+ *(void **)__this = MucSettingsCommandSession_obj::_hx_vtable;
+ __this->__construct(status,sessionid,actions,forms,command);
+ return __this;
+}
+
+MucSettingsCommandSession_obj::MucSettingsCommandSession_obj()
+{
+}
+
+::hx::Val MucSettingsCommandSession_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"execute") ) { return ::hx::Val( execute_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *MucSettingsCommandSession_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *MucSettingsCommandSession_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MucSettingsCommandSession_obj_sMemberFields[] = {
+ HX_("execute",35,0a,0d,cc),
+ ::String(null()) };
+
+::hx::Class MucSettingsCommandSession_obj::__mClass;
+
+void MucSettingsCommandSession_obj::__register()
+{
+ MucSettingsCommandSession_obj _hx_dummy;
+ MucSettingsCommandSession_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.MucSettingsCommandSession",3c,5c,26,8b);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(MucSettingsCommandSession_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MucSettingsCommandSession_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MucSettingsCommandSession_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MucSettingsCommandSession_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Notification.cpp b/Sources/c_borogove/src/borogove/Notification.cpp
index c1a6437..dab2fc2 100644
--- a/Sources/c_borogove/src/borogove/Notification.cpp
+++ b/Sources/c_borogove/src/borogove/Notification.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_ChatAttachment
#include <borogove/ChatAttachment.h>
#endif
@@ -22,9 +19,21 @@
#ifndef INCLUDED_borogove_Notification
#include <borogove/Notification.h>
#endif
+#ifndef INCLUDED_borogove_Reaction
+#include <borogove/Reaction.h>
+#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_44a57d84c61de0e9_67_new,"borogove.Notification","new",0x9a361d6a,"borogove.Notification.new","borogove/Notification.hx",67,0x6f7c2665)
HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_478_title__fromC,"borogove.Notification","title__fromC",0xca367f97,"borogove.Notification.title__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -40,7 +49,9 @@ HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_478_imageUri__fromC,"borogove.Noti
HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_478_lang__fromC,"borogove.Notification","lang__fromC",0x77e58b55,"borogove.Notification.lang__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_a36c4e022559a091_478_timestamp__fromC,"borogove.Notification","timestamp__fromC",0xf5425719,"borogove.Notification.timestamp__fromC","HaxeCBridge.hx",478,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_83_fromChatMessage,"borogove.Notification","fromChatMessage",0xe6bd348f,"borogove.Notification.fromChatMessage","borogove/Notification.hx",83,0x6f7c2665)
-HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_109_fromThinStanza,"borogove.Notification","fromThinStanza",0x4d440e6e,"borogove.Notification.fromThinStanza","borogove/Notification.hx",109,0x6f7c2665)
+HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_107_fromReactionUpdate,"borogove.Notification","fromReactionUpdate",0x377e93d2,"borogove.Notification.fromReactionUpdate","borogove/Notification.hx",107,0x6f7c2665)
+HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_109_fromReactionUpdate,"borogove.Notification","fromReactionUpdate",0x377e93d2,"borogove.Notification.fromReactionUpdate","borogove/Notification.hx",109,0x6f7c2665)
+HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_127_fromThinStanza,"borogove.Notification","fromThinStanza",0x4d440e6e,"borogove.Notification.fromThinStanza","borogove/Notification.hx",127,0x6f7c2665)
HX_LOCAL_STACK_FRAME(_hx_pos_44a57d84c61de0e9_16_boot,"borogove.Notification","boot",0x4d3c9fe8,"borogove.Notification.boot","borogove/Notification.hx",16,0x6f7c2665)
namespace borogove{
@@ -193,18 +204,74 @@ HXLINE( 95) ::String m2 = m->serverId;
HXLINE( 96) int m3 = m->type;
HXLINE( 97) ::String _hx_tmp4 = m->callStatus();
HXLINE( 98) ::String _hx_tmp5 = m->callSid();
-HXLINE( 89) return ::borogove::Notification_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,m1,m2,m3,_hx_tmp4,_hx_tmp5,imageUri,m->lang,m->timestamp);
+HXLINE( 89) return ::borogove::Notification_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,m1,m2,m3,_hx_tmp4,_hx_tmp5,imageUri,m->lang,m->timeSent);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Notification_obj,fromChatMessage,return )
+ ::borogove::Notification Notification_obj::fromReactionUpdate( ::borogove::ReactionUpdate m, ::borogove::Stanza stanza){
+ HX_GC_STACKFRAME(&_hx_pos_44a57d84c61de0e9_107_fromReactionUpdate)
+HXLINE( 109) ::Array< ::Dynamic> _this = m->reactions;
+HXDLIN( 109) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 109) {
+HXLINE( 109) int _g = 0;
+HXDLIN( 109) int _g1 = _this->length;
+HXDLIN( 109) while((_g < _g1)){
+HXLINE( 109) _g = (_g + 1);
+HXDLIN( 109) int i = (_g - 1);
+HXDLIN( 109) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run(::String s){
+ HX_STACKFRAME(&_hx_pos_44a57d84c61de0e9_109_fromReactionUpdate)
+HXLINE( 109) return s;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(2)
+ ::String _hx_run(::String name,::String uri){
+ HX_STACKFRAME(&_hx_pos_44a57d84c61de0e9_109_fromReactionUpdate)
+HXLINE( 109) return ((HX_(":",3a,00,00,00) + name) + HX_(":",3a,00,00,00));
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXLINE( 109) ::String inValue = ( ( ::borogove::Reaction)(_hx_array_unsafe_get(_this,i)) )->render( ::Dynamic(new _hx_Closure_0()), ::Dynamic(new _hx_Closure_1()));
+HXDLIN( 109) result->__unsafe_set(i,inValue);
+ }
+ }
+ }
+HXDLIN( 109) ::String _hx_tmp = result->join(HX_(" ",20,00,00,00));
+HXLINE( 110) ::String _hx_tmp1 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("to",7b,65,00,00)))->asBare()->asString();
+HXLINE( 111) ::String m1 = m->chatId;
+HXLINE( 112) ::String m2 = m->senderId;
+HXLINE( 113) ::String m3 = m->serverId;
+HXLINE( 114) int _hx_tmp2;
+HXDLIN( 114) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("groupchat",97,1d,c8,e5) )) {
+HXLINE( 114) _hx_tmp2 = 2;
+ }
+ else {
+HXLINE( 114) _hx_tmp2 = 0;
+ }
+HXLINE( 107) return ::borogove::Notification_obj::__alloc( HX_CTX ,HX_("Reacted",7e,3d,92,cf),_hx_tmp,_hx_tmp1,m1,m2,m3,_hx_tmp2,null(),null(),null(),null(),m->timestamp);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Notification_obj,fromReactionUpdate,return )
+
::borogove::Notification Notification_obj::fromThinStanza( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_44a57d84c61de0e9_109_fromThinStanza)
-HXLINE( 112) ::String _hx_tmp = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) ))->asBare()->asString();
-HXLINE( 113) ::String _hx_tmp1 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asBare()->asString();
-HXLINE( 114) ::String _hx_tmp2 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ))->asString();
-HXLINE( 109) return ::borogove::Notification_obj::__alloc( HX_CTX ,HX_("New Message",c7,69,0e,bd),HX_("",00,00,00,00),_hx_tmp,_hx_tmp1,_hx_tmp2,stanza->getChildText(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54)),0,null(),null(),null(),null(),null());
+ HX_GC_STACKFRAME(&_hx_pos_44a57d84c61de0e9_127_fromThinStanza)
+HXLINE( 130) ::String _hx_tmp = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("to",7b,65,00,00)))->asBare()->asString();
+HXLINE( 131) ::String _hx_tmp1 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)))->asBare()->asString();
+HXLINE( 132) ::String _hx_tmp2 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)))->asString();
+HXLINE( 133) ::String _hx_tmp3 = stanza->getChildText(HX_("stanza-id",73,8a,54,e9),HX_("urn:xmpp:sid:0",a8,4b,37,54));
+HXLINE( 134) int _hx_tmp4;
+HXDLIN( 134) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("groupchat",97,1d,c8,e5) )) {
+HXLINE( 134) _hx_tmp4 = 2;
+ }
+ else {
+HXLINE( 134) _hx_tmp4 = 0;
+ }
+HXLINE( 127) return ::borogove::Notification_obj::__alloc( HX_CTX ,HX_("New Message",c7,69,0e,bd),HX_("",00,00,00,00),_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,_hx_tmp4,null(),null(),null(),null(),null());
}
@@ -315,6 +382,9 @@ bool Notification_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::
break;
case 15:
if (HX_FIELD_EQ(inName,"fromChatMessage") ) { outValue = fromChatMessage_dyn(); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"fromReactionUpdate") ) { outValue = fromReactionUpdate_dyn(); return true; }
}
return false;
}
@@ -418,6 +488,7 @@ static ::String Notification_obj_sMemberFields[] = {
static ::String Notification_obj_sStaticFields[] = {
HX_("fromChatMessage",85,80,96,62),
+ HX_("fromReactionUpdate",9c,a5,e0,1e),
HX_("fromThinStanza",38,f3,72,5a),
::String(null())
};
diff --git a/Sources/c_borogove/src/borogove/Participant.cpp b/Sources/c_borogove/src/borogove/Participant.cpp
deleted file mode 100644
index a0151ff..0000000
--- a/Sources/c_borogove/src/borogove/Participant.cpp
+++ /dev/null
@@ -1,596 +0,0 @@
-// Generated by Haxe 4.3.3
-#include <hxcpp.h>
-
-#ifndef INCLUDED__HaxeCBridge_Internal
-#include <_HaxeCBridge/Internal.h>
-#endif
-#ifndef INCLUDED_borogove_AvailableChat
-#include <borogove/AvailableChat.h>
-#endif
-#ifndef INCLUDED_borogove_Client
-#include <borogove/Client.h>
-#endif
-#ifndef INCLUDED_borogove_EventEmitter
-#include <borogove/EventEmitter.h>
-#endif
-#ifndef INCLUDED_borogove_JID
-#include <borogove/JID.h>
-#endif
-#ifndef INCLUDED_borogove_Participant
-#include <borogove/Participant.h>
-#endif
-#ifndef INCLUDED_borogove_Profile
-#include <borogove/Profile.h>
-#endif
-#ifndef INCLUDED_borogove_ProfileItem
-#include <borogove/ProfileItem.h>
-#endif
-#ifndef INCLUDED_borogove_Role
-#include <borogove/Role.h>
-#endif
-#ifndef INCLUDED_borogove_Stanza
-#include <borogove/Stanza.h>
-#endif
-#ifndef INCLUDED_borogove_Status
-#include <borogove/Status.h>
-#endif
-#ifndef INCLUDED_borogove_queries_GenericQuery
-#include <borogove/queries/GenericQuery.h>
-#endif
-#ifndef INCLUDED_borogove_queries_PubsubGet
-#include <borogove/queries/PubsubGet.h>
-#endif
-#ifndef INCLUDED_cpp_Int64Map
-#include <cpp/Int64Map.h>
-#endif
-#ifndef INCLUDED_haxe_IMap
-#include <haxe/IMap.h>
-#endif
-#ifndef INCLUDED_thenshim_Thenable
-#include <thenshim/Thenable.h>
-#endif
-#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
-#include <thenshim/_Promise/Promise_Impl_.h>
-#endif
-
-HX_DEFINE_STACK_FRAME(_hx_pos_74a0113f4a5624a8_53_new,"borogove.Participant","new",0x618fcab8,"borogove.Participant.new","borogove/Participant.hx",53,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_478_displayName__fromC,"borogove.Participant","displayName__fromC",0xdcc10714,"borogove.Participant.displayName__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_478_photoUri__fromC,"borogove.Participant","photoUri__fromC",0x9f724837,"borogove.Participant.photoUri__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_478_placeholderUri__fromC,"borogove.Participant","placeholderUri__fromC",0x53e4a038,"borogove.Participant.placeholderUri__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_478_isSelf__fromC,"borogove.Participant","isSelf__fromC",0xdd7b56fb,"borogove.Participant.isSelf__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_478_chat__fromC,"borogove.Participant","chat__fromC",0x15472ef9,"borogove.Participant.chat__fromC","HaxeCBridge.hx",478,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_452_roles__fromC,"borogove.Participant","roles__fromC",0x94fc0084,"borogove.Participant.roles__fromC","HaxeCBridge.hx",452,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_72_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",72,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_70_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",70,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_69_profile,"borogove.Participant","profile",0xe64d4f81,"borogove.Participant.profile","borogove/Participant.hx",69,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_365_profile__fromC,"borogove.Participant","profile__fromC",0x01e28318,"borogove.Participant.profile__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_94_status,"borogove.Participant","status",0x5522f3da,"borogove.Participant.status","borogove/Participant.hx",94,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_92_status,"borogove.Participant","status",0x5522f3da,"borogove.Participant.status","borogove/Participant.hx",92,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_91_status,"borogove.Participant","status",0x5522f3da,"borogove.Participant.status","borogove/Participant.hx",91,0xf8259379)
-HX_LOCAL_STACK_FRAME(_hx_pos_9afbd85bbbe40848_365_status__fromC,"borogove.Participant","status__fromC",0x7b530bdf,"borogove.Participant.status__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_74a0113f4a5624a8_19_boot,"borogove.Participant","boot",0xf45a96da,"borogove.Participant.boot","borogove/Participant.hx",19,0xf8259379)
-namespace borogove{
-
-void Participant_obj::__construct(::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat){
- HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_53_new)
-HXLINE( 54) this->displayName = displayName;
-HXLINE( 55) this->photoUri = photoUri;
-HXLINE( 56) this->placeholderUri = placeholderUri;
-HXLINE( 57) this->isSelf = isSelf;
-HXLINE( 58) this->roles = roles;
-HXLINE( 59) this->chat = chat;
-HXLINE( 60) this->jid = jid;
- }
-
-Dynamic Participant_obj::__CreateEmpty() { return new Participant_obj; }
-
-void *Participant_obj::_hx_vtable = 0;
-
-Dynamic Participant_obj::__Create(::hx::DynamicArray inArgs)
-{
- ::hx::ObjectPtr< Participant_obj > _hx_result = new Participant_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4],inArgs[5],inArgs[6]);
- return _hx_result;
-}
-
-bool Participant_obj::_hx_isInstanceOf(int inClassId) {
- return inClassId==(int)0x00000001 || inClassId==(int)0x09ded66e;
-}
-
-::String Participant_obj::displayName__fromC(){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_478_displayName__fromC)
-HXDLIN( 478) return this->displayName;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,displayName__fromC,return )
-
-::String Participant_obj::photoUri__fromC(){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_478_photoUri__fromC)
-HXDLIN( 478) return this->photoUri;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,photoUri__fromC,return )
-
-::String Participant_obj::placeholderUri__fromC(){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_478_placeholderUri__fromC)
-HXDLIN( 478) return this->placeholderUri;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,placeholderUri__fromC,return )
-
-bool Participant_obj::isSelf__fromC(){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_478_isSelf__fromC)
-HXDLIN( 478) return this->isSelf;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,isSelf__fromC,return )
-
- ::borogove::AvailableChat Participant_obj::chat__fromC(){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_478_chat__fromC)
-HXDLIN( 478) return this->chat;
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC0(Participant_obj,chat__fromC,return )
-
-size_t Participant_obj::roles__fromC(void*** outPtr){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_452_roles__fromC)
-HXDLIN( 452) ::Array< ::Dynamic> x = this->roles;
-HXDLIN( 452) if (::hx::IsNotNull( outPtr )) {
-HXDLIN( 452) ::cpp::Pointer< void** > _hx_tmp = ::cpp::Pointer_obj::fromRaw(outPtr);
-HXDLIN( 452) ::Array< ::Dynamic> x1 = x;
-HXDLIN( 452) {
-HXDLIN( 452) int _g = 0;
-HXDLIN( 452) while((_g < x1->length)){
-HXDLIN( 452) ::borogove::Role el = x1->__get(_g).StaticCast< ::borogove::Role >();
-HXDLIN( 452) _g = (_g + 1);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic haxeObject = el;
-HXDLIN( 452) void* ptr = haxeObject.mPtr;
-HXDLIN( 452) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 452) if (::hx::IsNull( store )) {
-HXDLIN( 452) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXDLIN( 452) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
- }
- }
- }
-HXDLIN( 452) void** ptr1 = (void**)x1->getBase();
-HXDLIN( 452) ::cpp::Int64 ptrInt641 = reinterpret_cast<int64_t>(ptr1);
-HXDLIN( 452) {
-HXDLIN( 452) ::Dynamic store1 = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt641);
-HXDLIN( 452) if (::hx::IsNull( store1 )) {
-HXDLIN( 452) store1 = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),x1));
-HXDLIN( 452) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt641,store1);
- }
- else {
-HXDLIN( 452) ::hx::FieldRef((store1).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXDLIN( 452) _hx_tmp->set_ref(ptr1);
- }
-HXDLIN( 452) return ( (size_t)(x->length) );
- }
-
-
-::Dynamic Participant_obj::profile( ::borogove::Client client){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Participant,_gthis, ::borogove::Client,client) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::Participant,_gthis, ::Dynamic,resolve, ::borogove::queries::PubsubGet,get) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_74a0113f4a5624a8_72_profile)
-HXLINE( 73) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 74) ::borogove::Stanza fromItem;
-HXDLIN( 74) if (::hx::IsNotNull( item )) {
-HXLINE( 74) fromItem = item->getChild(HX_("vcard",46,91,02,33),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21));
- }
- else {
-HXLINE( 74) fromItem = null();
- }
-HXLINE( 75) ::borogove::Stanza vcard;
-HXDLIN( 75) if (::hx::IsNull( fromItem )) {
-HXLINE( 75) vcard = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("vcard",46,91,02,33), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:vcard-4.0",6e,ca,81,21))));
- }
- else {
-HXLINE( 75) vcard = fromItem;
- }
-HXLINE( 76) if (!(vcard->hasChild(HX_("fn",48,59,00,00),null()))) {
-HXLINE( 77) vcard->insertChild(0, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("fn",48,59,00,00),null())->textTag(HX_("text",ad,cc,f9,4c),_gthis->displayName,null()));
- }
-HXLINE( 79) ::Dynamic resolve1 = resolve;
-HXDLIN( 79) resolve1( ::borogove::Profile_obj::__alloc( HX_CTX ,vcard,null()));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_74a0113f4a5624a8_70_profile)
-HXLINE( 71) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("urn:xmpp:vcard4",4a,89,04,19),null());
-HXLINE( 72) get->onFinished( ::Dynamic(new _hx_Closure_0(_gthis,resolve,get)));
-HXLINE( 81) client->sendQuery(get);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_69_profile)
-HXDLIN( 69) ::borogove::Participant _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 70) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Participant_obj,profile,return )
-
-void Participant_obj::profile__fromC( ::borogove::Client client,::cpp::Function< void (void*,void*) > handler,void* handler__context){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_profile__fromC)
-HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXDLIN( 365) this->profile(client);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run( ::borogove::Profile v){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_profile__fromC)
-HXDLIN( 365) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 334) ::Dynamic haxeObject = v;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXLINE( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXLINE( 334) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 365) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_profile__fromC)
-HXDLIN( 365) handler(null(),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->profile(client), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
- }
- }
-
-
-::Dynamic Participant_obj::status( ::borogove::Client client){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::Participant,_gthis, ::borogove::Client,client) HXARGC(2)
- void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve, ::borogove::queries::PubsubGet,get) HXARGC(0)
- void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_74a0113f4a5624a8_94_status)
-HXLINE( 95) ::borogove::Stanza item = get->getResult()->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 97) ::borogove::Stanza activity;
-HXDLIN( 97) if (::hx::IsNotNull( item )) {
-HXLINE( 97) activity = item->getChild(HX_("activity",cf,2d,b2,e5),HX_("http://jabber.org/protocol/activity",43,2c,6e,94));
- }
- else {
-HXLINE( 97) activity = null();
- }
-HXLINE( 98) ::Dynamic resolve1 = resolve;
-HXDLIN( 98) ::String _hx_tmp;
-HXDLIN( 98) ::borogove::Stanza tmp;
-HXDLIN( 98) if (::hx::IsNotNull( activity )) {
-HXLINE( 98) tmp = activity->getChild(HX_("undefined",90,3e,0a,9d),null());
- }
- else {
-HXLINE( 98) tmp = null();
- }
-HXDLIN( 98) ::String tmp1;
-HXDLIN( 98) if (::hx::IsNotNull( tmp )) {
-HXLINE( 98) tmp1 = tmp->getChildText(HX_("emoji",86,6f,d9,6f),HX_("https://ns.borogove.dev/",0d,36,29,bd));
- }
- else {
-HXLINE( 98) tmp1 = null();
- }
-HXDLIN( 98) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 98) _hx_tmp = tmp1;
- }
- else {
-HXLINE( 98) _hx_tmp = HX_("",00,00,00,00);
- }
-HXDLIN( 98) ::String tmp2;
-HXDLIN( 98) if (::hx::IsNotNull( activity )) {
-HXLINE( 98) tmp2 = activity->getChildText(HX_("text",ad,cc,f9,4c),null());
- }
- else {
-HXLINE( 98) tmp2 = null();
- }
-HXDLIN( 98) ::String _hx_tmp1;
-HXDLIN( 98) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 98) _hx_tmp1 = tmp2;
- }
- else {
-HXLINE( 98) _hx_tmp1 = HX_("",00,00,00,00);
- }
-HXDLIN( 98) resolve1( ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1));
- }
- HX_END_LOCAL_FUNC0((void))
-
- HX_GC_STACKFRAME(&_hx_pos_74a0113f4a5624a8_92_status)
-HXLINE( 93) ::borogove::queries::PubsubGet get = ::borogove::queries::PubsubGet_obj::__alloc( HX_CTX ,_gthis->jid->asString(),HX_("http://jabber.org/protocol/activity",43,2c,6e,94),null());
-HXLINE( 94) get->onFinished( ::Dynamic(new _hx_Closure_0(resolve,get)));
-HXLINE( 100) client->sendQuery(get);
- }
- HX_END_LOCAL_FUNC2((void))
-
- HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_91_status)
-HXDLIN( 91) ::borogove::Participant _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 92) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(_gthis,client)));
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Participant_obj,status,return )
-
-void Participant_obj::status__fromC( ::borogove::Client client,::cpp::Function< void (void*,void*) > handler,void* handler__context){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_status__fromC)
-HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXDLIN( 365) this->status(client);
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run( ::borogove::Status v){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_status__fromC)
-HXDLIN( 365) ::cpp::Function< void (void*,void*) > handler1 = handler;
-HXLINE( 334) ::Dynamic haxeObject = v;
-HXDLIN( 334) void* ptr = haxeObject.mPtr;
-HXDLIN( 334) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(ptr);
-HXDLIN( 334) {
-HXLINE( 334) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
-HXDLIN( 334) if (::hx::IsNull( store )) {
-HXLINE( 334) store = ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
- ->setFixed(1,HX_("value",71,7f,b8,31),haxeObject));
-HXDLIN( 334) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
- }
- else {
-HXLINE( 334) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
- }
- }
-HXLINE( 365) handler1(ptr,handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (void* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_9afbd85bbbe40848_365_status__fromC)
-HXDLIN( 365) handler(null(),handler__context);
- }
- HX_END_LOCAL_FUNC1((void))
-
-HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->status(client), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
- }
- }
-
-
-
-::hx::ObjectPtr< Participant_obj > Participant_obj::__new(::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat) {
- ::hx::ObjectPtr< Participant_obj > __this = new Participant_obj();
- __this->__construct(displayName,photoUri,placeholderUri,isSelf,roles,jid,chat);
- return __this;
-}
-
-::hx::ObjectPtr< Participant_obj > Participant_obj::__alloc(::hx::Ctx *_hx_ctx,::String displayName,::String photoUri,::String placeholderUri,bool isSelf,::Array< ::Dynamic> roles, ::borogove::JID jid, ::borogove::AvailableChat chat) {
- Participant_obj *__this = (Participant_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Participant_obj), true, "borogove.Participant"));
- *(void **)__this = Participant_obj::_hx_vtable;
- __this->__construct(displayName,photoUri,placeholderUri,isSelf,roles,jid,chat);
- return __this;
-}
-
-Participant_obj::Participant_obj()
-{
-}
-
-void Participant_obj::__Mark(HX_MARK_PARAMS)
-{
- HX_MARK_BEGIN_CLASS(Participant);
- HX_MARK_MEMBER_NAME(displayName,"displayName");
- HX_MARK_MEMBER_NAME(photoUri,"photoUri");
- HX_MARK_MEMBER_NAME(placeholderUri,"placeholderUri");
- HX_MARK_MEMBER_NAME(isSelf,"isSelf");
- HX_MARK_MEMBER_NAME(chat,"chat");
- HX_MARK_MEMBER_NAME(roles,"roles");
- HX_MARK_MEMBER_NAME(jid,"jid");
- HX_MARK_END_CLASS();
-}
-
-void Participant_obj::__Visit(HX_VISIT_PARAMS)
-{
- HX_VISIT_MEMBER_NAME(displayName,"displayName");
- HX_VISIT_MEMBER_NAME(photoUri,"photoUri");
- HX_VISIT_MEMBER_NAME(placeholderUri,"placeholderUri");
- HX_VISIT_MEMBER_NAME(isSelf,"isSelf");
- HX_VISIT_MEMBER_NAME(chat,"chat");
- HX_VISIT_MEMBER_NAME(roles,"roles");
- HX_VISIT_MEMBER_NAME(jid,"jid");
-}
-
-::hx::Val Participant_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"jid") ) { return ::hx::Val( jid ); }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"chat") ) { return ::hx::Val( chat ); }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"roles") ) { return ::hx::Val( roles ); }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"isSelf") ) { return ::hx::Val( isSelf ); }
- if (HX_FIELD_EQ(inName,"status") ) { return ::hx::Val( status_dyn() ); }
- break;
- case 7:
- if (HX_FIELD_EQ(inName,"profile") ) { return ::hx::Val( profile_dyn() ); }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"photoUri") ) { return ::hx::Val( photoUri ); }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"displayName") ) { return ::hx::Val( displayName ); }
- if (HX_FIELD_EQ(inName,"chat__fromC") ) { return ::hx::Val( chat__fromC_dyn() ); }
- break;
- case 13:
- if (HX_FIELD_EQ(inName,"isSelf__fromC") ) { return ::hx::Val( isSelf__fromC_dyn() ); }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"placeholderUri") ) { return ::hx::Val( placeholderUri ); }
- break;
- case 15:
- if (HX_FIELD_EQ(inName,"photoUri__fromC") ) { return ::hx::Val( photoUri__fromC_dyn() ); }
- break;
- case 18:
- if (HX_FIELD_EQ(inName,"displayName__fromC") ) { return ::hx::Val( displayName__fromC_dyn() ); }
- break;
- case 21:
- if (HX_FIELD_EQ(inName,"placeholderUri__fromC") ) { return ::hx::Val( placeholderUri__fromC_dyn() ); }
- }
- return super::__Field(inName,inCallProp);
-}
-
-::hx::Val Participant_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
-{
- switch(inName.length) {
- case 3:
- if (HX_FIELD_EQ(inName,"jid") ) { jid=inValue.Cast< ::borogove::JID >(); return inValue; }
- break;
- case 4:
- if (HX_FIELD_EQ(inName,"chat") ) { chat=inValue.Cast< ::borogove::AvailableChat >(); return inValue; }
- break;
- case 5:
- if (HX_FIELD_EQ(inName,"roles") ) { roles=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
- break;
- case 6:
- if (HX_FIELD_EQ(inName,"isSelf") ) { isSelf=inValue.Cast< bool >(); return inValue; }
- break;
- case 8:
- if (HX_FIELD_EQ(inName,"photoUri") ) { photoUri=inValue.Cast< ::String >(); return inValue; }
- break;
- case 11:
- if (HX_FIELD_EQ(inName,"displayName") ) { displayName=inValue.Cast< ::String >(); return inValue; }
- break;
- case 14:
- if (HX_FIELD_EQ(inName,"placeholderUri") ) { placeholderUri=inValue.Cast< ::String >(); return inValue; }
- }
- return super::__SetField(inName,inValue,inCallProp);
-}
-
-void Participant_obj::__GetFields(Array< ::String> &outFields)
-{
- outFields->push(HX_("displayName",ad,11,f2,30));
- outFields->push(HX_("photoUri",da,15,82,60));
- outFields->push(HX_("placeholderUri",b9,d9,ba,ae));
- outFields->push(HX_("isSelf",96,50,b7,69));
- outFields->push(HX_("chat",d8,5e,bf,41));
- outFields->push(HX_("roles",3d,1c,5f,ed));
- outFields->push(HX_("jid",c5,ca,50,00));
- super::__GetFields(outFields);
-};
-
-#ifdef HXCPP_SCRIPTABLE
-static ::hx::StorageInfo Participant_obj_sMemberStorageInfo[] = {
- {::hx::fsString,(int)offsetof(Participant_obj,displayName),HX_("displayName",ad,11,f2,30)},
- {::hx::fsString,(int)offsetof(Participant_obj,photoUri),HX_("photoUri",da,15,82,60)},
- {::hx::fsString,(int)offsetof(Participant_obj,placeholderUri),HX_("placeholderUri",b9,d9,ba,ae)},
- {::hx::fsBool,(int)offsetof(Participant_obj,isSelf),HX_("isSelf",96,50,b7,69)},
- {::hx::fsObject /* ::borogove::AvailableChat */ ,(int)offsetof(Participant_obj,chat),HX_("chat",d8,5e,bf,41)},
- {::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Participant_obj,roles),HX_("roles",3d,1c,5f,ed)},
- {::hx::fsObject /* ::borogove::JID */ ,(int)offsetof(Participant_obj,jid),HX_("jid",c5,ca,50,00)},
- { ::hx::fsUnknown, 0, null()}
-};
-static ::hx::StaticInfo *Participant_obj_sStaticStorageInfo = 0;
-#endif
-
-static ::String Participant_obj_sMemberFields[] = {
- HX_("displayName",ad,11,f2,30),
- HX_("displayName__fromC",6c,9e,e5,22),
- HX_("photoUri",da,15,82,60),
- HX_("photoUri__fromC",df,29,fc,dc),
- HX_("placeholderUri",b9,d9,ba,ae),
- HX_("placeholderUri__fromC",e0,2f,a3,85),
- HX_("isSelf",96,50,b7,69),
- HX_("isSelf__fromC",a3,fe,4d,03),
- HX_("chat",d8,5e,bf,41),
- HX_("chat__fromC",a1,1c,85,3d),
- HX_("roles",3d,1c,5f,ed),
- HX_("jid",c5,ca,50,00),
- HX_("profile",29,49,49,f3),
- HX_("status",32,e7,fb,05),
- ::String(null()) };
-
-::hx::Class Participant_obj::__mClass;
-
-void Participant_obj::__register()
-{
- Participant_obj _hx_dummy;
- Participant_obj::_hx_vtable = *(void **)&_hx_dummy;
- ::hx::Static(__mClass) = new ::hx::Class_obj();
- __mClass->mName = HX_("borogove.Participant",c6,4e,3e,89);
- __mClass->mSuper = &super::__SGetClass();
- __mClass->mConstructEmpty = &__CreateEmpty;
- __mClass->mConstructArgs = &__Create;
- __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
- __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
- __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
- __mClass->mMembers = ::hx::Class_obj::dupFunctions(Participant_obj_sMemberFields);
- __mClass->mCanCast = ::hx::TCanCast< Participant_obj >;
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mMemberStorageInfo = Participant_obj_sMemberStorageInfo;
-#endif
-#ifdef HXCPP_SCRIPTABLE
- __mClass->mStaticStorageInfo = Participant_obj_sStaticStorageInfo;
-#endif
- ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
-}
-
-void Participant_obj::__boot()
-{
-{
- HX_STACKFRAME(&_hx_pos_74a0113f4a5624a8_19_boot)
-HXDLIN( 19) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(10)
- ->setFixed(0,HX_("placeholderUri__fromC",e0,2f,a3,85), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(1,HX_("status__fromC",87,b3,25,a1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(2,HX_("roles__fromC",dc,05,ee,a2), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(3,HX_("photoUri__fromC",df,29,fc,dc), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(4,HX_("profile",29,49,49,f3), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(5,HX_("profile__fromC",70,8e,62,f4), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(6,HX_("isSelf__fromC",a3,fe,4d,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(7,HX_("status",32,e7,fb,05), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(8,HX_("displayName__fromC",6c,9e,e5,22), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(9,HX_("chat__fromC",a1,1c,85,3d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null()))))));
- }
-}
-
-} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Persistence.cpp b/Sources/c_borogove/src/borogove/Persistence.cpp
index b1de8e5..84f993c 100644
--- a/Sources/c_borogove/src/borogove/Persistence.cpp
+++ b/Sources/c_borogove/src/borogove/Persistence.cpp
@@ -13,6 +13,9 @@
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_borogove_Member
#include <borogove/Member.h>
#endif
@@ -28,6 +31,9 @@
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_86b0a481bb186c19_23_boot,"borogove.Persistence","boot",0x620c37ae,"borogove.Persistence.boot","borogove/Persistence.hx",23,0x3c6f974d)
namespace borogove{
@@ -42,6 +48,8 @@ static ::String Persistence_obj_sMemberFields[] = {
HX_("clearMemberPresence",22,9d,db,a5),
HX_("getMembers",e3,b2,d1,69),
HX_("getMemberDetails",12,2b,2f,b3),
+ HX_("storeVoiceRequest",3e,09,f8,ef),
+ HX_("listVoiceRequests",d8,ba,8f,00),
HX_("getChatsUnreadDetails",ee,d4,5a,85),
HX_("storeReaction",aa,00,75,ab),
HX_("storeMessages",cd,f1,bd,e9),
@@ -51,6 +59,7 @@ static ::String Persistence_obj_sMemberFields[] = {
HX_("getMessagesBefore",a1,f1,44,11),
HX_("getMessagesAfter",3a,43,91,57),
HX_("getMessagesAround",6f,95,16,2d),
+ HX_("getMessagesByStatus",0b,d6,52,1e),
HX_("hasMedia",2a,4f,14,92),
HX_("storeMedia",43,b1,3a,43),
HX_("removeMedia",00,e2,ef,03),
@@ -83,7 +92,7 @@ void Persistence_obj::__boot()
{
HX_STACKFRAME(&_hx_pos_86b0a481bb186c19_23_boot)
HXDLIN( 23) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(30)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(33)
->setFixed(0,HX_("storeChats",fa,4a,32,83), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(1,HX_("getChatsUnreadDetails",ee,d4,5a,85), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -118,31 +127,37 @@ HXDLIN( 23) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(16,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(17,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("storeVoiceRequest",3e,09,f8,ef), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(18,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(18,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("listVoiceRequests",d8,ba,8f,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(20,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(19,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(20,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(21,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(24,HX_("getMessagesByStatus",0b,d6,52,1e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(22,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(25,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(23,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(26,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(24,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(25,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(26,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
- ->setFixed(27,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(28,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(29,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d))))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/Persistence__Companion.cpp b/Sources/c_borogove/src/borogove/Persistence__Companion.cpp
index 1f15510..65d6373 100644
--- a/Sources/c_borogove/src/borogove/Persistence__Companion.cpp
+++ b/Sources/c_borogove/src/borogove/Persistence__Companion.cpp
@@ -19,6 +19,9 @@
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_borogove_Persistence
#include <borogove/Persistence.h>
#endif
@@ -37,6 +40,9 @@
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_3b8bc4f87a0221fe_365_syncPoint__fromC,"borogove.Persistence__Companion","syncPoint__fromC",0x55d370f8,"borogove.Persistence__Companion.syncPoint__fromC","HaxeCBridge.hx",365,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_3b8bc4f87a0221fe_354_storeChats__fromC,"borogove.Persistence__Companion","storeChats__fromC",0xc83eca6b,"borogove.Persistence__Companion.storeChats__fromC","HaxeCBridge.hx",354,0xa18550d8)
@@ -349,96 +355,82 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persist
}
-void Persistence__Companion_obj::hasMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context){
+void Persistence__Companion_obj::hasMedia__fromC(::Dynamic self, ::borogove::Hash hash,::cpp::Function< void (const char*,void*) > handler,void* handler__context){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_hasMedia__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXLINE( 302) ::Array< unsigned char > _hx_tmp;
-HXDLIN( 302) if (::hx::IsNull( hash )) {
-HXLINE( 302) _hx_tmp = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this = hash->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp = _this;
-HXDLIN( 302) result->setUnmanagedData(tmp,( (int)(hash__len) ));
-HXDLIN( 302) _hx_tmp = result->copy();
- }
-HXLINE( 365) ::borogove::Persistence_obj::hasMedia(self,hashAlgorithm,_hx_tmp);
+HXDLIN( 365) ::borogove::Persistence_obj::hasMedia(self,hash);
}
else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run(bool v){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::String v){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_hasMedia__fromC)
-HXDLIN( 365) handler(v,handler__context);
+HXDLIN( 365) ::cpp::Function< void (const char*,void*) > handler1 = handler;
+HXLINE( 332) const char* cStrPtr = v.utf8_str();
+HXDLIN( 332) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 332) {
+HXLINE( 332) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 332) if (::hx::IsNull( store )) {
+HXLINE( 332) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),v));
+HXDLIN( 332) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 332) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 365) handler1(cStrPtr,handler__context);
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
void _hx_run( ::Dynamic e){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_hasMedia__fromC)
-HXDLIN( 365) handler(false,handler__context);
+HXDLIN( 365) handler(null(),handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 302) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 302) if (::hx::IsNull( hash )) {
-HXLINE( 302) _hx_tmp1 = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this1 = hash->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp1 = _this1;
-HXDLIN( 302) result1->setUnmanagedData(tmp1,( (int)(hash__len) ));
-HXDLIN( 302) _hx_tmp1 = result1->copy();
- }
-HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(self,hashAlgorithm,_hx_tmp1), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::hasMedia(self,hash), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
-void Persistence__Companion_obj::storeMedia__fromC(::Dynamic self,::String mime,::cpp::Pointer< unsigned char > bytes,size_t bytes__len,::cpp::Function< void (bool,void*) > handler,void* handler__context){
+void Persistence__Companion_obj::storeMedia__fromC(::Dynamic self,::String mime,::Dynamic source,::cpp::Function< void (const char*,void*) > handler,void* handler__context){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_storeMedia__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXLINE( 302) ::Array< unsigned char > _hx_tmp;
-HXDLIN( 302) if (::hx::IsNull( bytes )) {
-HXLINE( 302) _hx_tmp = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this = bytes->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp = _this;
-HXDLIN( 302) result->setUnmanagedData(tmp,( (int)(bytes__len) ));
-HXDLIN( 302) _hx_tmp = result->copy();
- }
-HXLINE( 365) ::borogove::Persistence_obj::storeMedia(self,mime,_hx_tmp);
+HXDLIN( 365) ::borogove::Persistence_obj::storeMedia(self,mime,source);
}
else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run(bool v){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::String v){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_storeMedia__fromC)
-HXDLIN( 365) handler(v,handler__context);
+HXDLIN( 365) ::cpp::Function< void (const char*,void*) > handler1 = handler;
+HXLINE( 332) const char* cStrPtr = v.utf8_str();
+HXDLIN( 332) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 332) {
+HXLINE( 332) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 332) if (::hx::IsNull( store )) {
+HXLINE( 332) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),v));
+HXDLIN( 332) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 332) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 365) handler1(cStrPtr,handler__context);
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
void _hx_run( ::Dynamic e){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_storeMedia__fromC)
-HXDLIN( 365) handler(false,handler__context);
+HXDLIN( 365) handler(null(),handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 302) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 302) if (::hx::IsNull( bytes )) {
-HXLINE( 302) _hx_tmp1 = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this1 = bytes->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp1 = _this1;
-HXDLIN( 302) result1->setUnmanagedData(tmp1,( (int)(bytes__len) ));
-HXDLIN( 302) _hx_tmp1 = result1->copy();
- }
-HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(self,mime,_hx_tmp1), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeMedia(self,mime,source), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
@@ -490,10 +482,10 @@ HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persist
}
-void Persistence__Companion_obj::storeLogin__fromC(::Dynamic self,::String accountId,::String clientId,::String displayName,::String token,::cpp::Function< void (bool,void*) > handler,void* handler__context){
+void Persistence__Companion_obj::storeLogin__fromC(::Dynamic self,::String accountId,::String clientId,::String displayName,::String rosterVer,::String token,::cpp::Function< void (bool,void*) > handler,void* handler__context){
HX_STACKFRAME(&_hx_pos_3b8bc4f87a0221fe_365_storeLogin__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXDLIN( 365) ::borogove::Persistence_obj::storeLogin(self,accountId,clientId,displayName,token);
+HXDLIN( 365) ::borogove::Persistence_obj::storeLogin(self,accountId,clientId,displayName,rosterVer,token);
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
@@ -510,7 +502,7 @@ HXDLIN( 365) handler(false,handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeLogin(self,accountId,clientId,displayName,token), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::storeLogin(self,accountId,clientId,displayName,rosterVer,token), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
diff --git a/Sources/c_borogove/src/borogove/ProfileBuilder.cpp b/Sources/c_borogove/src/borogove/ProfileBuilder.cpp
index fb34de6..6110609 100644
--- a/Sources/c_borogove/src/borogove/ProfileBuilder.cpp
+++ b/Sources/c_borogove/src/borogove/ProfileBuilder.cpp
@@ -102,7 +102,7 @@ void ProfileBuilder_obj::add(::String k,::String v){
HX_GC_STACKFRAME(&_hx_pos_330db0caed3d734f_187_add)
HXLINE( 188) ::String type = ::borogove::_Profile::Profile_Fields__obj::TYPES->get_string(k);
HXLINE( 189) if (::hx::IsNotNull( type )) {
-HXLINE( 190) ::borogove::Stanza el = ::borogove::Stanza_obj::__alloc( HX_CTX ,k,null())->textTag(type,v,null());
+HXLINE( 190) ::borogove::Stanza el = ::borogove::Stanza_obj::__alloc( HX_CTX ,k,null(),null())->textTag(type,v,null(),null());
HXLINE( 191) this->vcard->addChild(el);
HXLINE( 192) ::Array< ::Dynamic> _hx_tmp = this->items;
HXDLIN( 192) _hx_tmp->push( ::borogove::ProfileItem_obj::__alloc( HX_CTX ,el,((k + HX_("/",2f,00,00,00)) + ::_UUIDv7::UUIDv7_Fields__obj::uuidv7())));
@@ -140,7 +140,7 @@ HXLINE( 205) HX_STACK_DO_THROW((HX_("prop not found for ",5f,11,d5,80) + id));
HXLINE( 207) ::String type = ::borogove::_Profile::Profile_Fields__obj::TYPES->get_string(k);
HXLINE( 208) if (::hx::IsNotNull( type )) {
HXLINE( 209) prop->removeChildren(null(),null());
-HXLINE( 210) prop->textTag(type,v,null());
+HXLINE( 210) prop->textTag(type,v,null(),null());
}
else {
HXLINE( 212) HX_STACK_DO_THROW((HX_("Unknown profile property ",3e,fe,b6,f1) + k));
diff --git a/Sources/c_borogove/src/borogove/PubsubEvent.cpp b/Sources/c_borogove/src/borogove/PubsubEvent.cpp
index 8b0385d..6c910cc 100644
--- a/Sources/c_borogove/src/borogove/PubsubEvent.cpp
+++ b/Sources/c_borogove/src/borogove/PubsubEvent.cpp
@@ -1,15 +1,18 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_PubsubEvent
#include <borogove/PubsubEvent.h>
#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_b1bbb10371f77428_9_new,"borogove.PubsubEvent","new",0x97075b3c,"borogove.PubsubEvent.new","borogove/PubsubEvent.hx",9,0x86bc7f75)
HX_LOCAL_STACK_FRAME(_hx_pos_b1bbb10371f77428_28_getFrom,"borogove.PubsubEvent","getFrom",0x7aad7dfc,"borogove.PubsubEvent.getFrom","borogove/PubsubEvent.hx",28,0x86bc7f75)
@@ -75,9 +78,9 @@ HXLINE( 20) ::borogove::Stanza items = event->getChild(HX_("items",00,ac,0c,c
HXLINE( 21) if (::hx::IsNull( items )) {
HXLINE( 21) return null();
}
-HXLINE( 24) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 24) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
-HXDLIN( 24) ::String _hx_tmp2 = ( (::String)(::Reflect_obj::field(items->attr,HX_("node",02,0a,0a,49))) );
+HXLINE( 24) ::String _hx_tmp = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 24) ::String _hx_tmp1 = stanza->attr->get_string(HX_("to",7b,65,00,00));
+HXDLIN( 24) ::String _hx_tmp2 = items->attr->get_string(HX_("node",02,0a,0a,49));
HXDLIN( 24) return ::borogove::PubsubEvent_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,_hx_tmp2,items->allTags(HX_("item",13,c5,bf,45),null()));
}
diff --git a/Sources/c_borogove/src/borogove/Push.cpp b/Sources/c_borogove/src/borogove/Push.cpp
index 4811716..9e10005 100644
--- a/Sources/c_borogove/src/borogove/Push.cpp
+++ b/Sources/c_borogove/src/borogove/Push.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__FractionalIndexing_FractionalIndexing_Fields_
#include <_FractionalIndexing/FractionalIndexing_Fields_.h>
#endif
@@ -13,9 +10,18 @@
#ifndef INCLUDED_borogove_ChatMessageBuilder
#include <borogove/ChatMessageBuilder.h>
#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
#ifndef INCLUDED_borogove_JID
#include <borogove/JID.h>
#endif
+#ifndef INCLUDED_borogove_Message
+#include <borogove/Message.h>
+#endif
+#ifndef INCLUDED_borogove_MessageStanza
+#include <borogove/MessageStanza.h>
+#endif
#ifndef INCLUDED_borogove_Notification
#include <borogove/Notification.h>
#endif
@@ -25,9 +31,18 @@
#ifndef INCLUDED_borogove_Push
#include <borogove/Push.h>
#endif
+#ifndef INCLUDED_borogove_ReactionUpdate
+#include <borogove/ReactionUpdate.h>
+#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
@@ -36,10 +51,10 @@
#endif
HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_28_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",28,0xbbe648d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_50_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",50,0xbbe648d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_45_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",45,0xbbe648d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_43_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",43,0xbbe648d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_44_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",44,0xbbe648d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_54_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",54,0xbbe648d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_48_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",48,0xbbe648d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_46_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",46,0xbbe648d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_3e92fffecd881428_47_receive,"borogove.Push","receive",0xa9c048dc,"borogove.Push.receive","borogove/Push.hx",47,0xbbe648d6)
namespace borogove{
void Push_obj::__construct() { }
@@ -61,99 +76,121 @@ bool Push_obj::_hx_isInstanceOf(int inClassId) {
::borogove::Notification Push_obj::receive(::String data,::Dynamic persistence){
HX_STACKFRAME(&_hx_pos_3e92fffecd881428_28_receive)
-HXLINE( 29) ::Array< ::Dynamic> stanza = ::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::Stanza_obj::parse(data));
-HXLINE( 30) if (::hx::IsNull( stanza->__get(0).StaticCast< ::borogove::Stanza >() )) {
-HXLINE( 30) return null();
+HXLINE( 31) __hxcpp_collect(true);
+HXLINE( 33) ::Array< ::Dynamic> stanza = ::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::Stanza_obj::parse(data));
+HXLINE( 34) if (::hx::IsNull( stanza->__get(0).StaticCast< ::borogove::Stanza >() )) {
+HXLINE( 34) return null();
}
-HXLINE( 31) bool _hx_tmp;
-HXDLIN( 31) if ((stanza->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("envelope",10,df,6c,0c))) {
-HXLINE( 31) _hx_tmp = (( (::String)(::Reflect_obj::field(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:sce:1",30,c6,40,50));
+HXLINE( 35) bool _hx_tmp;
+HXDLIN( 35) if ((stanza->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("envelope",10,df,6c,0c))) {
+HXLINE( 35) _hx_tmp = ::hx::IsEq( stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:sce:1",30,c6,40,50) );
}
else {
-HXLINE( 31) _hx_tmp = false;
+HXLINE( 35) _hx_tmp = false;
}
-HXDLIN( 31) if (_hx_tmp) {
-HXLINE( 32) stanza[0] = stanza->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("content",39,8d,77,19),null())->getFirstChild();
+HXDLIN( 35) if (_hx_tmp) {
+HXLINE( 36) stanza[0] = stanza->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("content",39,8d,77,19),null())->getFirstChild();
}
-HXLINE( 34) bool _hx_tmp1;
-HXDLIN( 34) if ((stanza->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("forwarded",64,f5,9a,17))) {
-HXLINE( 34) _hx_tmp1 = (( (::String)(::Reflect_obj::field(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("urn:xmpp:forward:0",1f,ec,b0,d1));
+HXLINE( 38) bool _hx_tmp1;
+HXDLIN( 38) if ((stanza->__get(0).StaticCast< ::borogove::Stanza >()->name == HX_("forwarded",64,f5,9a,17))) {
+HXLINE( 38) _hx_tmp1 = ::hx::IsEq( stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr->get(HX_("xmlns",dc,31,74,60)),HX_("urn:xmpp:forward:0",1f,ec,b0,d1) );
}
else {
-HXLINE( 34) _hx_tmp1 = false;
+HXLINE( 38) _hx_tmp1 = false;
}
-HXDLIN( 34) if (_hx_tmp1) {
-HXLINE( 35) stanza[0] = stanza->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("message",c7,35,11,9a),HX_("jabber:client",21,64,c5,e4));
+HXDLIN( 38) if (_hx_tmp1) {
+HXLINE( 39) stanza[0] = stanza->__get(0).StaticCast< ::borogove::Stanza >()->getChild(HX_("message",c7,35,11,9a),HX_("jabber:client",21,64,c5,e4));
}
-HXLINE( 37) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("to",7b,65,00,00))) ) )) {
-HXLINE( 37) return null();
+HXLINE( 41) if (::hx::IsNull( stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr->get(HX_("to",7b,65,00,00)) )) {
+HXLINE( 41) return null();
}
-HXLINE( 39) ::borogove::Stanza stanza1 = stanza->__get(0).StaticCast< ::borogove::Stanza >();
-HXDLIN( 39) ::borogove::ChatMessage message = ::borogove::ChatMessage_obj::fromStanza(stanza1,::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("to",7b,65,00,00))) ))->asBare(),null());
-HXLINE( 40) if (::hx::IsNotNull( message )) {
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::ChatMessage,message,::Dynamic,persistence,::Array< ::Dynamic>,stanza) HXARGC(1)
- ::Dynamic _hx_run(::String sortId){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2,::String,sortId1) HXARGC(2)
- ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_3e92fffecd881428_50_receive)
-HXLINE( 51) builder->sortId = sortId1;
-HXLINE( 52) return builder;
- }
- HX_END_LOCAL_FUNC2(return)
-
- HX_STACKFRAME(&_hx_pos_3e92fffecd881428_45_receive)
-HXLINE( 46) ::String sortId1 = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE( 48) ::borogove::Stanza stanza1 = stanza->__get(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 47) ::borogove::ChatMessage toStore = ::borogove::ChatMessage_obj::fromStanza(stanza1,::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr,HX_("to",7b,65,00,00))) ))->asBare(), ::Dynamic(new _hx_Closure_2(sortId1)));
-HXLINE( 55) ::Dynamic persistence1 = persistence;
-HXDLIN( 55) return ::borogove::Persistence_obj::storeMessages(persistence1,message->account(),::Array_obj< ::Dynamic>::__new(1)->init(0,toStore));
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 42) ::Dynamic _hx_tmp2;
-HXDLIN( 42) if ((message->type == 2)) {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- ::String _hx_run( ::borogove::ChatMessage point){
- HX_STACKFRAME(&_hx_pos_3e92fffecd881428_43_receive)
-HXLINE( 43) ::String tmp;
-HXDLIN( 43) if (::hx::IsNotNull( point )) {
-HXLINE( 43) tmp = point->sortId;
- }
- else {
-HXLINE( 43) tmp = null();
- }
-HXDLIN( 43) if (::hx::IsNotNull( tmp )) {
-HXLINE( 43) return tmp;
+HXLINE( 42) ::borogove::Stanza stanza1 = stanza->__get(0).StaticCast< ::borogove::Stanza >();
+HXDLIN( 42) ::borogove::MessageStanza _g = ::borogove::Message_obj::fromStanza(stanza1,::borogove::JID_obj::parse(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("to",7b,65,00,00)))->asBare(),null(),null(),null())->parsed;
+HXDLIN( 42) switch((int)(_g->_hx_getIndex())){
+ case (int)1: {
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::ChatMessage,message,::Dynamic,persistence,::Array< ::Dynamic>,stanza) HXARGC(1)
+ ::Dynamic _hx_run(::String sortId){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2,::String,sortId1,::String,lower) HXARGC(2)
+ ::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_3e92fffecd881428_54_receive)
+HXLINE( 55) builder->sortId = sortId1;
+HXLINE( 56) builder->debug = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(1,HX_("source",db,b0,31,32),HX_("push",da,11,61,4a)));
+HXLINE( 60) return builder;
}
- else {
-HXLINE( 43) return HX_("a ",9f,54,00,00);
- }
-HXDLIN( 43) return null();
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_3e92fffecd881428_48_receive)
+HXLINE( 49) ::String lower = sortId;
+HXLINE( 50) ::String sortId1 = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(lower,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE( 52) ::borogove::Stanza stanza1 = stanza->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 51) ::borogove::ChatMessage toStore = ::borogove::ChatMessage_obj::fromStanza(stanza1,::borogove::JID_obj::parse(stanza->__get(0).StaticCast< ::borogove::Stanza >()->attr->get_string(HX_("to",7b,65,00,00)))->asBare(), ::Dynamic(new _hx_Closure_2(sortId1,lower)),null());
+HXLINE( 63) toStore->debug = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(1,HX_("source",db,b0,31,32),HX_("push",da,11,61,4a)));
+HXLINE( 64) ::Dynamic persistence1 = persistence;
+HXDLIN( 64) return ::borogove::Persistence_obj::storeMessages(persistence1,message->account(),::Array_obj< ::Dynamic>::__new(1)->init(0,toStore));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 43) ::Dynamic persistence1 = persistence;
-HXDLIN( 43) ::String _hx_tmp3 = message->account();
-HXLINE( 42) _hx_tmp2 = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(persistence1,_hx_tmp3,message->chatId()), ::Dynamic(new _hx_Closure_0()),null());
- }
- else {
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
- ::String _hx_run( ::Dynamic data){
- HX_STACKFRAME(&_hx_pos_3e92fffecd881428_44_receive)
-HXLINE( 44) return ( (::String)(data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
+HXLINE( 43) ::borogove::ChatMessage message = _g->_hx_getObject(0).StaticCast< ::borogove::ChatMessage >();
+HXLINE( 45) ::Dynamic _hx_tmp2;
+HXDLIN( 45) if ((message->type == 2)) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage point){
+ HX_STACKFRAME(&_hx_pos_3e92fffecd881428_46_receive)
+HXLINE( 46) ::String tmp;
+HXDLIN( 46) if (::hx::IsNotNull( point )) {
+HXLINE( 46) tmp = point->sortId;
+ }
+ else {
+HXLINE( 46) tmp = null();
+ }
+HXDLIN( 46) if (::hx::IsNotNull( tmp )) {
+HXLINE( 46) return tmp;
+ }
+ else {
+HXLINE( 46) return HX_("a ",9f,54,00,00);
+ }
+HXDLIN( 46) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+HXLINE( 46) ::Dynamic persistence1 = persistence;
+HXDLIN( 46) ::String _hx_tmp3 = message->account();
+HXLINE( 45) _hx_tmp2 = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::syncPoint(persistence1,_hx_tmp3,message->chatId()), ::Dynamic(new _hx_Closure_0()),null());
}
- HX_END_LOCAL_FUNC1(return)
+ else {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ ::String _hx_run( ::Dynamic data){
+ HX_STACKFRAME(&_hx_pos_3e92fffecd881428_47_receive)
+HXLINE( 47) return ( (::String)(data->__Field(HX_("sortId",d9,7a,37,30),::hx::paccDynamic)) );
+ }
+ HX_END_LOCAL_FUNC1(return)
-HXLINE( 44) ::Dynamic persistence2 = persistence;
-HXLINE( 42) _hx_tmp2 = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getStreamManagement(persistence2,message->account()), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE( 47) ::Dynamic persistence2 = persistence;
+HXLINE( 45) _hx_tmp2 = ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::Persistence_obj::getStreamManagement(persistence2,message->account()), ::Dynamic(new _hx_Closure_1()),null());
+ }
+HXDLIN( 45) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp2, ::Dynamic(new _hx_Closure_3(message,persistence,stanza)),null());
+HXLINE( 66) return ::borogove::Notification_obj::fromChatMessage(message);
+ }
+ break;
+ case (int)4: {
+HXLINE( 68) return ::borogove::Notification_obj::fromReactionUpdate(_g->_hx_getObject(0).StaticCast< ::borogove::ReactionUpdate >(),stanza->__get(0).StaticCast< ::borogove::Stanza >());
+ }
+ break;
+ default:{
+HXLINE( 70) return ::borogove::Notification_obj::fromThinStanza(stanza->__get(0).StaticCast< ::borogove::Stanza >());
}
-HXDLIN( 42) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp2, ::Dynamic(new _hx_Closure_3(message,persistence,stanza)),null());
-HXLINE( 57) return ::borogove::Notification_obj::fromChatMessage(message);
- }
- else {
-HXLINE( 59) return ::borogove::Notification_obj::fromThinStanza(stanza->__get(0).StaticCast< ::borogove::Stanza >());
}
-HXLINE( 40) return null();
+HXLINE( 42) return null();
}
diff --git a/Sources/c_borogove/src/borogove/ReactionUpdate.cpp b/Sources/c_borogove/src/borogove/ReactionUpdate.cpp
index 1100a92..e6c9d6a 100644
--- a/Sources/c_borogove/src/borogove/ReactionUpdate.cpp
+++ b/Sources/c_borogove/src/borogove/ReactionUpdate.cpp
@@ -197,7 +197,7 @@ HXLINE( 97) attrs = HX_("groupchat",97,1d,c8,e5);
}
HXLINE( 98) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->updateId)
- ->setFixed(1,HX_("type",ba,f2,08,4d),attrs)));
+ ->setFixed(1,HX_("type",ba,f2,08,4d),attrs)),null());
HXLINE( 100) ::String tmp = this->localId;
HXDLIN( 100) ::String _hx_tmp;
HXDLIN( 100) if (::hx::IsNotNull( tmp )) {
@@ -208,7 +208,7 @@ HXLINE( 100) _hx_tmp = this->serverId;
}
HXDLIN( 100) stanza->tag(HX_("reactions",aa,cc,95,e7), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reactions:0",44,fb,42,53))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:reactions:0",44,fb,42,53))),null());
HXLINE( 101) {
HXLINE( 101) int _g = 0;
HXDLIN( 101) ::Array< ::Dynamic> _g1 = this->reactions;
@@ -216,7 +216,7 @@ HXDLIN( 101) while((_g < _g1->length)){
HXLINE( 101) ::borogove::Reaction reaction = _g1->__get(_g).StaticCast< ::borogove::Reaction >();
HXDLIN( 101) _g = (_g + 1);
HXLINE( 102) if (!(::Std_obj::isOfType(reaction,::hx::ClassOf< ::borogove::CustomEmojiReaction >()))) {
-HXLINE( 102) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction->text,null());
+HXLINE( 102) stanza->textTag(HX_("reaction",a9,e7,b4,f6),reaction->text,null(),null());
}
}
}
diff --git a/Sources/c_borogove/src/borogove/SerializedChat.cpp b/Sources/c_borogove/src/borogove/SerializedChat.cpp
index 265d9fe..5f6eb2d 100644
--- a/Sources/c_borogove/src/borogove/SerializedChat.cpp
+++ b/Sources/c_borogove/src/borogove/SerializedChat.cpp
@@ -46,60 +46,69 @@
#ifndef INCLUDED_haxe_ds_StringMap
#include <haxe/ds/StringMap.h>
#endif
+#ifndef INCLUDED_thenshim_PromiseTools
+#include <thenshim/PromiseTools.h>
+#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_10d675922f29bad2_2363_new,"borogove.SerializedChat","new",0x812203bb,"borogove.SerializedChat.new","borogove/Chat.hx",2363,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_2416_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",2416,0x1763ae98)
-HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_2448_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",2448,0x1763ae98)
+HX_DEFINE_STACK_FRAME(_hx_pos_10d675922f29bad2_2686_new,"borogove.SerializedChat","new",0x812203bb,"borogove.SerializedChat.new","borogove/Chat.hx",2686,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_2774_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",2774,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_2739_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",2739,0x1763ae98)
+HX_LOCAL_STACK_FRAME(_hx_pos_10d675922f29bad2_2771_toChat,"borogove.SerializedChat","toChat",0xdd72e178,"borogove.SerializedChat.toChat","borogove/Chat.hx",2771,0x1763ae98)
namespace borogove{
-void SerializedChat_obj::__construct(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass){
- HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2363_new)
-HXLINE(2377) this->threads = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(2390) this->chatId = chatId;
-HXLINE(2391) this->trusted = trusted;
-HXLINE(2392) this->isBookmarked = isBookmarked;
-HXLINE(2393) this->avatarSha1 = avatarSha1;
-HXLINE(2394) this->presence = presence;
-HXLINE(2395) this->membersForName = membersForName;
-HXLINE(2396) this->displayName = displayName;
-HXLINE(2397) int _hx_tmp;
-HXDLIN(2397) if (::hx::IsNotNull( uiState )) {
-HXLINE(2397) _hx_tmp = ( (int)(uiState) );
+void SerializedChat_obj::__construct(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass){
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2686_new)
+HXLINE(2700) this->threads = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(2713) this->chatId = chatId;
+HXLINE(2714) this->trusted = trusted;
+HXLINE(2715) this->isBookmarked = isBookmarked;
+HXLINE(2716) this->avatarSha1 = avatarSha1;
+HXLINE(2717) this->presence = presence;
+HXLINE(2718) this->membersForName = membersForName;
+HXLINE(2719) this->displayName = displayName;
+HXLINE(2720) int _hx_tmp;
+HXDLIN(2720) if (::hx::IsNotNull( uiState )) {
+HXLINE(2720) _hx_tmp = ( (int)(uiState) );
}
else {
-HXLINE(2397) _hx_tmp = 1;
+HXLINE(2720) _hx_tmp = 1;
}
-HXDLIN(2397) this->uiState = _hx_tmp;
-HXLINE(2398) bool _hx_tmp1;
-HXDLIN(2398) if (::hx::IsNotNull( isBlocked )) {
-HXLINE(2398) _hx_tmp1 = ( (bool)(isBlocked) );
+HXDLIN(2720) this->uiState = _hx_tmp;
+HXLINE(2721) bool _hx_tmp1;
+HXDLIN(2721) if (::hx::IsNotNull( isBlocked )) {
+HXLINE(2721) _hx_tmp1 = ( (bool)(isBlocked) );
}
else {
-HXLINE(2398) _hx_tmp1 = false;
+HXLINE(2721) _hx_tmp1 = false;
}
-HXDLIN(2398) this->isBlocked = _hx_tmp1;
-HXLINE(2399) this->status = status;
-HXLINE(2400) ::String _hx_tmp2;
-HXDLIN(2400) if (::hx::IsNotNull( extensions )) {
-HXLINE(2400) _hx_tmp2 = extensions;
+HXDLIN(2721) this->isBlocked = _hx_tmp1;
+HXLINE(2722) this->status = status;
+HXLINE(2723) ::borogove::Stanza _hx_tmp2;
+HXDLIN(2723) if (::hx::IsNotNull( extensions )) {
+HXLINE(2723) _hx_tmp2 = extensions;
}
else {
-HXLINE(2400) _hx_tmp2 = HX_("<extensions xmlns='urn:app:bookmarks:1' />",84,43,42,a9);
+HXLINE(2723) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN(2723) _g->set(HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:bookmarks:1",58,3c,53,7d));
+HXDLIN(2723) _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("extensions",14,7c,70,89),null(),_g);
}
-HXDLIN(2400) this->extensions = _hx_tmp2;
-HXLINE(2401) this->readUpToId = readUpToId;
-HXLINE(2402) this->readUpToBy = readUpToBy;
-HXLINE(2403) this->notificationsFiltered = notificationsFiltered;
-HXLINE(2404) this->notifyMention = notifyMention;
-HXLINE(2405) this->notifyReply = notifyReply;
-HXLINE(2406) this->threads = threads;
-HXLINE(2407) this->disco = disco;
-HXLINE(2408) this->mavUntil = mavUntil;
-HXLINE(2409) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
-HXLINE(2410) this->klass = klass;
+HXDLIN(2723) this->extensions = _hx_tmp2;
+HXLINE(2724) this->readUpToId = readUpToId;
+HXLINE(2725) this->readUpToBy = readUpToBy;
+HXLINE(2726) this->notificationsFiltered = notificationsFiltered;
+HXLINE(2727) this->notifyMention = notifyMention;
+HXLINE(2728) this->notifyReply = notifyReply;
+HXLINE(2729) this->threads = threads;
+HXLINE(2730) this->disco = disco;
+HXLINE(2731) this->mavUntil = mavUntil;
+HXLINE(2732) this->omemoContactDeviceIDs = omemoContactDeviceIDs;
+HXLINE(2733) this->klass = klass;
}
Dynamic SerializedChat_obj::__CreateEmpty() { return new SerializedChat_obj; }
@@ -117,134 +126,142 @@ bool SerializedChat_obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x1b18ce3d;
}
- ::borogove::Chat SerializedChat_obj::toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence){
- HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2416_toChat)
-HXLINE(2417) ::borogove::Stanza extensionsStanza = ::borogove::Stanza_obj::parse(this->extensions);
-HXLINE(2418) bool filterN;
-HXDLIN(2418) ::Dynamic tmp = this->notificationsFiltered;
-HXDLIN(2418) if (::hx::IsNotNull( tmp )) {
-HXLINE(2418) filterN = ( (bool)(tmp) );
+::Dynamic SerializedChat_obj::toChat( ::borogove::Client client, ::borogove::GenericStream stream,::Dynamic persistence){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::Chat,chat) HXARGC(1)
+ ::borogove::Chat _hx_run(::Array< ::Dynamic> _){
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2774_toChat)
+HXLINE(2774) return chat;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2739_toChat)
+HXLINE(2740) bool filterN;
+HXDLIN(2740) ::Dynamic tmp = this->notificationsFiltered;
+HXDLIN(2740) if (::hx::IsNotNull( tmp )) {
+HXLINE(2740) filterN = ( (bool)(tmp) );
}
else {
-HXLINE(2418) filterN = false;
+HXLINE(2740) filterN = false;
}
-HXLINE(2419) bool mention = this->notifyMention;
-HXLINE(2422) {
-HXLINE(2422) ::Dynamic this1 = this->presence;
-HXDLIN(2422) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
-HXDLIN(2422) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(2422) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this1,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) );
-HXLINE(2423) if (::hx::IsNotNull( _g_value )) {
-HXLINE(2423) client->capsRepo->getAsync(_g_value);
+HXLINE(2741) bool mention = this->notifyMention;
+HXLINE(2743) ::Array< ::Dynamic> getCapsPromises = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(2745) {
+HXLINE(2745) ::Dynamic this1 = this->presence;
+HXDLIN(2745) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(this1);
+HXDLIN(2745) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(2745) ::borogove::Stanza _g_value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this1,_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)())) );
+HXLINE(2746) if (::hx::IsNotNull( _g_value )) {
+HXLINE(2746) getCapsPromises->push(client->capsRepo->getAsync(_g_value));
}
}
}
-HXLINE(2426) ::borogove::Chat chat;
-HXDLIN(2426) if ((this->klass == HX_("DirectChat",c1,22,a3,05))) {
-HXLINE(2426) chat = ::borogove::DirectChat_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBookmarked,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy,this->omemoContactDeviceIDs);
+HXLINE(2749) ::borogove::Chat chat;
+HXDLIN(2749) if ((this->klass == HX_("DirectChat",c1,22,a3,05))) {
+HXLINE(2749) chat = ::borogove::DirectChat_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBookmarked,this->isBlocked,this->extensions,this->readUpToId,this->readUpToBy,this->omemoContactDeviceIDs);
}
else {
-HXLINE(2428) if ((this->klass == HX_("Channel",a3,28,23,9a))) {
-HXLINE(2429) ::borogove::Channel channel = ::borogove::Channel_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBookmarked,this->isBlocked,extensionsStanza,this->readUpToId,this->readUpToBy,null());
-HXLINE(2430) channel->membersForName = this->membersForName;
-HXLINE(2431) channel->mavUntil = this->mavUntil;
-HXLINE(2432) if (::hx::IsNotNull( this->disco )) {
-HXLINE(2432) channel->disco = client->capsRepo->add(this->disco,false);
+HXLINE(2751) if ((this->klass == HX_("Channel",a3,28,23,9a))) {
+HXLINE(2752) ::borogove::Channel channel = ::borogove::Channel_obj::__alloc( HX_CTX ,client,stream,persistence,this->chatId,this->uiState,this->isBookmarked,this->isBlocked,this->extensions,this->readUpToId,this->readUpToBy,null());
+HXLINE(2753) channel->membersForName = this->membersForName;
+HXLINE(2754) channel->mavUntil = this->mavUntil;
+HXLINE(2755) if (::hx::IsNotNull( this->disco )) {
+HXLINE(2755) channel->disco = client->capsRepo->add(this->disco,false);
}
-HXLINE(2433) bool chat1;
-HXDLIN(2433) if (::hx::IsNull( this->notificationsFiltered )) {
-HXLINE(2433) chat1 = !(channel->isPrivate());
+HXLINE(2756) bool chat1;
+HXDLIN(2756) if (::hx::IsNull( this->notificationsFiltered )) {
+HXLINE(2756) chat1 = !(channel->isPrivate());
}
else {
-HXLINE(2433) chat1 = false;
+HXLINE(2756) chat1 = false;
}
-HXDLIN(2433) if (chat1) {
-HXLINE(2434) filterN = true;
-HXDLIN(2434) mention = true;
+HXDLIN(2756) if (chat1) {
+HXLINE(2757) filterN = true;
+HXDLIN(2757) mention = true;
}
-HXLINE(2426) chat = channel;
+HXLINE(2749) chat = channel;
}
else {
-HXLINE(2438) HX_STACK_DO_THROW((((HX_("Unknown class of ",0b,cb,7f,f2) + this->chatId) + HX_(": ",a6,32,00,00)) + this->klass));
+HXLINE(2761) HX_STACK_DO_THROW((((HX_("Unknown class of ",0b,cb,7f,f2) + this->chatId) + HX_(": ",a6,32,00,00)) + this->klass));
}
}
-HXLINE(2440) chat->setNotificationsInternal(filterN,mention,this->notifyReply);
-HXLINE(2441) bool _hx_tmp;
-HXDLIN(2441) if (::hx::IsNotNull( this->displayName )) {
-HXLINE(2441) _hx_tmp = (this->displayName != HX_("",00,00,00,00));
+HXLINE(2763) chat->setNotificationsInternal(filterN,mention,this->notifyReply);
+HXLINE(2764) bool _hx_tmp;
+HXDLIN(2764) if (::hx::IsNotNull( this->displayName )) {
+HXLINE(2764) _hx_tmp = (this->displayName != HX_("",00,00,00,00));
}
else {
-HXLINE(2441) _hx_tmp = false;
+HXLINE(2764) _hx_tmp = false;
}
-HXDLIN(2441) if (_hx_tmp) {
-HXLINE(2441) chat->displayName = this->displayName;
+HXDLIN(2764) if (_hx_tmp) {
+HXLINE(2764) chat->displayName = this->displayName;
}
-HXLINE(2442) if (::hx::IsNotNull( this->avatarSha1 )) {
-HXLINE(2442) chat->setAvatarSha1(this->avatarSha1);
+HXLINE(2765) if (::hx::IsNotNull( this->avatarSha1 )) {
+HXLINE(2765) chat->setAvatarSha1(this->avatarSha1);
}
-HXLINE(2443) chat->status = this->status;
-HXLINE(2444) chat->setTrusted(this->trusted);
-HXLINE(2445) {
-HXLINE(2445) ::Dynamic this2 = this->presence;
-HXDLIN(2445) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(this2);
-HXDLIN(2445) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(2445) ::String key = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE(2446) chat->setPresence(key,( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this2,key)) ),true);
+HXLINE(2766) chat->status = this->status;
+HXLINE(2767) chat->setTrusted(this->trusted);
+HXLINE(2768) {
+HXLINE(2768) ::Dynamic this2 = this->presence;
+HXDLIN(2768) ::Dynamic _g_keys1 = ::haxe::IMap_obj::keys(this2);
+HXDLIN(2768) while(( (bool)(_g_keys1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(2768) ::String key = ( (::String)(_g_keys1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(2768) ::borogove::Stanza _g_value1 = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(this2,key)) );
+HXLINE(2769) chat->setPresence(key,_g_value1,true);
}
}
-HXLINE(2448) {
+HXLINE(2771) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,iter_keys) HXARGC(0)
bool _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2448_toChat)
-HXLINE(2448) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2771_toChat)
+HXLINE(2771) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,iter_map,::Array< ::Dynamic>,iter_keys) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2448_toChat)
-HXLINE(2448) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(2448) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_10d675922f29bad2_2771_toChat)
+HXLINE(2771) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(2771) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),key)
->setFixed(1,HX_("value",71,7f,b8,31),( (::String)(::haxe::IMap_obj::get(iter_map->__get(0),key)) )));
-HXDLIN(2448) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
-HXLINE(2448) return ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN(2771) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
+HXLINE(2771) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),null())
->setFixed(1,HX_("value",71,7f,b8,31), ::Dynamic(v->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic))));
}
else {
-HXLINE(2448) return v;
+HXLINE(2771) return v;
}
-HXDLIN(2448) return null();
+HXDLIN(2771) return null();
}
HX_END_LOCAL_FUNC0(return)
-HXLINE(2448) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(2448) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(2448) ::Dynamic map = this->threads;
-HXDLIN(2448) iter_map[0] = map;
-HXDLIN(2448) iter_keys[0] = ::haxe::IMap_obj::keys(map);
-HXDLIN(2448) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_0(iter_keys));
-HXDLIN(2448) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_1(iter_map,iter_keys));
-HXDLIN(2448) while(( (bool)(_g_hasNext()) )){
-HXLINE(2448) ::Dynamic _g = _g_next();
-HXLINE(2449) chat->setThreadSubject(( (::String)(_g->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) ),( (::String)(_g->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) ));
+HXLINE(2771) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(2771) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(2771) ::Dynamic map = this->threads;
+HXDLIN(2771) iter_map[0] = map;
+HXDLIN(2771) iter_keys[0] = ::haxe::IMap_obj::keys(map);
+HXDLIN(2771) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_0(iter_keys));
+HXDLIN(2771) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_1(iter_map,iter_keys));
+HXDLIN(2771) while(( (bool)(_g_hasNext()) )){
+HXLINE(2771) ::Dynamic _g = _g_next();
+HXLINE(2772) chat->setThreadSubject(( (::String)(_g->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) ),( (::String)(_g->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) ));
}
}
-HXLINE(2451) return chat;
+HXLINE(2774) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(getCapsPromises), ::Dynamic(new _hx_Closure_2(chat)),null());
}
HX_DEFINE_DYNAMIC_FUNC3(SerializedChat_obj,toChat,return )
-::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__new(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass) {
+::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__new(::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass) {
::hx::ObjectPtr< SerializedChat_obj > __this = new SerializedChat_obj();
__this->__construct(chatId,trusted,isBookmarked,avatarSha1,presence,membersForName,displayName,uiState,isBlocked,status,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,threads,disco,mavUntil,omemoContactDeviceIDs,klass);
return __this;
}
-::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status,::String extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass) {
+::hx::ObjectPtr< SerializedChat_obj > SerializedChat_obj::__alloc(::hx::Ctx *_hx_ctx,::String chatId,bool trusted,bool isBookmarked,::Array< unsigned char > avatarSha1, ::haxe::ds::StringMap presence,::Array< ::Dynamic> membersForName,::String displayName, ::Dynamic uiState, ::Dynamic isBlocked, ::borogove::Status status, ::borogove::Stanza extensions,::String readUpToId,::String readUpToBy, ::Dynamic notificationsFiltered,bool notifyMention,bool notifyReply, ::haxe::ds::StringMap threads, ::borogove::Caps disco,::String mavUntil,::Array< int > omemoContactDeviceIDs,::String klass) {
SerializedChat_obj *__this = (SerializedChat_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(SerializedChat_obj), true, "borogove.SerializedChat"));
*(void **)__this = SerializedChat_obj::_hx_vtable;
__this->__construct(chatId,trusted,isBookmarked,avatarSha1,presence,membersForName,displayName,uiState,isBlocked,status,extensions,readUpToId,readUpToBy,notificationsFiltered,notifyMention,notifyReply,threads,disco,mavUntil,omemoContactDeviceIDs,klass);
@@ -382,7 +399,7 @@ void SerializedChat_obj::__Visit(HX_VISIT_PARAMS)
break;
case 10:
if (HX_FIELD_EQ(inName,"avatarSha1") ) { avatarSha1=inValue.Cast< ::Array< unsigned char > >(); return inValue; }
- if (HX_FIELD_EQ(inName,"extensions") ) { extensions=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"extensions") ) { extensions=inValue.Cast< ::borogove::Stanza >(); return inValue; }
if (HX_FIELD_EQ(inName,"readUpToId") ) { readUpToId=inValue.Cast< ::String >(); return inValue; }
if (HX_FIELD_EQ(inName,"readUpToBy") ) { readUpToBy=inValue.Cast< ::String >(); return inValue; }
break;
@@ -444,7 +461,7 @@ static ::hx::StorageInfo SerializedChat_obj_sMemberStorageInfo[] = {
{::hx::fsInt,(int)offsetof(SerializedChat_obj,uiState),HX_("uiState",1d,0f,01,14)},
{::hx::fsBool,(int)offsetof(SerializedChat_obj,isBlocked),HX_("isBlocked",22,f8,fc,48)},
{::hx::fsObject /* ::borogove::Status */ ,(int)offsetof(SerializedChat_obj,status),HX_("status",32,e7,fb,05)},
- {::hx::fsString,(int)offsetof(SerializedChat_obj,extensions),HX_("extensions",14,7c,70,89)},
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(SerializedChat_obj,extensions),HX_("extensions",14,7c,70,89)},
{::hx::fsString,(int)offsetof(SerializedChat_obj,readUpToId),HX_("readUpToId",27,7a,f8,75)},
{::hx::fsString,(int)offsetof(SerializedChat_obj,readUpToBy),HX_("readUpToBy",23,74,f8,75)},
{::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(SerializedChat_obj,threads),HX_("threads",69,f6,91,53)},
diff --git a/Sources/c_borogove/src/borogove/Sha1.cpp b/Sources/c_borogove/src/borogove/Sha1.cpp
new file mode 100644
index 0000000..e9d90cf
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/Sha1.cpp
@@ -0,0 +1,440 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_38344beec7696400
+#define INCLUDED_38344beec7696400
+#include "cpp/Int64.h"
+#endif
+#ifndef INCLUDED_borogove_Sha1
+#include <borogove/Sha1.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_79273fb10af5a3bd_126_new,"borogove.Sha1","new",0x8c366f04,"borogove.Sha1.new","borogove/Sha1.hx",126,0x8471cf0b)
+static const int _hx_array_data_e591dd12_1[] = {
+ (int)1732584193,(int)-271733879,(int)-1732584194,(int)271733878,(int)-1009589776,
+};
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_133_update,"borogove.Sha1","update",0xf080a5e5,"borogove.Sha1.update","borogove/Sha1.hx",133,0x8471cf0b)
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_154_digest,"borogove.Sha1","digest",0x1ea02020,"borogove.Sha1.digest","borogove/Sha1.hx",154,0x8471cf0b)
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_194_processBlock,"borogove.Sha1","processBlock",0xaa3f7d3a,"borogove.Sha1.processBlock","borogove/Sha1.hx",194,0x8471cf0b)
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_238_ft,"borogove.Sha1","ft",0x4b3f5b2a,"borogove.Sha1.ft","borogove/Sha1.hx",238,0x8471cf0b)
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_251_kt,"borogove.Sha1","kt",0x4b3f5f85,"borogove.Sha1.kt","borogove/Sha1.hx",251,0x8471cf0b)
+HX_LOCAL_STACK_FRAME(_hx_pos_79273fb10af5a3bd_83_make,"borogove.Sha1","make",0x22be6aca,"borogove.Sha1.make","borogove/Sha1.hx",83,0x8471cf0b)
+namespace borogove{
+
+void Sha1_obj::__construct(){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_126_new)
+HXLINE( 127) this->h = ::Array_obj< int >::fromData( _hx_array_data_e591dd12_1,5);
+HXLINE( 128) this->buffer = ::haxe::io::Bytes_obj::alloc(64);
+HXLINE( 129) this->bufferLen = 0;
+HXLINE( 130) this->totalLen = ( (::cpp::Int64)(0) );
+ }
+
+Dynamic Sha1_obj::__CreateEmpty() { return new Sha1_obj; }
+
+void *Sha1_obj::_hx_vtable = 0;
+
+Dynamic Sha1_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Sha1_obj > _hx_result = new Sha1_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Sha1_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x3562e806;
+}
+
+void Sha1_obj::update( ::haxe::io::Bytes b){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_133_update)
+HXLINE( 134) if ((b->length == 0)) {
+HXLINE( 134) return;
+ }
+HXLINE( 136) this->totalLen = _hx_int64_add(this->totalLen,( (::cpp::Int64)(b->length) ));
+HXLINE( 138) int pos = 0;
+HXLINE( 139) int len = b->length;
+HXLINE( 140) while((len > 0)){
+HXLINE( 141) int copyLen;
+HXDLIN( 141) if ((len < (64 - this->bufferLen))) {
+HXLINE( 141) copyLen = len;
+ }
+ else {
+HXLINE( 141) copyLen = (64 - this->bufferLen);
+ }
+HXLINE( 142) this->buffer->blit(this->bufferLen,b,pos,copyLen);
+HXLINE( 143) this->bufferLen = (this->bufferLen + copyLen);
+HXLINE( 144) pos = (pos + copyLen);
+HXLINE( 145) len = (len - copyLen);
+HXLINE( 147) if ((this->bufferLen == 64)) {
+HXLINE( 148) this->processBlock();
+HXLINE( 149) this->bufferLen = 0;
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Sha1_obj,update,(void))
+
+ ::haxe::io::Bytes Sha1_obj::digest(){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_154_digest)
+HXLINE( 155) this->buffer->b[this->bufferLen] = ( (unsigned char)(128) );
+HXLINE( 156) this->bufferLen++;
+HXLINE( 158) if ((this->bufferLen > 56)) {
+HXLINE( 159) while((this->bufferLen < 64)){
+HXLINE( 160) this->buffer->b[this->bufferLen] = ( (unsigned char)(0) );
+HXLINE( 161) this->bufferLen++;
+ }
+HXLINE( 163) this->processBlock();
+HXLINE( 164) this->bufferLen = 0;
+ }
+HXLINE( 167) while((this->bufferLen < 56)){
+HXLINE( 168) this->buffer->b[this->bufferLen] = ( (unsigned char)(0) );
+HXLINE( 169) this->bufferLen++;
+ }
+HXLINE( 172) ::cpp::Int64 bitLen = _hx_int64_mul(this->totalLen,( (::cpp::Int64)(8) ));
+HXLINE( 173) {
+HXLINE( 173) ::haxe::io::Bytes _this = this->buffer;
+HXDLIN( 173) ::cpp::Int64 x = _hx_int64_and(_hx_int64_ushr(bitLen,56),( (::cpp::Int64)(255) ));
+HXDLIN( 173) int _hx_tmp = _hx_int64_high(x);
+HXDLIN( 173) if ((_hx_tmp != (_hx_int64_low(x) >> 31))) {
+HXLINE( 173) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 173) int v = _hx_int64_low(x);
+HXDLIN( 173) _this->b[56] = ( (unsigned char)(v) );
+ }
+HXLINE( 174) {
+HXLINE( 174) ::haxe::io::Bytes _this1 = this->buffer;
+HXDLIN( 174) ::cpp::Int64 x1 = _hx_int64_ushr(bitLen,48);
+HXDLIN( 174) int v1 = _hx_int64_high(x1);
+HXDLIN( 174) if ((v1 != (_hx_int64_low(x1) >> 31))) {
+HXLINE( 174) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 174) int v2 = (_hx_int64_low(x1) & 255);
+HXDLIN( 174) _this1->b[57] = ( (unsigned char)(v2) );
+ }
+HXLINE( 175) {
+HXLINE( 175) ::haxe::io::Bytes _this2 = this->buffer;
+HXDLIN( 175) ::cpp::Int64 x2 = _hx_int64_ushr(bitLen,40);
+HXDLIN( 175) int v3 = _hx_int64_high(x2);
+HXDLIN( 175) if ((v3 != (_hx_int64_low(x2) >> 31))) {
+HXLINE( 175) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 175) int v4 = (_hx_int64_low(x2) & 255);
+HXDLIN( 175) _this2->b[58] = ( (unsigned char)(v4) );
+ }
+HXLINE( 176) {
+HXLINE( 176) ::haxe::io::Bytes _this3 = this->buffer;
+HXDLIN( 176) ::cpp::Int64 x3 = _hx_int64_ushr(bitLen,32);
+HXDLIN( 176) int v5 = _hx_int64_high(x3);
+HXDLIN( 176) if ((v5 != (_hx_int64_low(x3) >> 31))) {
+HXLINE( 176) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 176) int v6 = (_hx_int64_low(x3) & 255);
+HXDLIN( 176) _this3->b[59] = ( (unsigned char)(v6) );
+ }
+HXLINE( 177) {
+HXLINE( 177) ::haxe::io::Bytes _this4 = this->buffer;
+HXDLIN( 177) ::cpp::Int64 x4 = _hx_int64_ushr(bitLen,24);
+HXDLIN( 177) int v7 = _hx_int64_high(x4);
+HXDLIN( 177) if ((v7 != (_hx_int64_low(x4) >> 31))) {
+HXLINE( 177) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 177) int v8 = (_hx_int64_low(x4) & 255);
+HXDLIN( 177) _this4->b[60] = ( (unsigned char)(v8) );
+ }
+HXLINE( 178) {
+HXLINE( 178) ::haxe::io::Bytes _this5 = this->buffer;
+HXDLIN( 178) ::cpp::Int64 x5 = _hx_int64_ushr(bitLen,16);
+HXDLIN( 178) int v9 = _hx_int64_high(x5);
+HXDLIN( 178) if ((v9 != (_hx_int64_low(x5) >> 31))) {
+HXLINE( 178) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 178) int v10 = (_hx_int64_low(x5) & 255);
+HXDLIN( 178) _this5->b[61] = ( (unsigned char)(v10) );
+ }
+HXLINE( 179) {
+HXLINE( 179) ::haxe::io::Bytes _this6 = this->buffer;
+HXDLIN( 179) ::cpp::Int64 x6 = _hx_int64_ushr(bitLen,8);
+HXDLIN( 179) int v11 = _hx_int64_high(x6);
+HXDLIN( 179) if ((v11 != (_hx_int64_low(x6) >> 31))) {
+HXLINE( 179) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 179) int v12 = (_hx_int64_low(x6) & 255);
+HXDLIN( 179) _this6->b[62] = ( (unsigned char)(v12) );
+ }
+HXLINE( 180) {
+HXLINE( 180) ::haxe::io::Bytes _this7 = this->buffer;
+HXDLIN( 180) int v13 = _hx_int64_high(bitLen);
+HXDLIN( 180) if ((v13 != (_hx_int64_low(bitLen) >> 31))) {
+HXLINE( 180) HX_STACK_DO_THROW(HX_("Overflow",62,9f,ed,1a));
+ }
+HXDLIN( 180) int v14 = (_hx_int64_low(bitLen) & 255);
+HXDLIN( 180) _this7->b[63] = ( (unsigned char)(v14) );
+ }
+HXLINE( 182) this->processBlock();
+HXLINE( 184) ::haxe::io::Bytes out = ::haxe::io::Bytes_obj::alloc(20);
+HXLINE( 185) {
+HXLINE( 185) int _g = 0;
+HXDLIN( 185) while((_g < 5)){
+HXLINE( 185) _g = (_g + 1);
+HXDLIN( 185) int i = (_g - 1);
+HXLINE( 186) out->b[(i * 4)] = ( (unsigned char)(::hx::UShr(this->h->__get(i),24)) );
+HXLINE( 187) out->b[((i * 4) + 1)] = ( (unsigned char)(((this->h->__get(i) >> 16) & 255)) );
+HXLINE( 188) out->b[((i * 4) + 2)] = ( (unsigned char)(((this->h->__get(i) >> 8) & 255)) );
+HXLINE( 189) out->b[((i * 4) + 3)] = ( (unsigned char)((this->h->__get(i) & 255)) );
+ }
+ }
+HXLINE( 191) return out;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Sha1_obj,digest,return )
+
+void Sha1_obj::processBlock(){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_194_processBlock)
+HXLINE( 195) ::Array< int > w = ::Array_obj< int >::__new();
+HXLINE( 196) {
+HXLINE( 196) int _g = 0;
+HXDLIN( 196) while((_g < 16)){
+HXLINE( 196) _g = (_g + 1);
+HXDLIN( 196) int j = (_g - 1);
+HXLINE( 197) w[j] = ((((( (int)(this->buffer->b->__get((j * 4))) ) << 24) | ((( (int)(this->buffer->b->__get(((j * 4) + 1))) ) & 255) << 16)) | ((( (int)(this->buffer->b->__get(((j * 4) + 2))) ) & 255) << 8)) | (( (int)(this->buffer->b->__get(((j * 4) + 3))) ) & 255));
+ }
+ }
+HXLINE( 203) int a = this->h->__get(0);
+HXLINE( 204) int b = this->h->__get(1);
+HXLINE( 205) int c = this->h->__get(2);
+HXLINE( 206) int d = this->h->__get(3);
+HXLINE( 207) int e = this->h->__get(4);
+HXLINE( 209) {
+HXLINE( 209) int _g1 = 0;
+HXDLIN( 209) while((_g1 < 80)){
+HXLINE( 209) _g1 = (_g1 + 1);
+HXDLIN( 209) int j1 = (_g1 - 1);
+HXLINE( 210) if ((j1 >= 16)) {
+HXLINE( 211) int num = (((w->__get((j1 - 3)) ^ w->__get((j1 - 8))) ^ w->__get((j1 - 14))) ^ w->__get((j1 - 16)));
+HXDLIN( 211) w[j1] = ((num << 1) | ::hx::UShr(num,31));
+ }
+HXLINE( 213) int t = ((((a << 5) | ::hx::UShr(a,27)) + this->ft(j1,b,c,d)) + e);
+HXDLIN( 213) int t1 = (t + w->__get(j1));
+HXLINE( 214) e = d;
+HXLINE( 215) d = c;
+HXLINE( 216) c = ((b << 30) | ::hx::UShr(b,2));
+HXLINE( 217) b = a;
+HXLINE( 218) a = (t1 + this->kt(j1));
+ }
+ }
+HXLINE( 221) ::Array< int > base = this->h;
+HXDLIN( 221) base[0] = (base->__get(0) + a);
+HXLINE( 222) ::Array< int > base1 = this->h;
+HXDLIN( 222) base1[1] = (base1->__get(1) + b);
+HXLINE( 223) ::Array< int > base2 = this->h;
+HXDLIN( 223) base2[2] = (base2->__get(2) + c);
+HXLINE( 224) ::Array< int > base3 = this->h;
+HXDLIN( 224) base3[3] = (base3->__get(3) + d);
+HXLINE( 225) ::Array< int > base4 = this->h;
+HXDLIN( 225) base4[4] = (base4->__get(4) + e);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Sha1_obj,processBlock,(void))
+
+int Sha1_obj::ft(int t,int b,int c,int d){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_238_ft)
+HXLINE( 239) if ((t < 20)) {
+HXLINE( 240) return ((b & c) | (~(b) & d));
+ }
+HXLINE( 241) if ((t < 40)) {
+HXLINE( 242) return ((b ^ c) ^ d);
+ }
+HXLINE( 243) if ((t < 60)) {
+HXLINE( 244) return (((b & c) | (b & d)) | (c & d));
+ }
+HXLINE( 245) return ((b ^ c) ^ d);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sha1_obj,ft,return )
+
+int Sha1_obj::kt(int t){
+ HX_STACKFRAME(&_hx_pos_79273fb10af5a3bd_251_kt)
+HXLINE( 252) if ((t < 20)) {
+HXLINE( 253) return (int)1518500249;
+ }
+HXLINE( 254) if ((t < 40)) {
+HXLINE( 255) return (int)1859775393;
+ }
+HXLINE( 256) if ((t < 60)) {
+HXLINE( 257) return (int)-1894007588;
+ }
+HXLINE( 258) return -899497514;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Sha1_obj,kt,return )
+
+ ::haxe::io::Bytes Sha1_obj::make( ::haxe::io::Bytes b){
+ HX_GC_STACKFRAME(&_hx_pos_79273fb10af5a3bd_83_make)
+HXLINE( 84) ::borogove::Sha1 sh = ::borogove::Sha1_obj::__alloc( HX_CTX );
+HXLINE( 85) sh->update(b);
+HXLINE( 86) return sh->digest();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Sha1_obj,make,return )
+
+
+::hx::ObjectPtr< Sha1_obj > Sha1_obj::__new() {
+ ::hx::ObjectPtr< Sha1_obj > __this = new Sha1_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< Sha1_obj > Sha1_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ Sha1_obj *__this = (Sha1_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Sha1_obj), true, "borogove.Sha1"));
+ *(void **)__this = Sha1_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+Sha1_obj::Sha1_obj()
+{
+}
+
+void Sha1_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Sha1);
+ HX_MARK_MEMBER_NAME(h,"h");
+ HX_MARK_MEMBER_NAME(buffer,"buffer");
+ HX_MARK_MEMBER_NAME(bufferLen,"bufferLen");
+ HX_MARK_MEMBER_NAME(totalLen,"totalLen");
+ HX_MARK_END_CLASS();
+}
+
+void Sha1_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(h,"h");
+ HX_VISIT_MEMBER_NAME(buffer,"buffer");
+ HX_VISIT_MEMBER_NAME(bufferLen,"bufferLen");
+ HX_VISIT_MEMBER_NAME(totalLen,"totalLen");
+}
+
+::hx::Val Sha1_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"h") ) { return ::hx::Val( h ); }
+ break;
+ case 2:
+ if (HX_FIELD_EQ(inName,"ft") ) { return ::hx::Val( ft_dyn() ); }
+ if (HX_FIELD_EQ(inName,"kt") ) { return ::hx::Val( kt_dyn() ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"buffer") ) { return ::hx::Val( buffer ); }
+ if (HX_FIELD_EQ(inName,"update") ) { return ::hx::Val( update_dyn() ); }
+ if (HX_FIELD_EQ(inName,"digest") ) { return ::hx::Val( digest_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"totalLen") ) { return ::hx::Val( totalLen ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"bufferLen") ) { return ::hx::Val( bufferLen ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"processBlock") ) { return ::hx::Val( processBlock_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool Sha1_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"make") ) { outValue = make_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val Sha1_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"h") ) { h=inValue.Cast< ::Array< int > >(); return inValue; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"buffer") ) { buffer=inValue.Cast< ::haxe::io::Bytes >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"totalLen") ) { totalLen=inValue.Cast< ::cpp::Int64 >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"bufferLen") ) { bufferLen=inValue.Cast< int >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void Sha1_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("h",68,00,00,00));
+ outFields->push(HX_("buffer",00,bd,94,d0));
+ outFields->push(HX_("bufferLen",b5,66,79,b1));
+ outFields->push(HX_("totalLen",71,62,8b,75));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Sha1_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Sha1_obj,h),HX_("h",68,00,00,00)},
+ {::hx::fsObject /* ::haxe::io::Bytes */ ,(int)offsetof(Sha1_obj,buffer),HX_("buffer",00,bd,94,d0)},
+ {::hx::fsInt,(int)offsetof(Sha1_obj,bufferLen),HX_("bufferLen",b5,66,79,b1)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(int)offsetof(Sha1_obj,totalLen),HX_("totalLen",71,62,8b,75)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *Sha1_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String Sha1_obj_sMemberFields[] = {
+ HX_("h",68,00,00,00),
+ HX_("buffer",00,bd,94,d0),
+ HX_("bufferLen",b5,66,79,b1),
+ HX_("totalLen",71,62,8b,75),
+ HX_("update",09,86,05,87),
+ HX_("digest",44,00,25,b5),
+ HX_("processBlock",5e,10,b1,9c),
+ HX_("ft",4e,59,00,00),
+ HX_("kt",a9,5d,00,00),
+ ::String(null()) };
+
+::hx::Class Sha1_obj::__mClass;
+
+static ::String Sha1_obj_sStaticFields[] = {
+ HX_("make",ee,39,56,48),
+ ::String(null())
+};
+
+void Sha1_obj::__register()
+{
+ Sha1_obj _hx_dummy;
+ Sha1_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.Sha1",12,dd,91,e5);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Sha1_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Sha1_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(Sha1_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Sha1_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Sha1_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Sha1_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
diff --git a/Sources/c_borogove/src/borogove/Stanza.cpp b/Sources/c_borogove/src/borogove/Stanza.cpp
index cacf427..61ee7c0 100644
--- a/Sources/c_borogove/src/borogove/Stanza.cpp
+++ b/Sources/c_borogove/src/borogove/Stanza.cpp
@@ -7,6 +7,12 @@
#ifndef INCLUDED_Reflect
#include <Reflect.h>
#endif
+#ifndef INCLUDED_Xml
+#include <Xml.h>
+#endif
+#ifndef INCLUDED__Xml_XmlType_Impl_
+#include <_Xml/XmlType_Impl_.h>
+#endif
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
@@ -28,53 +34,73 @@
#ifndef INCLUDED_haxe_Exception
#include <haxe/Exception.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_67_new,"borogove.Stanza","new",0x686a19b4,"borogove.Stanza.new","borogove/Stanza.hx",67,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_83_serialize,"borogove.Stanza","serialize",0xd5705e34,"borogove.Stanza.serialize","borogove/Stanza.hx",83,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_118_toString,"borogove.Stanza","toString",0x63ea36d8,"borogove.Stanza.toString","borogove/Stanza.hx",118,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_158_tag,"borogove.Stanza","tag",0x686ea3ae,"borogove.Stanza.tag","borogove/Stanza.hx",158,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_167_text,"borogove.Stanza","text",0xf863acd9,"borogove.Stanza.text","borogove/Stanza.hx",167,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_173_textTag,"borogove.Stanza","textTag",0x67df3301,"borogove.Stanza.textTag","borogove/Stanza.hx",173,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_179_up,"borogove.Stanza","up",0xef3fa387,"borogove.Stanza.up","borogove/Stanza.hx",179,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_186_reset,"borogove.Stanza","reset",0x38029023,"borogove.Stanza.reset","borogove/Stanza.hx",186,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_192_addChildren,"borogove.Stanza","addChildren",0x1e040dd4,"borogove.Stanza.addChildren","borogove/Stanza.hx",192,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_201_addChildNodes,"borogove.Stanza","addChildNodes",0xfdaa2cca,"borogove.Stanza.addChildNodes","borogove/Stanza.hx",201,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_209_insertChild,"borogove.Stanza","insertChild",0x09ac44f7,"borogove.Stanza.insertChild","borogove/Stanza.hx",209,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_215_addChild,"borogove.Stanza","addChild",0xea9235e7,"borogove.Stanza.addChild","borogove/Stanza.hx",215,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_221_addDirectChild,"borogove.Stanza","addDirectChild",0xc782103e,"borogove.Stanza.addDirectChild","borogove/Stanza.hx",221,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_227_clone,"borogove.Stanza","clone",0x999d59b1,"borogove.Stanza.clone","borogove/Stanza.hx",227,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_239_allTags,"borogove.Stanza","allTags",0x205b01ee,"borogove.Stanza.allTags","borogove/Stanza.hx",239,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_261_allText,"borogove.Stanza","allText",0x205e19c2,"borogove.Stanza.allText","borogove/Stanza.hx",261,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_272_getFirstChild,"borogove.Stanza","getFirstChild",0x353109d6,"borogove.Stanza.getFirstChild","borogove/Stanza.hx",272,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_275_getErrorText,"borogove.Stanza","getErrorText",0xbc80d14b,"borogove.Stanza.getErrorText","borogove/Stanza.hx",275,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_284_getChild,"borogove.Stanza","getChild",0xd10c1f52,"borogove.Stanza.getChild","borogove/Stanza.hx",284,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_301_getChildText,"borogove.Stanza","getChildText",0x21b6291f,"borogove.Stanza.getChildText","borogove/Stanza.hx",301,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_310_hasChild,"borogove.Stanza","hasChild",0xfd8d5a0e,"borogove.Stanza.hasChild","borogove/Stanza.hx",310,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_314_getText,"borogove.Stanza","getText",0xe893ffb7,"borogove.Stanza.getText","borogove/Stanza.hx",314,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_317_find,"borogove.Stanza","find",0xef25b065,"borogove.Stanza.find","borogove/Stanza.hx",317,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_355_findChild,"borogove.Stanza","findChild",0x152edaf7,"borogove.Stanza.findChild","borogove/Stanza.hx",355,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_366_findText,"borogove.Stanza","findText",0xcb093fb2,"borogove.Stanza.findText","borogove/Stanza.hx",366,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_377_traverse,"borogove.Stanza","traverse",0x97e5e3de,"borogove.Stanza.traverse","borogove/Stanza.hx",377,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_387_reduce,"borogove.Stanza","reduce",0xc05d70d2,"borogove.Stanza.reduce","borogove/Stanza.hx",387,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_393_getError,"borogove.Stanza","getError",0xfe7c417e,"borogove.Stanza.getError","borogove/Stanza.hx",393,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_406_removeChild,"borogove.Stanza","removeChild",0xc02b440c,"borogove.Stanza.removeChild","borogove/Stanza.hx",406,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_416_removeChildren,"borogove.Stanza","removeChildren",0x677ca4cf,"borogove.Stanza.removeChildren","borogove/Stanza.hx",416,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_121_parse,"borogove.Stanza","parse",0x0e8fd687,"borogove.Stanza.parse","borogove/Stanza.hx",121,0xaf8a101b)
-HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_436_parseXmlBool,"borogove.Stanza","parseXmlBool",0x01d395da,"borogove.Stanza.parseXmlBool","borogove/Stanza.hx",436,0xaf8a101b)
+HX_DEFINE_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_66_new,"borogove.Stanza","new",0x686a19b4,"borogove.Stanza.new","borogove/Stanza.hx",66,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_87_serialize,"borogove.Stanza","serialize",0xd5705e34,"borogove.Stanza.serialize","borogove/Stanza.hx",87,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_122_toString,"borogove.Stanza","toString",0x63ea36d8,"borogove.Stanza.toString","borogove/Stanza.hx",122,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_156_tag,"borogove.Stanza","tag",0x686ea3ae,"borogove.Stanza.tag","borogove/Stanza.hx",156,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_165_text,"borogove.Stanza","text",0xf863acd9,"borogove.Stanza.text","borogove/Stanza.hx",165,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_171_textTag,"borogove.Stanza","textTag",0x67df3301,"borogove.Stanza.textTag","borogove/Stanza.hx",171,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_178_atTop,"borogove.Stanza","atTop",0x780569b6,"borogove.Stanza.atTop","borogove/Stanza.hx",178,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_181_up,"borogove.Stanza","up",0xef3fa387,"borogove.Stanza.up","borogove/Stanza.hx",181,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_188_reset,"borogove.Stanza","reset",0x38029023,"borogove.Stanza.reset","borogove/Stanza.hx",188,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_194_addChildren,"borogove.Stanza","addChildren",0x1e040dd4,"borogove.Stanza.addChildren","borogove/Stanza.hx",194,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_203_addChildNodes,"borogove.Stanza","addChildNodes",0xfdaa2cca,"borogove.Stanza.addChildNodes","borogove/Stanza.hx",203,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_211_insertChild,"borogove.Stanza","insertChild",0x09ac44f7,"borogove.Stanza.insertChild","borogove/Stanza.hx",211,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_217_addChild,"borogove.Stanza","addChild",0xea9235e7,"borogove.Stanza.addChild","borogove/Stanza.hx",217,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_223_addDirectChild,"borogove.Stanza","addDirectChild",0xc782103e,"borogove.Stanza.addDirectChild","borogove/Stanza.hx",223,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_229_clone,"borogove.Stanza","clone",0x999d59b1,"borogove.Stanza.clone","borogove/Stanza.hx",229,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_241_allTags,"borogove.Stanza","allTags",0x205b01ee,"borogove.Stanza.allTags","borogove/Stanza.hx",241,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_263_allText,"borogove.Stanza","allText",0x205e19c2,"borogove.Stanza.allText","borogove/Stanza.hx",263,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_274_getFirstChild,"borogove.Stanza","getFirstChild",0x353109d6,"borogove.Stanza.getFirstChild","borogove/Stanza.hx",274,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_277_getErrorText,"borogove.Stanza","getErrorText",0xbc80d14b,"borogove.Stanza.getErrorText","borogove/Stanza.hx",277,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_286_getChild,"borogove.Stanza","getChild",0xd10c1f52,"borogove.Stanza.getChild","borogove/Stanza.hx",286,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_303_getChildText,"borogove.Stanza","getChildText",0x21b6291f,"borogove.Stanza.getChildText","borogove/Stanza.hx",303,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_312_hasChild,"borogove.Stanza","hasChild",0xfd8d5a0e,"borogove.Stanza.hasChild","borogove/Stanza.hx",312,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_316_getText,"borogove.Stanza","getText",0xe893ffb7,"borogove.Stanza.getText","borogove/Stanza.hx",316,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_319_find,"borogove.Stanza","find",0xef25b065,"borogove.Stanza.find","borogove/Stanza.hx",319,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_358_findChild,"borogove.Stanza","findChild",0x152edaf7,"borogove.Stanza.findChild","borogove/Stanza.hx",358,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_369_findText,"borogove.Stanza","findText",0xcb093fb2,"borogove.Stanza.findText","borogove/Stanza.hx",369,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_380_traverse,"borogove.Stanza","traverse",0x97e5e3de,"borogove.Stanza.traverse","borogove/Stanza.hx",380,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_390_reduce,"borogove.Stanza","reduce",0xc05d70d2,"borogove.Stanza.reduce","borogove/Stanza.hx",390,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_396_getError,"borogove.Stanza","getError",0xfe7c417e,"borogove.Stanza.getError","borogove/Stanza.hx",396,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_409_removeChild,"borogove.Stanza","removeChild",0xc02b440c,"borogove.Stanza.removeChild","borogove/Stanza.hx",409,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_419_removeChildren,"borogove.Stanza","removeChildren",0x677ca4cf,"borogove.Stanza.removeChildren","borogove/Stanza.hx",419,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_125_parse,"borogove.Stanza","parse",0x0e8fd687,"borogove.Stanza.parse","borogove/Stanza.hx",125,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_138_fromXml,"borogove.Stanza","fromXml",0x211dc1e1,"borogove.Stanza.fromXml","borogove/Stanza.hx",138,0xaf8a101b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f25e9a34e2b06c56_439_parseXmlBool,"borogove.Stanza","parseXmlBool",0x01d395da,"borogove.Stanza.parseXmlBool","borogove/Stanza.hx",439,0xaf8a101b)
namespace borogove{
-void Stanza_obj::__construct(::String name, ::Dynamic attr){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_67_new)
-HXLINE( 73) this->serialized = null();
-HXLINE( 72) this->last_added_stack = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 70) this->children = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 69) this->attr = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 68) this->name = null();
-HXLINE( 76) this->name = name;
-HXLINE( 77) if (::hx::IsNotNull( attr )) {
-HXLINE( 78) this->attr = attr;
+void Stanza_obj::__construct(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_66_new)
+HXLINE( 72) this->serialized = null();
+HXLINE( 71) this->last_added_stack = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 69) this->children = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 67) this->name = null();
+HXLINE( 75) this->name = name;
+HXLINE( 76) if (::hx::IsNotNull( attrMap )) {
+HXLINE( 77) this->attr = attrMap;
}
-HXLINE( 80) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
+ else {
+HXLINE( 79) this->attr = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+HXLINE( 81) if (::hx::IsNotNull( attr )) {
+HXLINE( 82) ::Array< ::String > _g_keys = ::Reflect_obj::fields(attr);
+HXDLIN( 82) int _g_index = 0;
+HXDLIN( 82) while((_g_index < _g_keys->length)){
+HXLINE( 82) _g_index = (_g_index + 1);
+HXDLIN( 82) ::String key = _g_keys->__get((_g_index - 1));
+HXDLIN( 82) ::String _g_value = ( (::String)(::Reflect_obj::field(attr,key)) );
+HXDLIN( 82) this->attr->set(key,_g_value);
+ }
+ }
+HXLINE( 84) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
}
Dynamic Stanza_obj::__CreateEmpty() { return new Stanza_obj; }
@@ -84,7 +110,7 @@ void *Stanza_obj::_hx_vtable = 0;
Dynamic Stanza_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< Stanza_obj > _hx_result = new Stanza_obj();
- _hx_result->__construct(inArgs[0],inArgs[1]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2]);
return _hx_result;
}
@@ -93,718 +119,794 @@ bool Stanza_obj::_hx_isInstanceOf(int inClassId) {
}
::String Stanza_obj::serialize(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_83_serialize)
-HXLINE( 84) if (::hx::IsNotNull( this->serialized )) {
-HXLINE( 84) return this->serialized;
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_87_serialize)
+HXLINE( 88) if (::hx::IsNotNull( this->serialized )) {
+HXLINE( 88) return this->serialized;
}
-HXLINE( 87) return (this->serialized = ::borogove::streams::XmppStropheStream_obj::serializeStanza(::hx::ObjectPtr<OBJ_>(this)));
+HXLINE( 91) return (this->serialized = ::borogove::streams::XmppStropheStream_obj::serializeStanza(::hx::ObjectPtr<OBJ_>(this)));
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,serialize,return )
::String Stanza_obj::toString(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_118_toString)
-HXDLIN( 118) return this->serialize();
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_122_toString)
+HXDLIN( 122) return this->serialize();
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,toString,return )
- ::borogove::Stanza Stanza_obj::tag(::String name, ::Dynamic attr){
- HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_158_tag)
-HXLINE( 159) this->serialized = null();
-HXLINE( 160) ::borogove::Stanza child = ::borogove::Stanza_obj::__alloc( HX_CTX ,name,attr);
-HXLINE( 161) this->last_added->addDirectChild(::borogove::Node_obj::Element(child));
-HXLINE( 162) this->last_added_stack->push(this->last_added);
-HXLINE( 163) this->last_added = child;
-HXLINE( 164) return ::hx::ObjectPtr<OBJ_>(this);
+ ::borogove::Stanza Stanza_obj::tag(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_156_tag)
+HXLINE( 157) this->serialized = null();
+HXLINE( 158) ::borogove::Stanza child = ::borogove::Stanza_obj::__alloc( HX_CTX ,name,attr,attrMap);
+HXLINE( 159) this->last_added->addDirectChild(::borogove::Node_obj::Element(child));
+HXLINE( 160) this->last_added_stack->push(this->last_added);
+HXLINE( 161) this->last_added = child;
+HXLINE( 162) return ::hx::ObjectPtr<OBJ_>(this);
}
-HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,tag,return )
+HX_DEFINE_DYNAMIC_FUNC3(Stanza_obj,tag,return )
::borogove::Stanza Stanza_obj::text(::String content){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_167_text)
-HXLINE( 168) this->serialized = null();
-HXLINE( 169) this->last_added->addDirectChild(::borogove::Node_obj::CData(content));
-HXLINE( 170) return ::hx::ObjectPtr<OBJ_>(this);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_165_text)
+HXLINE( 166) this->serialized = null();
+HXLINE( 167) this->last_added->addDirectChild(::borogove::Node_obj::CData(content));
+HXLINE( 168) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,text,return )
- ::borogove::Stanza Stanza_obj::textTag(::String tagName,::String textContent, ::Dynamic attr){
- HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_173_textTag)
-HXLINE( 174) this->serialized = null();
-HXLINE( 175) ::borogove::Stanza _hx_tmp = this->last_added;
-HXDLIN( 175) ::Dynamic _hx_tmp1;
-HXDLIN( 175) if (::hx::IsNotNull( attr )) {
-HXLINE( 175) _hx_tmp1 = attr;
- }
- else {
-HXLINE( 175) _hx_tmp1 = ::Dynamic(::hx::Anon_obj::Create(0));
- }
-HXDLIN( 175) _hx_tmp->addDirectChild(::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,_hx_tmp1)->text(textContent)));
-HXLINE( 176) return ::hx::ObjectPtr<OBJ_>(this);
+ ::borogove::Stanza Stanza_obj::textTag(::String tagName,::String textContent, ::Dynamic attr, ::haxe::ds::StringMap attrMap){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_171_textTag)
+HXLINE( 172) this->serialized = null();
+HXLINE( 173) ::borogove::Stanza _hx_tmp = this->last_added;
+HXDLIN( 173) _hx_tmp->addDirectChild(::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,attr,attrMap)->text(textContent)));
+HXLINE( 174) return ::hx::ObjectPtr<OBJ_>(this);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Stanza_obj,textTag,return )
+
+bool Stanza_obj::atTop(){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_178_atTop)
+HXDLIN( 178) return ::hx::IsInstanceEq( this->last_added,::hx::ObjectPtr<OBJ_>(this) );
}
-HX_DEFINE_DYNAMIC_FUNC3(Stanza_obj,textTag,return )
+HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,atTop,return )
::borogove::Stanza Stanza_obj::up(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_179_up)
-HXLINE( 180) if (::hx::IsInstanceNotEq( this->last_added,::hx::ObjectPtr<OBJ_>(this) )) {
-HXLINE( 181) this->last_added = this->last_added_stack->pop().StaticCast< ::borogove::Stanza >();
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_181_up)
+HXLINE( 182) if (::hx::IsInstanceNotEq( this->last_added,::hx::ObjectPtr<OBJ_>(this) )) {
+HXLINE( 183) this->last_added = this->last_added_stack->pop().StaticCast< ::borogove::Stanza >();
}
-HXLINE( 183) return ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 185) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,up,return )
::borogove::Stanza Stanza_obj::reset(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_186_reset)
-HXLINE( 187) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 188) return ::hx::ObjectPtr<OBJ_>(this);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_188_reset)
+HXLINE( 189) this->last_added = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 190) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,reset,return )
::borogove::Stanza Stanza_obj::addChildren( ::Dynamic children){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_192_addChildren)
-HXLINE( 193) this->serialized = null();
-HXLINE( 194) {
-HXLINE( 194) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 194) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 195) this->addChild(( ( ::borogove::Stanza)(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) ));
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_194_addChildren)
+HXLINE( 195) this->serialized = null();
+HXLINE( 196) {
+HXLINE( 196) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 196) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 197) this->addChild(( ( ::borogove::Stanza)(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) ));
}
}
-HXLINE( 197) return ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 199) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChildren,return )
::borogove::Stanza Stanza_obj::addChildNodes( ::Dynamic children){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_201_addChildNodes)
-HXLINE( 202) this->serialized = null();
-HXLINE( 203) {
-HXLINE( 203) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 203) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 204) this->addDirectChild(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_203_addChildNodes)
+HXLINE( 204) this->serialized = null();
+HXLINE( 205) {
+HXLINE( 205) ::Dynamic child = children->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 205) while(( (bool)(child->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 206) this->addDirectChild(child->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
-HXLINE( 206) return ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 208) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChildNodes,return )
::borogove::Stanza Stanza_obj::insertChild(int idx, ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_209_insertChild)
-HXLINE( 210) this->serialized = null();
-HXLINE( 211) this->last_added->children->insert(idx,::borogove::Node_obj::Element(stanza));
-HXLINE( 212) return ::hx::ObjectPtr<OBJ_>(this);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_211_insertChild)
+HXLINE( 212) this->serialized = null();
+HXLINE( 213) this->last_added->children->insert(idx,::borogove::Node_obj::Element(stanza));
+HXLINE( 214) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,insertChild,return )
::borogove::Stanza Stanza_obj::addChild( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_215_addChild)
-HXLINE( 216) this->serialized = null();
-HXLINE( 217) this->last_added->children->push(::borogove::Node_obj::Element(stanza));
-HXLINE( 218) return ::hx::ObjectPtr<OBJ_>(this);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_217_addChild)
+HXLINE( 218) this->serialized = null();
+HXLINE( 219) this->last_added->children->push(::borogove::Node_obj::Element(stanza));
+HXLINE( 220) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addChild,return )
::borogove::Stanza Stanza_obj::addDirectChild( ::borogove::Node child){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_221_addDirectChild)
-HXLINE( 222) this->serialized = null();
-HXLINE( 223) this->children->push(child);
-HXLINE( 224) return ::hx::ObjectPtr<OBJ_>(this);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_223_addDirectChild)
+HXLINE( 224) this->serialized = null();
+HXLINE( 225) this->children->push(child);
+HXLINE( 226) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,addDirectChild,return )
::borogove::Stanza Stanza_obj::clone(){
- HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_227_clone)
-HXLINE( 228) ::borogove::Stanza clone = ::borogove::Stanza_obj::__alloc( HX_CTX ,this->name,this->attr);
-HXLINE( 229) {
-HXLINE( 229) int _g = 0;
-HXDLIN( 229) ::Array< ::Dynamic> _g1 = this->children;
-HXDLIN( 229) while((_g < _g1->length)){
-HXLINE( 229) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
-HXDLIN( 229) _g = (_g + 1);
-HXLINE( 230) ::borogove::Node _hx_tmp;
-HXDLIN( 230) switch((int)(child->_hx_getIndex())){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_229_clone)
+HXLINE( 230) ::borogove::Stanza clone = ::borogove::Stanza_obj::__alloc( HX_CTX ,this->name,null(),this->attr);
+HXLINE( 231) {
+HXLINE( 231) int _g = 0;
+HXDLIN( 231) ::Array< ::Dynamic> _g1 = this->children;
+HXDLIN( 231) while((_g < _g1->length)){
+HXLINE( 231) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
+HXDLIN( 231) _g = (_g + 1);
+HXLINE( 232) ::borogove::Node _hx_tmp;
+HXDLIN( 232) switch((int)(child->_hx_getIndex())){
case (int)0: {
-HXLINE( 230) _hx_tmp = ::borogove::Node_obj::Element(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->clone());
+HXLINE( 232) _hx_tmp = ::borogove::Node_obj::Element(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->clone());
}
break;
case (int)1: {
-HXLINE( 230) _hx_tmp = ::borogove::Node_obj::CData(child->_hx_getString(0));
+HXLINE( 232) _hx_tmp = ::borogove::Node_obj::CData(child->_hx_getString(0));
}
break;
}
-HXDLIN( 230) clone->addDirectChild(_hx_tmp);
+HXDLIN( 232) clone->addDirectChild(_hx_tmp);
}
}
-HXLINE( 235) clone->serialized = this->serialized;
-HXLINE( 236) return clone;
+HXLINE( 237) clone->serialized = this->serialized;
+HXLINE( 238) return clone;
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,clone,return )
::Array< ::Dynamic> Stanza_obj::allTags(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_239_allTags)
-HXLINE( 240) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 240) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 240) {
-HXLINE( 240) int _g1 = 0;
-HXDLIN( 240) while((_g1 < _this->length)){
-HXLINE( 240) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
-HXDLIN( 240) _g1 = (_g1 + 1);
-HXLINE( 241) bool _hx_tmp;
-HXDLIN( 241) if ((v->_hx_getIndex() == 0)) {
-HXLINE( 241) _hx_tmp = true;
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_241_allTags)
+HXLINE( 242) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 242) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 242) {
+HXLINE( 242) int _g1 = 0;
+HXDLIN( 242) while((_g1 < _this->length)){
+HXLINE( 242) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 242) _g1 = (_g1 + 1);
+HXLINE( 243) bool _hx_tmp;
+HXDLIN( 243) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 243) _hx_tmp = true;
}
else {
-HXLINE( 241) _hx_tmp = false;
+HXLINE( 243) _hx_tmp = false;
}
-HXLINE( 240) if (_hx_tmp) {
-HXLINE( 240) _g->push(v);
+HXLINE( 242) if (_hx_tmp) {
+HXLINE( 242) _g->push(v);
}
}
}
-HXDLIN( 240) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 240) {
-HXLINE( 240) int _g2 = 0;
-HXDLIN( 240) int _g3 = _g->length;
-HXDLIN( 240) while((_g2 < _g3)){
-HXLINE( 240) _g2 = (_g2 + 1);
-HXDLIN( 240) int i = (_g2 - 1);
-HXDLIN( 240) {
-HXLINE( 243) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
-HXLINE( 240) ::borogove::Stanza inValue;
-HXLINE( 243) if ((child->_hx_getIndex() == 0)) {
-HXLINE( 240) inValue = child->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXDLIN( 242) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 242) {
+HXLINE( 242) int _g2 = 0;
+HXDLIN( 242) int _g3 = _g->length;
+HXDLIN( 242) while((_g2 < _g3)){
+HXLINE( 242) _g2 = (_g2 + 1);
+HXDLIN( 242) int i = (_g2 - 1);
+HXDLIN( 242) {
+HXLINE( 245) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
+HXLINE( 242) ::borogove::Stanza inValue;
+HXLINE( 245) if ((child->_hx_getIndex() == 0)) {
+HXLINE( 242) inValue = child->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
}
else {
-HXLINE( 240) inValue = null();
+HXLINE( 242) inValue = null();
}
-HXDLIN( 240) result->__unsafe_set(i,inValue);
+HXDLIN( 242) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 240) ::Array< ::Dynamic> tags = result;
-HXLINE( 248) bool _hx_tmp1;
-HXDLIN( 248) if (::hx::IsNull( name )) {
-HXLINE( 248) _hx_tmp1 = ::hx::IsNotNull( xmlns );
+HXDLIN( 242) ::Array< ::Dynamic> tags = result;
+HXLINE( 250) bool _hx_tmp1;
+HXDLIN( 250) if (::hx::IsNull( name )) {
+HXLINE( 250) _hx_tmp1 = ::hx::IsNotNull( xmlns );
}
else {
-HXLINE( 248) _hx_tmp1 = true;
+HXLINE( 250) _hx_tmp1 = true;
}
-HXDLIN( 248) if (_hx_tmp1) {
-HXLINE( 249) ::String ourXmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 250) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 250) {
-HXLINE( 250) int _g5 = 0;
-HXDLIN( 250) ::Array< ::Dynamic> _g6 = result;
-HXDLIN( 250) while((_g5 < _g6->length)){
-HXLINE( 250) ::borogove::Stanza v1 = _g6->__get(_g5).StaticCast< ::borogove::Stanza >();
-HXDLIN( 250) _g5 = (_g5 + 1);
-HXLINE( 251) ::String childXmlns = ( (::String)(::Reflect_obj::field(v1->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 250) bool tags1;
-HXLINE( 252) bool tags2;
-HXDLIN( 252) if (::hx::IsNotNull( name )) {
-HXLINE( 252) tags2 = (v1->name == name);
+HXDLIN( 250) if (_hx_tmp1) {
+HXLINE( 251) ::String ourXmlns = this->attr->get_string(HX_("xmlns",dc,31,74,60));
+HXLINE( 252) ::Array< ::Dynamic> _g4 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 252) {
+HXLINE( 252) int _g5 = 0;
+HXDLIN( 252) ::Array< ::Dynamic> _g6 = result;
+HXDLIN( 252) while((_g5 < _g6->length)){
+HXLINE( 252) ::borogove::Stanza v1 = _g6->__get(_g5).StaticCast< ::borogove::Stanza >();
+HXDLIN( 252) _g5 = (_g5 + 1);
+HXLINE( 253) ::String childXmlns = v1->attr->get_string(HX_("xmlns",dc,31,74,60));
+HXLINE( 252) bool tags1;
+HXLINE( 254) bool tags2;
+HXDLIN( 254) if (::hx::IsNotNull( name )) {
+HXLINE( 254) tags2 = (v1->name == name);
}
else {
-HXLINE( 252) tags2 = true;
+HXLINE( 254) tags2 = true;
}
-HXDLIN( 252) if (tags2) {
-HXLINE( 253) bool tags3;
-HXDLIN( 253) if (::hx::IsNull( xmlns )) {
-HXLINE( 253) if ((ourXmlns != childXmlns)) {
-HXLINE( 253) tags3 = ::hx::IsNull( childXmlns );
+HXDLIN( 254) if (tags2) {
+HXLINE( 255) bool tags3;
+HXDLIN( 255) if (::hx::IsNull( xmlns )) {
+HXLINE( 255) if ((ourXmlns != childXmlns)) {
+HXLINE( 255) tags3 = ::hx::IsNull( childXmlns );
}
else {
-HXLINE( 253) tags3 = true;
+HXLINE( 255) tags3 = true;
}
}
else {
-HXLINE( 253) tags3 = false;
+HXLINE( 255) tags3 = false;
}
-HXDLIN( 253) if (!(tags3)) {
-HXLINE( 250) tags1 = (childXmlns == xmlns);
+HXDLIN( 255) if (!(tags3)) {
+HXLINE( 252) tags1 = (childXmlns == xmlns);
}
else {
-HXLINE( 250) tags1 = true;
+HXLINE( 252) tags1 = true;
}
}
else {
-HXLINE( 250) tags1 = false;
+HXLINE( 252) tags1 = false;
}
-HXDLIN( 250) if (tags1) {
-HXLINE( 250) _g4->push(v1);
+HXDLIN( 252) if (tags1) {
+HXLINE( 252) _g4->push(v1);
}
}
}
-HXDLIN( 250) tags = _g4;
+HXDLIN( 252) tags = _g4;
}
-HXLINE( 257) return tags;
+HXLINE( 259) return tags;
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,allTags,return )
::Array< ::String > Stanza_obj::allText(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_261_allText)
-HXDLIN( 261) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 261) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 261) {
-HXDLIN( 261) int _g1 = 0;
-HXDLIN( 261) while((_g1 < _this->length)){
-HXDLIN( 261) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
-HXDLIN( 261) _g1 = (_g1 + 1);
-HXLINE( 262) bool _hx_tmp;
-HXDLIN( 262) if ((v->_hx_getIndex() == 1)) {
-HXLINE( 262) _hx_tmp = true;
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_263_allText)
+HXDLIN( 263) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 263) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 263) {
+HXDLIN( 263) int _g1 = 0;
+HXDLIN( 263) while((_g1 < _this->length)){
+HXDLIN( 263) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 263) _g1 = (_g1 + 1);
+HXLINE( 264) bool _hx_tmp;
+HXDLIN( 264) if ((v->_hx_getIndex() == 1)) {
+HXLINE( 264) _hx_tmp = true;
}
else {
-HXLINE( 262) _hx_tmp = false;
+HXLINE( 264) _hx_tmp = false;
}
-HXLINE( 261) if (_hx_tmp) {
-HXDLIN( 261) _g->push(v);
+HXLINE( 263) if (_hx_tmp) {
+HXDLIN( 263) _g->push(v);
}
}
}
-HXDLIN( 261) ::Array< ::String > result = ::Array_obj< ::String >::__new(_g->length);
-HXDLIN( 261) {
-HXDLIN( 261) int _g2 = 0;
-HXDLIN( 261) int _g3 = _g->length;
-HXDLIN( 261) while((_g2 < _g3)){
-HXDLIN( 261) _g2 = (_g2 + 1);
-HXDLIN( 261) int i = (_g2 - 1);
-HXDLIN( 261) {
-HXLINE( 264) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
-HXLINE( 261) ::String inValue;
-HXLINE( 264) if ((child->_hx_getIndex() == 1)) {
-HXDLIN( 261) inValue = child->_hx_getString(0);
+HXDLIN( 263) ::Array< ::String > result = ::Array_obj< ::String >::__new(_g->length);
+HXDLIN( 263) {
+HXDLIN( 263) int _g2 = 0;
+HXDLIN( 263) int _g3 = _g->length;
+HXDLIN( 263) while((_g2 < _g3)){
+HXDLIN( 263) _g2 = (_g2 + 1);
+HXDLIN( 263) int i = (_g2 - 1);
+HXDLIN( 263) {
+HXLINE( 266) ::borogove::Node child = _hx_array_unsafe_get(_g,i);
+HXLINE( 263) ::String inValue;
+HXLINE( 266) if ((child->_hx_getIndex() == 1)) {
+HXDLIN( 263) inValue = child->_hx_getString(0);
}
else {
-HXDLIN( 261) inValue = null();
+HXDLIN( 263) inValue = null();
}
-HXDLIN( 261) result->__unsafe_set(i,inValue);
+HXDLIN( 263) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 261) return result;
+HXDLIN( 263) return result;
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,allText,return )
::borogove::Stanza Stanza_obj::getFirstChild(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_272_getFirstChild)
-HXDLIN( 272) return this->allTags(null(),null())->__get(0).StaticCast< ::borogove::Stanza >();
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_274_getFirstChild)
+HXDLIN( 274) return this->allTags(null(),null())->__get(0).StaticCast< ::borogove::Stanza >();
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getFirstChild,return )
::String Stanza_obj::getErrorText(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_275_getErrorText)
-HXLINE( 276) if ((( (::String)(::Reflect_obj::field(this->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73))) {
-HXLINE( 277) ::borogove::StanzaError error = this->getError();
-HXLINE( 278) ::String tmp;
-HXDLIN( 278) if (::hx::IsNotNull( error )) {
-HXLINE( 278) tmp = error->text;
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_277_getErrorText)
+HXLINE( 278) if (::hx::IsEq( this->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 279) ::borogove::StanzaError error = this->getError();
+HXLINE( 280) ::String tmp;
+HXDLIN( 280) if (::hx::IsNotNull( error )) {
+HXLINE( 280) tmp = error->text;
}
else {
-HXLINE( 278) tmp = null();
+HXLINE( 280) tmp = null();
}
-HXDLIN( 278) ::String tmp1;
-HXDLIN( 278) if (::hx::IsNotNull( tmp )) {
-HXLINE( 278) tmp1 = tmp;
+HXDLIN( 280) ::String tmp1;
+HXDLIN( 280) if (::hx::IsNotNull( tmp )) {
+HXLINE( 280) tmp1 = tmp;
}
else {
-HXLINE( 278) if (::hx::IsNotNull( error )) {
-HXLINE( 278) tmp1 = error->condition;
+HXLINE( 280) if (::hx::IsNotNull( error )) {
+HXLINE( 280) tmp1 = error->condition;
}
else {
-HXLINE( 278) tmp1 = null();
+HXLINE( 280) tmp1 = null();
}
}
-HXDLIN( 278) ::String tmp2;
-HXDLIN( 278) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 278) tmp2 = tmp1;
+HXDLIN( 280) ::String tmp2;
+HXDLIN( 280) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 280) tmp2 = tmp1;
}
else {
-HXLINE( 278) if (::hx::IsNotNull( error )) {
-HXLINE( 278) tmp2 = error->type;
+HXLINE( 280) if (::hx::IsNotNull( error )) {
+HXLINE( 280) tmp2 = error->type;
}
else {
-HXLINE( 278) tmp2 = null();
+HXLINE( 280) tmp2 = null();
}
}
-HXDLIN( 278) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 278) return tmp2;
+HXDLIN( 280) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 280) return tmp2;
}
else {
-HXLINE( 278) return HX_("error",c8,cb,29,73);
+HXLINE( 280) return HX_("error",c8,cb,29,73);
}
}
-HXLINE( 281) return null();
+HXLINE( 283) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getErrorText,return )
::borogove::Stanza Stanza_obj::getChild(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_284_getChild)
-HXLINE( 285) ::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60));
-HXLINE( 294) ::Array< ::Dynamic> tags = this->allTags(name,xmlns);
-HXLINE( 295) if ((tags->length == 0)) {
-HXLINE( 296) return null();
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_286_getChild)
+HXLINE( 287) this->attr->get_bool(HX_("xmlns",dc,31,74,60));
+HXLINE( 296) ::Array< ::Dynamic> tags = this->allTags(name,xmlns);
+HXLINE( 297) if ((tags->length == 0)) {
+HXLINE( 298) return null();
}
-HXLINE( 298) return tags->__get(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 300) return tags->__get(0).StaticCast< ::borogove::Stanza >();
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,getChild,return )
::String Stanza_obj::getChildText(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_301_getChildText)
-HXLINE( 302) ::borogove::Stanza child = this->getChild(name,xmlns);
-HXLINE( 303) if (::hx::IsNull( child )) {
-HXLINE( 304) return null();
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_303_getChildText)
+HXLINE( 304) ::borogove::Stanza child = this->getChild(name,xmlns);
+HXLINE( 305) if (::hx::IsNull( child )) {
+HXLINE( 306) return null();
}
-HXLINE( 306) return child->getText();
+HXLINE( 308) return child->getText();
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,getChildText,return )
bool Stanza_obj::hasChild(::String name,::String xmlns){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_310_hasChild)
-HXDLIN( 310) return ::hx::IsNotNull( this->getChild(name,xmlns) );
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_312_hasChild)
+HXDLIN( 312) return ::hx::IsNotNull( this->getChild(name,xmlns) );
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,hasChild,return )
::String Stanza_obj::getText(){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_314_getText)
-HXDLIN( 314) return this->allText()->join(HX_("",00,00,00,00));
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_316_getText)
+HXDLIN( 316) return this->allText()->join(HX_("",00,00,00,00));
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getText,return )
::borogove::Node Stanza_obj::find(::String path){
- HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_317_find)
-HXLINE( 318) int pos = 0;
-HXLINE( 319) int len = path.length;
-HXLINE( 320) ::borogove::Stanza cursor = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 322) do {
-HXLINE( 323) ::String xmlns = null();
-HXLINE( 324) ::String _hx_char = path.charAt(pos);
-HXLINE( 325) if ((_hx_char == HX_("@",40,00,00,00))) {
-HXLINE( 326) ::Dynamic this1 = cursor->attr;
-HXDLIN( 326) return ::borogove::Node_obj::CData(( (::String)(::Reflect_obj::field(this1,path.substr((pos + 1),null()))) ));
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_319_find)
+HXLINE( 320) int pos = 0;
+HXLINE( 321) int len = path.length;
+HXLINE( 322) ::borogove::Stanza cursor = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 324) do {
+HXLINE( 325) ::String xmlns = null();
+HXLINE( 326) ::String _hx_char = path.charAt(pos);
+HXLINE( 327) if ((_hx_char == HX_("@",40,00,00,00))) {
+HXLINE( 328) ::haxe::ds::StringMap cursor1 = cursor->attr;
+HXDLIN( 328) return ::borogove::Node_obj::CData(cursor1->get_string(path.substr((pos + 1),null())));
}
else {
-HXLINE( 327) if ((_hx_char == HX_("{",7b,00,00,00))) {
-HXLINE( 328) xmlns = path.substring((pos + 1),path.indexOf(HX_("}",7d,00,00,00),(pos + 1)));
-HXLINE( 329) pos = (pos + (xmlns.length + 2));
+HXLINE( 329) if ((_hx_char == HX_("{",7b,00,00,00))) {
+HXLINE( 330) xmlns = path.substring((pos + 1),path.indexOf(HX_("}",7d,00,00,00),(pos + 1)));
+HXLINE( 331) pos = (pos + (xmlns.length + 2));
}
}
-HXLINE( 331) ::EReg reName = ::EReg_obj::__alloc( HX_CTX ,HX_("([^@/#]*)([/#]?)",cd,f2,19,5a),HX_("",00,00,00,00));
-HXLINE( 332) if (!(reName->matchSub(path,pos,null()))) {
-HXLINE( 333) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,(HX_("Invalid path to Stanza.find(): ",c6,3a,06,10) + path),null(),null()));
+HXLINE( 333) ::EReg reName = ::EReg_obj::__alloc( HX_CTX ,HX_("([^@/#]*)([/#]?)",cd,f2,19,5a),HX_("",00,00,00,00));
+HXLINE( 334) if (!(reName->matchSub(path,pos,null()))) {
+HXLINE( 335) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,(HX_("Invalid path to Stanza.find(): ",c6,3a,06,10) + path),null(),null()));
}
-HXLINE( 335) ::String name = reName->matched(1);
-HXDLIN( 335) ::String text = reName->matched(2);
-HXLINE( 336) int pos1 = ( (int)(reName->matchedPos()->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
-HXDLIN( 336) pos = ( (int)((pos1 + reName->matchedPos()->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic))) );
-HXLINE( 337) if ((name == HX_("",00,00,00,00))) {
-HXLINE( 338) name = null();
+HXLINE( 337) ::String name = reName->matched(1);
+HXDLIN( 337) ::String text = reName->matched(2);
+HXLINE( 338) int pos1 = ( (int)(reName->matchedPos()->__Field(HX_("pos",94,5d,55,00),::hx::paccDynamic)) );
+HXDLIN( 338) pos = ( (int)((pos1 + reName->matchedPos()->__Field(HX_("len",d5,4b,52,00),::hx::paccDynamic))) );
+HXLINE( 339) if ((name == HX_("",00,00,00,00))) {
+HXLINE( 340) name = null();
}
-HXLINE( 340) if ((pos == len)) {
-HXLINE( 341) if ((text == HX_("#",23,00,00,00))) {
-HXLINE( 342) ::String text1 = cursor->getChildText(name,xmlns);
-HXLINE( 343) if (::hx::IsNull( text1 )) {
-HXLINE( 344) return null();
+HXLINE( 342) if ((pos == len)) {
+HXLINE( 343) if ((text == HX_("#",23,00,00,00))) {
+HXLINE( 344) ::String text1 = cursor->getChildText(name,xmlns);
+HXLINE( 345) if (::hx::IsNull( text1 )) {
+HXLINE( 346) return null();
}
-HXLINE( 346) return ::borogove::Node_obj::CData(text1);
+HXLINE( 348) return ::borogove::Node_obj::CData(text1);
+ }
+HXLINE( 350) ::borogove::Stanza got = cursor->getChild(name,xmlns);
+HXLINE( 351) if (::hx::IsNull( got )) {
+HXLINE( 351) return null();
+ }
+ else {
+HXLINE( 351) return ::borogove::Node_obj::Element(got);
}
-HXLINE( 348) return ::borogove::Node_obj::Element(cursor->getChild(name,xmlns));
}
-HXLINE( 350) cursor = cursor->getChild(name,xmlns);
+HXLINE( 353) cursor = cursor->getChild(name,xmlns);
} while(::hx::IsNotNull( cursor ));
;
-HXLINE( 352) return null();
+HXLINE( 355) return null();
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,find,return )
::borogove::Stanza Stanza_obj::findChild(::String path){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_355_findChild)
-HXLINE( 356) ::borogove::Node result = this->find(path);
-HXLINE( 357) if (::hx::IsNull( result )) {
-HXLINE( 358) return null();
- }
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_358_findChild)
+HXLINE( 359) ::borogove::Node result = this->find(path);
HXLINE( 360) if (::hx::IsNull( result )) {
-HXLINE( 362) return null();
+HXLINE( 361) return null();
+ }
+HXLINE( 363) if (::hx::IsNull( result )) {
+HXLINE( 365) return null();
}
else {
-HXLINE( 360) if ((result->_hx_getIndex() == 0)) {
-HXLINE( 361) return result->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 363) if ((result->_hx_getIndex() == 0)) {
+HXLINE( 364) return result->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
}
else {
-HXLINE( 362) return null();
+HXLINE( 365) return null();
}
}
-HXLINE( 360) return null();
+HXLINE( 363) return null();
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findChild,return )
::String Stanza_obj::findText(::String path){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_366_findText)
-HXLINE( 367) ::borogove::Node result = this->find(path);
-HXLINE( 368) if (::hx::IsNull( result )) {
-HXLINE( 369) return null();
- }
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_369_findText)
+HXLINE( 370) ::borogove::Node result = this->find(path);
HXLINE( 371) if (::hx::IsNull( result )) {
-HXLINE( 373) return null();
+HXLINE( 372) return null();
+ }
+HXLINE( 374) if (::hx::IsNull( result )) {
+HXLINE( 376) return null();
}
else {
-HXLINE( 371) if ((result->_hx_getIndex() == 1)) {
-HXLINE( 372) return result->_hx_getString(0);
+HXLINE( 374) if ((result->_hx_getIndex() == 1)) {
+HXLINE( 375) return result->_hx_getString(0);
}
else {
-HXLINE( 373) return null();
+HXLINE( 376) return null();
}
}
-HXLINE( 371) return null();
+HXLINE( 374) return null();
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,findText,return )
::borogove::Stanza Stanza_obj::traverse( ::Dynamic f){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_377_traverse)
-HXLINE( 378) if (!(( (bool)(f(::hx::ObjectPtr<OBJ_>(this))) ))) {
-HXLINE( 379) int _g = 0;
-HXDLIN( 379) ::Array< ::Dynamic> _g1 = this->allTags(null(),null());
-HXDLIN( 379) while((_g < _g1->length)){
-HXLINE( 379) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN( 379) _g = (_g + 1);
-HXLINE( 380) child->traverse(f);
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_380_traverse)
+HXLINE( 381) if (!(( (bool)(f(::hx::ObjectPtr<OBJ_>(this))) ))) {
+HXLINE( 382) int _g = 0;
+HXDLIN( 382) ::Array< ::Dynamic> _g1 = this->allTags(null(),null());
+HXDLIN( 382) while((_g < _g1->length)){
+HXLINE( 382) ::borogove::Stanza child = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 382) _g = (_g + 1);
+HXLINE( 383) child->traverse(f);
}
}
-HXLINE( 383) return ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 386) return ::hx::ObjectPtr<OBJ_>(this);
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,traverse,return )
::Dynamic Stanza_obj::reduce( ::Dynamic stanza, ::Dynamic text){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_387_reduce)
-HXDLIN( 387) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 387) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new(_this->length);
-HXDLIN( 387) {
-HXDLIN( 387) int _g = 0;
-HXDLIN( 387) int _g1 = _this->length;
-HXDLIN( 387) while((_g < _g1)){
-HXDLIN( 387) _g = (_g + 1);
-HXDLIN( 387) int i = (_g - 1);
-HXDLIN( 387) {
-HXDLIN( 387) ::borogove::Node c = _hx_array_unsafe_get(_this,i);
-HXDLIN( 387) ::Dynamic inValue;
-HXDLIN( 387) switch((int)(c->_hx_getIndex())){
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_390_reduce)
+HXDLIN( 390) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 390) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new(_this->length);
+HXDLIN( 390) {
+HXDLIN( 390) int _g = 0;
+HXDLIN( 390) int _g1 = _this->length;
+HXDLIN( 390) while((_g < _g1)){
+HXDLIN( 390) _g = (_g + 1);
+HXDLIN( 390) int i = (_g - 1);
+HXDLIN( 390) {
+HXDLIN( 390) ::borogove::Node c = _hx_array_unsafe_get(_this,i);
+HXDLIN( 390) ::Dynamic inValue;
+HXDLIN( 390) switch((int)(c->_hx_getIndex())){
case (int)0: {
-HXDLIN( 387) inValue = c->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->reduce(stanza,text);
+HXDLIN( 390) inValue = c->_hx_getObject(0).StaticCast< ::borogove::Stanza >()->reduce(stanza,text);
}
break;
case (int)1: {
-HXDLIN( 387) inValue = text(c->_hx_getString(0));
+HXDLIN( 390) inValue = text(c->_hx_getString(0));
}
break;
}
-HXDLIN( 387) result->__unsafe_set(i,inValue);
+HXDLIN( 390) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 387) return stanza(::hx::ObjectPtr<OBJ_>(this),result);
+HXDLIN( 390) return stanza(::hx::ObjectPtr<OBJ_>(this),result);
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,reduce,return )
::borogove::StanzaError Stanza_obj::getError(){
- HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_393_getError)
-HXLINE( 394) ::borogove::Stanza errorTag = this->getChild(HX_("error",c8,cb,29,73),null());
-HXLINE( 395) if (::hx::IsNull( errorTag )) {
-HXLINE( 396) return null();
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_396_getError)
+HXLINE( 397) ::borogove::Stanza errorTag = this->getChild(HX_("error",c8,cb,29,73),null());
+HXLINE( 398) if (::hx::IsNull( errorTag )) {
+HXLINE( 399) return null();
}
-HXLINE( 399) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(errorTag->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 400) ::borogove::Stanza tmp = errorTag->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
-HXDLIN( 400) ::String _hx_tmp1;
-HXDLIN( 400) if (::hx::IsNotNull( tmp )) {
-HXLINE( 400) _hx_tmp1 = tmp->name;
+HXLINE( 402) ::String _hx_tmp = errorTag->attr->get_string(HX_("type",ba,f2,08,4d));
+HXLINE( 403) ::borogove::Stanza tmp = errorTag->getChild(null(),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30));
+HXDLIN( 403) ::String _hx_tmp1;
+HXDLIN( 403) if (::hx::IsNotNull( tmp )) {
+HXLINE( 403) _hx_tmp1 = tmp->name;
}
else {
-HXLINE( 400) _hx_tmp1 = null();
+HXLINE( 403) _hx_tmp1 = null();
}
-HXLINE( 398) return ::borogove::StanzaError_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,errorTag->getChildText(HX_("text",ad,cc,f9,4c),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30)));
+HXLINE( 401) return ::borogove::StanzaError_obj::__alloc( HX_CTX ,_hx_tmp,_hx_tmp1,errorTag->getChildText(HX_("text",ad,cc,f9,4c),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30)));
}
HX_DEFINE_DYNAMIC_FUNC0(Stanza_obj,getError,return )
void Stanza_obj::removeChild( ::borogove::Stanza remove){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_406_removeChild)
-HXDLIN( 406) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 406) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 406) {
-HXDLIN( 406) int _g1 = 0;
-HXDLIN( 406) while((_g1 < _this->length)){
-HXDLIN( 406) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
-HXDLIN( 406) _g1 = (_g1 + 1);
-HXLINE( 407) bool _hx_tmp;
-HXDLIN( 407) if ((v->_hx_getIndex() == 0)) {
-HXLINE( 407) _hx_tmp = ::hx::IsInstanceNotEq( remove,v->_hx_getObject(0).StaticCast< ::borogove::Stanza >() );
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_409_removeChild)
+HXDLIN( 409) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 409) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 409) {
+HXDLIN( 409) int _g1 = 0;
+HXDLIN( 409) while((_g1 < _this->length)){
+HXDLIN( 409) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 409) _g1 = (_g1 + 1);
+HXLINE( 410) bool _hx_tmp;
+HXDLIN( 410) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 410) _hx_tmp = ::hx::IsInstanceNotEq( remove,v->_hx_getObject(0).StaticCast< ::borogove::Stanza >() );
}
else {
-HXLINE( 407) _hx_tmp = true;
+HXLINE( 410) _hx_tmp = true;
}
-HXLINE( 406) if (_hx_tmp) {
-HXDLIN( 406) _g->push(v);
+HXLINE( 409) if (_hx_tmp) {
+HXDLIN( 409) _g->push(v);
}
}
}
-HXDLIN( 406) this->children = _g;
+HXDLIN( 409) this->children = _g;
}
HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,removeChild,(void))
void Stanza_obj::removeChildren(::String name,::String xmlns_){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_416_removeChildren)
-HXLINE( 417) this->serialized = null();
-HXLINE( 419) bool _hx_tmp;
-HXDLIN( 419) if (::hx::IsNull( name )) {
-HXLINE( 419) _hx_tmp = ::hx::IsNull( xmlns_ );
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_419_removeChildren)
+HXLINE( 420) this->serialized = null();
+HXLINE( 422) bool _hx_tmp;
+HXDLIN( 422) if (::hx::IsNull( name )) {
+HXLINE( 422) _hx_tmp = ::hx::IsNull( xmlns_ );
}
else {
-HXLINE( 419) _hx_tmp = false;
+HXLINE( 422) _hx_tmp = false;
}
-HXDLIN( 419) if (_hx_tmp) {
-HXLINE( 420) this->children = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 421) return;
+HXDLIN( 422) if (_hx_tmp) {
+HXLINE( 423) this->children = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 424) return;
}
-HXLINE( 424) ::String xmlns;
-HXDLIN( 424) if (::hx::IsNotNull( xmlns_ )) {
-HXLINE( 424) xmlns = xmlns_;
+HXLINE( 427) ::String xmlns;
+HXDLIN( 427) if (::hx::IsNotNull( xmlns_ )) {
+HXLINE( 427) xmlns = xmlns_;
}
else {
-HXLINE( 424) xmlns = ( (::String)(::Reflect_obj::field(this->attr,HX_("xmlns",dc,31,74,60))) );
+HXLINE( 427) xmlns = this->attr->get_string(HX_("xmlns",dc,31,74,60));
}
-HXLINE( 425) ::Array< ::Dynamic> _this = this->children;
-HXDLIN( 425) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 425) {
-HXLINE( 425) int _g1 = 0;
-HXDLIN( 425) while((_g1 < _this->length)){
-HXLINE( 425) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
-HXDLIN( 425) _g1 = (_g1 + 1);
-HXLINE( 426) bool _hx_tmp1;
-HXDLIN( 426) if ((v->_hx_getIndex() == 0)) {
-HXLINE( 427) ::borogove::Stanza _g2 = v->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
-HXLINE( 428) bool _hx_tmp2;
-HXDLIN( 428) bool _hx_tmp3;
-HXDLIN( 428) if (::hx::IsNotNull( name )) {
-HXLINE( 428) _hx_tmp3 = (_g2->name == name);
+HXLINE( 428) ::Array< ::Dynamic> _this = this->children;
+HXDLIN( 428) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 428) {
+HXLINE( 428) int _g1 = 0;
+HXDLIN( 428) while((_g1 < _this->length)){
+HXLINE( 428) ::borogove::Node v = _this->__get(_g1).StaticCast< ::borogove::Node >();
+HXDLIN( 428) _g1 = (_g1 + 1);
+HXLINE( 429) bool _hx_tmp1;
+HXDLIN( 429) if ((v->_hx_getIndex() == 0)) {
+HXLINE( 430) ::borogove::Stanza _g2 = v->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXLINE( 431) bool _hx_tmp2;
+HXDLIN( 431) bool _hx_tmp3;
+HXDLIN( 431) if (::hx::IsNotNull( name )) {
+HXLINE( 431) _hx_tmp3 = (_g2->name == name);
}
else {
-HXLINE( 428) _hx_tmp3 = true;
+HXLINE( 431) _hx_tmp3 = true;
}
-HXDLIN( 428) if (_hx_tmp3) {
-HXLINE( 428) ::String tmp = ( (::String)(::Reflect_obj::field(_g2->attr,HX_("xmlns",dc,31,74,60))) );
-HXDLIN( 428) ::String _hx_tmp4;
-HXDLIN( 428) if (::hx::IsNotNull( tmp )) {
-HXLINE( 428) _hx_tmp4 = tmp;
+HXDLIN( 431) if (_hx_tmp3) {
+HXLINE( 431) ::String tmp = _g2->attr->get_string(HX_("xmlns",dc,31,74,60));
+HXDLIN( 431) ::String _hx_tmp4;
+HXDLIN( 431) if (::hx::IsNotNull( tmp )) {
+HXLINE( 431) _hx_tmp4 = tmp;
}
else {
-HXLINE( 428) _hx_tmp4 = xmlns;
+HXLINE( 431) _hx_tmp4 = xmlns;
}
-HXDLIN( 428) _hx_tmp2 = (_hx_tmp4 == xmlns);
+HXDLIN( 431) _hx_tmp2 = (_hx_tmp4 == xmlns);
}
else {
-HXLINE( 428) _hx_tmp2 = false;
+HXLINE( 431) _hx_tmp2 = false;
}
-HXLINE( 426) _hx_tmp1 = !(_hx_tmp2);
+HXLINE( 429) _hx_tmp1 = !(_hx_tmp2);
}
else {
-HXLINE( 426) _hx_tmp1 = true;
+HXLINE( 429) _hx_tmp1 = true;
}
-HXLINE( 425) if (_hx_tmp1) {
-HXLINE( 425) _g->push(v);
+HXLINE( 428) if (_hx_tmp1) {
+HXLINE( 428) _g->push(v);
}
}
}
-HXDLIN( 425) this->children = _g;
+HXDLIN( 428) this->children = _g;
}
HX_DEFINE_DYNAMIC_FUNC2(Stanza_obj,removeChildren,(void))
::borogove::Stanza Stanza_obj::parse(::String s){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_121_parse)
-HXLINE( 123) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::parseStanza(s);
-HXLINE( 129) stanza->serialized = s;
-HXLINE( 130) return stanza;
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_125_parse)
+HXLINE( 127) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::parseStanza(s);
+HXLINE( 133) stanza->serialized = s;
+HXLINE( 134) return stanza;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,parse,return )
+ ::borogove::Stanza Stanza_obj::fromXml( ::Xml el){
+ HX_GC_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_138_fromXml)
+HXDLIN( 138) while(true){
+HXLINE( 139) if ((el->nodeType == 6)) {
+HXLINE( 140) el = el->firstElement();
+HXLINE( 1) continue;
+ }
+HXLINE( 143) if ((el->nodeType != ::Xml_obj::Element)) {
+HXLINE( 143) HX_STACK_DO_THROW((HX_("Bad node type, expected Element but found ",d8,90,8b,bb) + ::_Xml::XmlType_Impl__obj::toString(el->nodeType)));
+ }
+HXDLIN( 143) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,el->nodeName,null(),el->attributeMap);
+HXLINE( 144) {
+HXLINE( 144) bool _hx_tmp;
+HXDLIN( 144) if ((el->nodeType != ::Xml_obj::Document)) {
+HXLINE( 144) _hx_tmp = (el->nodeType != ::Xml_obj::Element);
+ }
+ else {
+HXLINE( 144) _hx_tmp = false;
+ }
+HXDLIN( 144) if (_hx_tmp) {
+HXLINE( 144) HX_STACK_DO_THROW((HX_("Bad node type, expected Element or Document but found ",a0,d6,ba,79) + ::_Xml::XmlType_Impl__obj::toString(el->nodeType)));
+ }
+HXDLIN( 144) ::Array< ::Dynamic> _this = el->children;
+HXDLIN( 144) int _g_current = 0;
+HXDLIN( 144) while((_g_current < _this->length)){
+HXLINE( 144) _g_current = (_g_current + 1);
+HXDLIN( 144) ::Xml child = _this->__get((_g_current - 1)).StaticCast< ::Xml >();
+HXLINE( 145) if ((child->nodeType == 0)) {
+HXLINE( 146) stanza->addChild(::borogove::Stanza_obj::fromXml(child));
+ }
+ else {
+HXLINE( 147) bool _hx_tmp1;
+HXDLIN( 147) bool _hx_tmp2;
+HXDLIN( 147) if ((child->nodeType != 5)) {
+HXLINE( 147) _hx_tmp2 = (child->nodeType == 4);
+ }
+ else {
+HXLINE( 147) _hx_tmp2 = true;
+ }
+HXDLIN( 147) if (!(_hx_tmp2)) {
+HXLINE( 147) _hx_tmp1 = (child->nodeType == 3);
+ }
+ else {
+HXLINE( 147) _hx_tmp1 = true;
+ }
+HXDLIN( 147) if (!(_hx_tmp1)) {
+HXLINE( 150) bool _hx_tmp3;
+HXDLIN( 150) if ((child->nodeType != ::Xml_obj::Document)) {
+HXLINE( 150) _hx_tmp3 = (child->nodeType == ::Xml_obj::Element);
+ }
+ else {
+HXLINE( 150) _hx_tmp3 = true;
+ }
+HXDLIN( 150) if (_hx_tmp3) {
+HXLINE( 150) HX_STACK_DO_THROW((HX_("Bad node type, unexpected ",be,79,d5,11) + ::_Xml::XmlType_Impl__obj::toString(child->nodeType)));
+ }
+HXDLIN( 150) stanza->text(child->nodeValue);
+ }
+ }
+ }
+ }
+HXLINE( 153) return stanza;
+ }
+HXLINE( 138) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,fromXml,return )
+
bool Stanza_obj::parseXmlBool(::String x){
- HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_436_parseXmlBool)
-HXDLIN( 436) if ((x != HX_("true",4e,a7,03,4d))) {
-HXDLIN( 436) return (x == HX_("1",31,00,00,00));
+ HX_STACKFRAME(&_hx_pos_f25e9a34e2b06c56_439_parseXmlBool)
+HXDLIN( 439) if ((x != HX_("true",4e,a7,03,4d))) {
+HXDLIN( 439) return (x == HX_("1",31,00,00,00));
}
else {
-HXDLIN( 436) return true;
+HXDLIN( 439) return true;
}
-HXDLIN( 436) return false;
+HXDLIN( 439) return false;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Stanza_obj,parseXmlBool,return )
-::hx::ObjectPtr< Stanza_obj > Stanza_obj::__new(::String name, ::Dynamic attr) {
+::hx::ObjectPtr< Stanza_obj > Stanza_obj::__new(::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap) {
::hx::ObjectPtr< Stanza_obj > __this = new Stanza_obj();
- __this->__construct(name,attr);
+ __this->__construct(name,attr,attrMap);
return __this;
}
-::hx::ObjectPtr< Stanza_obj > Stanza_obj::__alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr) {
+::hx::ObjectPtr< Stanza_obj > Stanza_obj::__alloc(::hx::Ctx *_hx_ctx,::String name, ::Dynamic attr, ::haxe::ds::StringMap attrMap) {
Stanza_obj *__this = (Stanza_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Stanza_obj), true, "borogove.Stanza"));
*(void **)__this = Stanza_obj::_hx_vtable;
- __this->__construct(name,attr);
+ __this->__construct(name,attr,attrMap);
return __this;
}
@@ -850,6 +952,7 @@ void Stanza_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"find") ) { return ::hx::Val( find_dyn() ); }
break;
case 5:
+ if (HX_FIELD_EQ(inName,"atTop") ) { return ::hx::Val( atTop_dyn() ); }
if (HX_FIELD_EQ(inName,"reset") ) { return ::hx::Val( reset_dyn() ); }
if (HX_FIELD_EQ(inName,"clone") ) { return ::hx::Val( clone_dyn() ); }
break;
@@ -909,6 +1012,9 @@ bool Stanza_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Pr
case 5:
if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"fromXml") ) { outValue = fromXml_dyn(); return true; }
+ break;
case 12:
if (HX_FIELD_EQ(inName,"parseXmlBool") ) { outValue = parseXmlBool_dyn(); return true; }
}
@@ -920,7 +1026,7 @@ bool Stanza_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Pr
switch(inName.length) {
case 4:
if (HX_FIELD_EQ(inName,"name") ) { name=inValue.Cast< ::String >(); return inValue; }
- if (HX_FIELD_EQ(inName,"attr") ) { attr=inValue.Cast< ::Dynamic >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"attr") ) { attr=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
break;
case 8:
if (HX_FIELD_EQ(inName,"children") ) { children=inValue.Cast< ::Array< ::Dynamic> >(); return inValue; }
@@ -949,7 +1055,7 @@ void Stanza_obj::__GetFields(Array< ::String> &outFields)
#ifdef HXCPP_SCRIPTABLE
static ::hx::StorageInfo Stanza_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(Stanza_obj,name),HX_("name",4b,72,ff,48)},
- {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(Stanza_obj,attr),HX_("attr",31,1d,76,40)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(Stanza_obj,attr),HX_("attr",31,1d,76,40)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Stanza_obj,children),HX_("children",3f,19,6a,70)},
{::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(Stanza_obj,last_added),HX_("last_added",d7,8a,71,ae)},
{::hx::fsObject /* ::Array< ::Dynamic> */ ,(int)offsetof(Stanza_obj,last_added_stack),HX_("last_added_stack",a0,74,ae,97)},
@@ -971,6 +1077,7 @@ static ::String Stanza_obj_sMemberFields[] = {
HX_("tag",5a,5a,58,00),
HX_("text",ad,cc,f9,4c),
HX_("textTag",ad,af,c7,9e),
+ HX_("atTop",62,23,cb,26),
HX_("up",5b,66,00,00),
HX_("reset",cf,49,c8,e6),
HX_("addChildren",80,50,c6,a1),
@@ -1001,6 +1108,7 @@ static ::String Stanza_obj_sMemberFields[] = {
static ::String Stanza_obj_sStaticFields[] = {
HX_("parse",33,90,55,bd),
+ HX_("fromXml",8d,3e,06,58),
HX_("parseXmlBool",ae,a9,0b,c8),
::String(null())
};
diff --git a/Sources/c_borogove/src/borogove/StanzaError.cpp b/Sources/c_borogove/src/borogove/StanzaError.cpp
index 5b50ba9..3a994cf 100644
--- a/Sources/c_borogove/src/borogove/StanzaError.cpp
+++ b/Sources/c_borogove/src/borogove/StanzaError.cpp
@@ -5,14 +5,14 @@
#include <borogove/StanzaError.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_59_new,"borogove.StanzaError","new",0x40385898,"borogove.StanzaError.new","borogove/Stanza.hx",59,0xaf8a101b)
+HX_DEFINE_STACK_FRAME(_hx_pos_484813a5ad2c9a87_57_new,"borogove.StanzaError","new",0x40385898,"borogove.StanzaError.new","borogove/Stanza.hx",57,0xaf8a101b)
namespace borogove{
void StanzaError_obj::__construct(::String type_,::String condition_,::String text_){
- HX_STACKFRAME(&_hx_pos_484813a5ad2c9a87_59_new)
-HXLINE( 60) this->type = type_;
-HXLINE( 61) this->condition = condition_;
-HXLINE( 62) this->text = text_;
+ HX_STACKFRAME(&_hx_pos_484813a5ad2c9a87_57_new)
+HXLINE( 58) this->type = type_;
+HXLINE( 59) this->condition = condition_;
+HXLINE( 60) this->text = text_;
}
Dynamic StanzaError_obj::__CreateEmpty() { return new StanzaError_obj; }
diff --git a/Sources/c_borogove/src/borogove/Status.cpp b/Sources/c_borogove/src/borogove/Status.cpp
index 30d9c66..235502b 100644
--- a/Sources/c_borogove/src/borogove/Status.cpp
+++ b/Sources/c_borogove/src/borogove/Status.cpp
@@ -7,6 +7,12 @@
#ifndef INCLUDED_borogove_Status
#include <borogove/Status.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_1e3dc2b0d4179260_20_new,"borogove.Status","new",0xbf588571,"borogove.Status.new","borogove/Status.hx",20,0x40932afe)
HX_LOCAL_STACK_FRAME(_hx_pos_c82280c5737a8ee0_478_emoji__fromC,"borogove.Status","emoji__fromC",0x1a453e82,"borogove.Status.emoji__fromC","HaxeCBridge.hx",478,0xa18550d8)
@@ -78,16 +84,16 @@ HX_DEFINE_DYNAMIC_FUNC0(Status_obj,toString,return )
::borogove::Stanza Status_obj::toStanza(){
HX_GC_STACKFRAME(&_hx_pos_1e3dc2b0d4179260_33_toStanza)
HXLINE( 34) ::borogove::Stanza s = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("activity",cf,2d,b2,e5), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/activity",43,2c,6e,94))));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/activity",43,2c,6e,94))),null());
HXLINE( 35) if ((this->text != HX_("",00,00,00,00))) {
-HXLINE( 35) s->textTag(HX_("text",ad,cc,f9,4c),this->text,null());
+HXLINE( 35) s->textTag(HX_("text",ad,cc,f9,4c),this->text,null(),null());
}
HXLINE( 36) if ((this->emoji == HX_("",00,00,00,00))) {
-HXLINE( 37) s->tag(HX_("undefined",90,3e,0a,9d),null())->tag(HX_("other",d0,66,76,36),null())->up()->up();
+HXLINE( 37) s->tag(HX_("undefined",90,3e,0a,9d),null(),null())->tag(HX_("other",d0,66,76,36),null(),null())->up()->up();
}
else {
-HXLINE( 39) s->tag(HX_("undefined",90,3e,0a,9d),null())->textTag(HX_("emoji",86,6f,d9,6f),this->emoji, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("https://ns.borogove.dev/",0d,36,29,bd))))->up();
+HXLINE( 39) s->tag(HX_("undefined",90,3e,0a,9d),null(),null())->textTag(HX_("emoji",86,6f,d9,6f),this->emoji, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("https://ns.borogove.dev/",0d,36,29,bd))),null())->up();
}
HXLINE( 41) return s;
}
diff --git a/Sources/c_borogove/src/borogove/Util.cpp b/Sources/c_borogove/src/borogove/Util.cpp
index 13a9ae8..08e537b 100644
--- a/Sources/c_borogove/src/borogove/Util.cpp
+++ b/Sources/c_borogove/src/borogove/Util.cpp
@@ -8,9 +8,9 @@
#include <borogove/Util.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_178_findLastIndex,"borogove.Util","findLastIndex",0x92392d44,"borogove.Util.findLastIndex","borogove/Util.hx",178,0x66194bae)
-HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_207_convertIndex,"borogove.Util","convertIndex",0xe062cf5e,"borogove.Util.convertIndex","borogove/Util.hx",207,0x66194bae)
-HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_234_capitalize,"borogove.Util","capitalize",0xdbf39f2b,"borogove.Util.capitalize","borogove/Util.hx",234,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_189_findLastIndex,"borogove.Util","findLastIndex",0x92392d44,"borogove.Util.findLastIndex","borogove/Util.hx",189,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_218_convertIndex,"borogove.Util","convertIndex",0xe062cf5e,"borogove.Util.convertIndex","borogove/Util.hx",218,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_00eec5fd061edd1c_245_capitalize,"borogove.Util","capitalize",0xdbf39f2b,"borogove.Util.capitalize","borogove/Util.hx",245,0x66194bae)
namespace borogove{
void Util_obj::__construct() { }
@@ -31,72 +31,72 @@ bool Util_obj::_hx_isInstanceOf(int inClassId) {
}
int Util_obj::findLastIndex(::cpp::VirtualArray it, ::Dynamic f){
- HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_178_findLastIndex)
-HXLINE( 182) int i = (it->get_length() - 1);
-HXLINE( 183) while((i > -1)){
-HXLINE( 184) if (( (bool)(f(it->__get(i))) )) {
-HXLINE( 185) return i;
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_189_findLastIndex)
+HXLINE( 193) int i = (it->get_length() - 1);
+HXLINE( 194) while((i > -1)){
+HXLINE( 195) if (( (bool)(f(it->__get(i))) )) {
+HXLINE( 196) return i;
}
-HXLINE( 186) i = (i - 1);
+HXLINE( 197) i = (i - 1);
}
-HXLINE( 188) return -1;
+HXLINE( 199) return -1;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Util_obj,findLastIndex,return )
int Util_obj::convertIndex(::String u,int index){
- HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_207_convertIndex)
-HXLINE( 208) ::String s = u;
-HXLINE( 209) int unicodeOffset = 0;
-HXLINE( 210) int nativeOffset = 0;
-HXLINE( 211) while((nativeOffset < s.length)){
-HXLINE( 212) if ((nativeOffset == index)) {
-HXLINE( 213) return unicodeOffset;
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_218_convertIndex)
+HXLINE( 219) ::String s = u;
+HXLINE( 220) int unicodeOffset = 0;
+HXLINE( 221) int nativeOffset = 0;
+HXLINE( 222) while((nativeOffset < s.length)){
+HXLINE( 223) if ((nativeOffset == index)) {
+HXLINE( 224) return unicodeOffset;
}
-HXLINE( 215) nativeOffset = (nativeOffset + 1);
-HXDLIN( 215) int index1 = (nativeOffset - 1);
-HXDLIN( 215) int c = s.cca(index1);
-HXDLIN( 215) bool _hx_tmp;
-HXDLIN( 215) if ((c >= 55296)) {
-HXLINE( 215) _hx_tmp = (c <= 56319);
+HXLINE( 226) nativeOffset = (nativeOffset + 1);
+HXDLIN( 226) int index1 = (nativeOffset - 1);
+HXDLIN( 226) int c = s.cca(index1);
+HXDLIN( 226) bool _hx_tmp;
+HXDLIN( 226) if ((c >= 55296)) {
+HXLINE( 226) _hx_tmp = (c <= 56319);
}
else {
-HXLINE( 215) _hx_tmp = false;
+HXLINE( 226) _hx_tmp = false;
}
-HXDLIN( 215) if (_hx_tmp) {
-HXLINE( 215) c = (((c - 55232) << 10) | (s.cca((index1 + 1)) & 1023));
+HXDLIN( 226) if (_hx_tmp) {
+HXLINE( 226) c = (((c - 55232) << 10) | (s.cca((index1 + 1)) & 1023));
}
-HXLINE( 216) if ((c >= 65536)) {
-HXLINE( 217) nativeOffset = (nativeOffset + 1);
+HXLINE( 227) if ((c >= 65536)) {
+HXLINE( 228) nativeOffset = (nativeOffset + 1);
}
-HXLINE( 219) unicodeOffset = (unicodeOffset + 1);
+HXLINE( 230) unicodeOffset = (unicodeOffset + 1);
}
-HXLINE( 222) if ((nativeOffset == index)) {
-HXLINE( 223) return unicodeOffset;
+HXLINE( 233) if ((nativeOffset == index)) {
+HXLINE( 234) return unicodeOffset;
}
-HXLINE( 226) HX_STACK_DO_THROW(HX_("No matching index",4e,b8,b1,51));
-HXDLIN( 226) return 0;
+HXLINE( 237) HX_STACK_DO_THROW(HX_("No matching index",4e,b8,b1,51));
+HXDLIN( 237) return 0;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Util_obj,convertIndex,return )
::String Util_obj::capitalize(::String s){
- HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_234_capitalize)
-HXLINE( 235) bool _hx_tmp;
-HXDLIN( 235) if (::hx::IsNotNull( s )) {
-HXLINE( 235) _hx_tmp = (s.length == 0);
+ HX_STACKFRAME(&_hx_pos_00eec5fd061edd1c_245_capitalize)
+HXLINE( 246) bool _hx_tmp;
+HXDLIN( 246) if (::hx::IsNotNull( s )) {
+HXLINE( 246) _hx_tmp = (s.length == 0);
}
else {
-HXLINE( 235) _hx_tmp = true;
+HXLINE( 246) _hx_tmp = true;
}
-HXDLIN( 235) if (_hx_tmp) {
-HXLINE( 235) return s;
+HXDLIN( 246) if (_hx_tmp) {
+HXLINE( 246) return s;
}
-HXLINE( 237) ::String u = s;
-HXLINE( 239) ::String first = ::_UnicodeString::UnicodeString_Impl__obj::charAt(u,0).toUpperCase();
-HXLINE( 242) return (first + ::_UnicodeString::UnicodeString_Impl__obj::substr(u,1,(::_UnicodeString::UnicodeString_Impl__obj::get_length(u) - 1)));
+HXLINE( 248) ::String u = s;
+HXLINE( 250) ::String first = ::_UnicodeString::UnicodeString_Impl__obj::charAt(u,0).toUpperCase();
+HXLINE( 253) return (first + ::_UnicodeString::UnicodeString_Impl__obj::substr(u,1,(::_UnicodeString::UnicodeString_Impl__obj::get_length(u) - 1)));
}
diff --git a/Sources/c_borogove/src/borogove/XEP0393.cpp b/Sources/c_borogove/src/borogove/XEP0393.cpp
index 0668f46..54d3525 100644
--- a/Sources/c_borogove/src/borogove/XEP0393.cpp
+++ b/Sources/c_borogove/src/borogove/XEP0393.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -31,6 +28,12 @@
#ifndef INCLUDED_borogove_XEP0393
#include <borogove/XEP0393.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_9_parse,"borogove.XEP0393","parse",0x6c67f618,"borogove.XEP0393.parse","borogove/XEP0393.hx",9,0xa99def4c)
HX_LOCAL_STACK_FRAME(_hx_pos_db68028455a3ae0e_19_render,"borogove.XEP0393","render",0x86302dd1,"borogove.XEP0393.render","borogove/XEP0393.hx",19,0xa99def4c)
@@ -126,7 +129,7 @@ HXLINE( 20) if ((xhtml->name == HX_("br",d0,55,00,00))) {
HXLINE( 21) return HX_("\n",0a,00,00,00);
}
HXLINE( 24) if ((xhtml->name == HX_("img",03,0c,50,00))) {
-HXLINE( 25) ::String tmp = ( (::String)(::Reflect_obj::field(xhtml->attr,HX_("alt",29,f9,49,00))) );
+HXLINE( 25) ::String tmp = xhtml->attr->get_string(HX_("alt",29,f9,49,00));
HXDLIN( 25) if (::hx::IsNotNull( tmp )) {
HXLINE( 25) return tmp;
}
@@ -169,7 +172,7 @@ HXLINE( 39) _hx_tmp1 = false;
}
HXDLIN( 39) if (_hx_tmp1) {
HXLINE( 40) ::String className;
-HXDLIN( 40) ::String tmp1 = ( (::String)(::Reflect_obj::field(code->attr,HX_("class",38,78,58,48))) );
+HXDLIN( 40) ::String tmp1 = code->attr->get_string(HX_("class",38,78,58,48));
HXDLIN( 40) if (::hx::IsNotNull( tmp1 )) {
HXLINE( 40) className = tmp1;
}
@@ -286,7 +289,7 @@ HXLINE( 66) endsWithNewline = false;
}
HXLINE( 69) if ((xhtml->name == HX_("a",61,00,00,00))) {
HXLINE( 70) ::String href;
-HXDLIN( 70) ::String tmp2 = ( (::String)(::Reflect_obj::field(xhtml->attr,HX_("href",eb,09,15,45))) );
+HXDLIN( 70) ::String tmp2 = xhtml->attr->get_string(HX_("href",eb,09,15,45));
HXDLIN( 70) if (::hx::IsNotNull( tmp2 )) {
HXLINE( 70) href = tmp2;
}
@@ -464,7 +467,7 @@ HXLINE( 112) s->b->push(HX_("\n",0a,00,00,00));
}
HXLINE( 116) bool _hx_tmp11;
HXDLIN( 116) if ((xhtml->name == HX_("p",70,00,00,00))) {
-HXLINE( 116) _hx_tmp11 = (( (::String)(::Reflect_obj::field(xhtml->attr,HX_("class",38,78,58,48))) ) != HX_("tight",de,34,31,10));
+HXLINE( 116) _hx_tmp11 = ::hx::IsNotEq( xhtml->attr->get(HX_("class",38,78,58,48)),HX_("tight",de,34,31,10) );
}
else {
HXLINE( 116) _hx_tmp11 = false;
@@ -686,13 +689,13 @@ HXLINE( 220) return ::Dynamic(::hx::Anon_obj::Create(2)
}
else {
HXLINE( 221) if ((marker == HX_("`",60,00,00,00))) {
-HXLINE( 222) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null());
+HXLINE( 222) ::borogove::Stanza _hx_tmp1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null(),null());
HXDLIN( 222) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("end",db,03,4d,00),(end + 1))
->setFixed(1,HX_("span",ca,da,58,4c),::borogove::Node_obj::Element(_hx_tmp1->text(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,(start + 1),((end - start) - 1))))));
}
else {
-HXLINE( 224) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null());
+HXLINE( 224) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,tagName,null(),null());
HXDLIN( 224) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("end",db,03,4d,00),(end + 1))
->setFixed(1,HX_("span",ca,da,58,4c),::borogove::Node_obj::Element(_hx_tmp2->addChildNodes(::borogove::XEP0393_obj::parseSpans(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,(start + 1),((end - start) - 1)))))));
@@ -736,7 +739,7 @@ HXDLIN( 240) lineEnd = (lineEnd + 1);
}
_hx_goto_27:;
HXLINE( 241) if ((nodes->length > 0)) {
-HXLINE( 241) nodes->push(::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("br",d0,55,00,00),null())));
+HXLINE( 241) nodes->push(::borogove::Node_obj::Element( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("br",d0,55,00,00),null(),null())));
}
HXLINE( 242) {
HXLINE( 242) ::Dynamic span = ::borogove::XEP0393_obj::parseSpans(::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,(lineEnd - end)))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
@@ -770,7 +773,7 @@ HXLINE( 254) _hx_tmp2 = ::Dynamic(::hx::Anon_obj::Create(1)
else {
HXLINE( 254) _hx_tmp2 = ::Dynamic(::hx::Anon_obj::Create(0));
}
-HXDLIN( 254) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("p",70,00,00,00),_hx_tmp2)->addChildNodes(nodes);
+HXDLIN( 254) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("p",70,00,00,00),_hx_tmp2,null())->addChildNodes(nodes);
HXDLIN( 254) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp3)
->setFixed(1,HX_("rest",14,5b,a7,4b),::_UnicodeString::UnicodeString_Impl__obj::substr(styled,end,null())));
@@ -836,7 +839,7 @@ HXLINE( 277) goto _hx_goto_30;
HXLINE( 281) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00))) {
HXLINE( 282) end = (end + 1);
}
-HXLINE( 285) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("blockquote",cf,56,28,a2),null());
+HXLINE( 285) ::borogove::Stanza _hx_tmp3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("blockquote",cf,56,28,a2),null(),null());
HXDLIN( 285) ::borogove::Stanza _hx_tmp4 = _hx_tmp3->addChildren(::borogove::XEP0393_obj::parse(lines->join(HX_("",00,00,00,00))));
HXDLIN( 285) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("block",4d,75,fc,b4),_hx_tmp4)
@@ -902,10 +905,10 @@ HXLINE( 312) goto _hx_goto_33;
HXLINE( 316) if ((::_UnicodeString::UnicodeString_Impl__obj::charAt(styled,end) == HX_("\n",0a,00,00,00))) {
HXLINE( 317) end = (end + 1);
}
-HXLINE( 320) ::borogove::Stanza block = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("pre",23,60,55,00),null());
+HXLINE( 320) ::borogove::Stanza block = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("pre",23,60,55,00),null(),null());
HXLINE( 321) if ((lang != HX_("",00,00,00,00))) {
HXLINE( 322) ::borogove::Stanza _hx_tmp3 = block->tag(HX_("code",2d,b1,c4,41), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("class",38,78,58,48),(HX_("language-",d5,cc,3e,55) + lang))));
+ ->setFixed(0,HX_("class",38,78,58,48),(HX_("language-",d5,cc,3e,55) + lang))),null());
HXDLIN( 322) _hx_tmp3->text(lines->join(HX_("",00,00,00,00)));
}
else {
diff --git a/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp b/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp
index 0d7737f..eb32df0 100644
--- a/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp
+++ b/Sources/c_borogove/src/borogove/_DataForm/DataForm_Impl_.cpp
@@ -1,18 +1,21 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
#ifndef INCLUDED_borogove__DataForm_DataForm_Impl_
#include <borogove/_DataForm/DataForm_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_Log
#include <haxe/Log.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_a4f53da467a636c2_40_field,"borogove._DataForm.DataForm_Impl_","field",0xe4ae26c8,"borogove._DataForm.DataForm_Impl_.field","borogove/DataForm.hx",40,0x710703a2)
namespace borogove{
@@ -44,7 +47,7 @@ HXLINE( 41) int _g1 = 0;
HXDLIN( 41) while((_g1 < _this->length)){
HXLINE( 41) ::borogove::Stanza v = _this->__get(_g1).StaticCast< ::borogove::Stanza >();
HXDLIN( 41) _g1 = (_g1 + 1);
-HXDLIN( 41) ::String tmp = ( (::String)(::Reflect_obj::field(v->attr,HX_("var",e7,de,59,00))) );
+HXDLIN( 41) ::String tmp = v->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 41) ::String _hx_tmp;
HXDLIN( 41) if (::hx::IsNotNull( tmp )) {
HXLINE( 41) _hx_tmp = tmp;
diff --git a/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp b/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp
index 72e7b55..fe023e7 100644
--- a/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp
+++ b/Sources/c_borogove/src/borogove/_DataForm/Field_Impl_.cpp
@@ -1,23 +1,26 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
#ifndef INCLUDED_borogove__DataForm_Field_Impl_
#include <borogove/_DataForm/Field_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_75_get_value,"borogove._DataForm.Field_Impl_","get_value",0x95f920a6,"borogove._DataForm.Field_Impl_.get_value","borogove/DataForm.hx",75,0x710703a2)
HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_87_set_value,"borogove._DataForm.Field_Impl_","set_value",0x794a0cb2,"borogove._DataForm.Field_Impl_.set_value","borogove/DataForm.hx",87,0x710703a2)
-HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_108_get_datatype,"borogove._DataForm.Field_Impl_","get_datatype",0xf3c5f3cf,"borogove._DataForm.Field_Impl_.get_datatype","borogove/DataForm.hx",108,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_109_get_datatype,"borogove._DataForm.Field_Impl_","get_datatype",0xf3c5f3cf,"borogove._DataForm.Field_Impl_.get_datatype","borogove/DataForm.hx",109,0x710703a2)
static const ::String _hx_array_data_f99683cc_5[] = {
HX_("jid-single",50,8e,f5,83),HX_("jid-multi",b1,73,6d,1a),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_121_get_options,"borogove._DataForm.Field_Impl_","get_options",0x4e914bd3,"borogove._DataForm.Field_Impl_.get_options","borogove/DataForm.hx",121,0x710703a2)
+HX_LOCAL_STACK_FRAME(_hx_pos_4f5145cd5a0b59c7_122_get_options,"borogove._DataForm.Field_Impl_","get_options",0x4e914bd3,"borogove._DataForm.Field_Impl_.get_options","borogove/DataForm.hx",122,0x710703a2)
namespace borogove{
namespace _DataForm{
@@ -81,7 +84,7 @@ HXLINE( 89) int _g = 0;
HXDLIN( 89) while((_g < val->length)){
HXLINE( 89) ::String v = val->__get(_g);
HXDLIN( 89) _g = (_g + 1);
-HXLINE( 90) this1->textTag(HX_("value",71,7f,b8,31),v,null());
+HXLINE( 90) this1->textTag(HX_("value",71,7f,b8,31),v,null(),null());
}
}
HXLINE( 92) return val;
@@ -91,33 +94,33 @@ HXLINE( 92) return val;
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Field_Impl__obj,set_value,return )
::String Field_Impl__obj::get_datatype( ::borogove::Stanza this1){
- HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_108_get_datatype)
-HXLINE( 109) ::borogove::Stanza validate = this1->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
-HXLINE( 110) bool _hx_tmp;
-HXDLIN( 110) if (::hx::IsNotNull( validate )) {
-HXLINE( 110) _hx_tmp = ::hx::IsNotNull( ( (::String)(::Reflect_obj::field(validate->attr,HX_("datatype",e4,a5,a3,a1))) ) );
+ HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_109_get_datatype)
+HXLINE( 110) ::borogove::Stanza validate = this1->getChild(HX_("validate",96,d0,e3,04),HX_("http://jabber.org/protocol/xdata-validate",55,3c,d4,d4));
+HXLINE( 111) bool _hx_tmp;
+HXDLIN( 111) if (::hx::IsNotNull( validate )) {
+HXLINE( 111) _hx_tmp = ::hx::IsNotNull( validate->attr->get(HX_("datatype",e4,a5,a3,a1)) );
}
else {
-HXLINE( 110) _hx_tmp = false;
+HXLINE( 111) _hx_tmp = false;
}
-HXDLIN( 110) if (_hx_tmp) {
-HXLINE( 111) return ( (::String)(::Reflect_obj::field(validate->attr,HX_("datatype",e4,a5,a3,a1))) );
+HXDLIN( 111) if (_hx_tmp) {
+HXLINE( 112) return validate->attr->get_string(HX_("datatype",e4,a5,a3,a1));
}
-HXLINE( 113) if (::Array_obj< ::String >::fromData( _hx_array_data_f99683cc_5,2)->contains(( (::String)(::Reflect_obj::field(this1->attr,HX_("type",ba,f2,08,4d))) ))) {
-HXLINE( 114) return HX_("jid",c5,ca,50,00);
+HXLINE( 114) if (::Array_obj< ::String >::fromData( _hx_array_data_f99683cc_5,2)->contains(this1->attr->get(HX_("type",ba,f2,08,4d)))) {
+HXLINE( 115) return HX_("jid",c5,ca,50,00);
}
-HXLINE( 116) if ((( (::String)(::Reflect_obj::field(this1->attr,HX_("type",ba,f2,08,4d))) ) == HX_("boolean",a8,ea,fe,7d))) {
-HXLINE( 116) return HX_("xs:boolean",a9,21,c7,58);
+HXLINE( 117) if (::hx::IsEq( this1->attr->get(HX_("type",ba,f2,08,4d)),HX_("boolean",a8,ea,fe,7d) )) {
+HXLINE( 117) return HX_("xs:boolean",a9,21,c7,58);
}
-HXLINE( 117) return HX_("xs:string",f0,8c,df,0f);
+HXLINE( 118) return HX_("xs:string",f0,8c,df,0f);
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Field_Impl__obj,get_datatype,return )
::Array< ::Dynamic> Field_Impl__obj::get_options( ::borogove::Stanza this1){
- HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_121_get_options)
-HXDLIN( 121) return this1->allTags(HX_("option",75,d3,7a,2b),null());
+ HX_STACKFRAME(&_hx_pos_4f5145cd5a0b59c7_122_get_options)
+HXDLIN( 122) return this1->allTags(HX_("option",75,d3,7a,2b),null());
}
diff --git a/Sources/c_borogove/src/borogove/_Presence/Presence_Impl_.cpp b/Sources/c_borogove/src/borogove/_Presence/Presence_Impl_.cpp
index a553332..adc241e 100644
--- a/Sources/c_borogove/src/borogove/_Presence/Presence_Impl_.cpp
+++ b/Sources/c_borogove/src/borogove/_Presence/Presence_Impl_.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -22,6 +19,12 @@
#ifndef INCLUDED_borogove__Presence_Presence_Impl_
#include <borogove/_Presence/Presence_Impl_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_b686ec129cbf220d_31__new,"borogove._Presence.Presence_Impl_","_new",0x025878b3,"borogove._Presence.Presence_Impl_._new","borogove/Presence.hx",31,0xe43e7c15)
HX_LOCAL_STACK_FRAME(_hx_pos_b686ec129cbf220d_42_get_capsNode,"borogove._Presence.Presence_Impl_","get_capsNode",0xd956301e,"borogove._Presence.Presence_Impl_.get_capsNode","borogove/Presence.hx",42,0xe43e7c15)
@@ -55,7 +58,7 @@ bool Presence_Impl__obj::_hx_isInstanceOf(int inClassId) {
::borogove::Stanza Presence_Impl__obj::_new( ::borogove::Caps caps, ::borogove::Stanza mucUser, ::borogove::Hash avatarHash){
HX_GC_STACKFRAME(&_hx_pos_b686ec129cbf220d_31__new)
HXLINE( 32) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("presence",3b,52,d7,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:client",21,64,c5,e4))));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("jabber:client",21,64,c5,e4))),null());
HXLINE( 33) if (::hx::IsNotNull( caps )) {
HXLINE( 33) caps->addC(stanza);
}
@@ -64,8 +67,8 @@ HXLINE( 34) stanza->addChild(mucUser);
}
HXLINE( 35) if (::hx::IsNotNull( avatarHash )) {
HXLINE( 36) ::borogove::Stanza _hx_tmp = stanza->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("vcard-temp:x:update",6a,98,84,45))));
-HXDLIN( 36) _hx_tmp->textTag(HX_("photo",b2,c8,f3,c1),avatarHash->toHex(),null())->up();
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("vcard-temp:x:update",6a,98,84,45))),null());
+HXDLIN( 36) _hx_tmp->textTag(HX_("photo",b2,c8,f3,c1),avatarHash->toHex(),null(),null())->up();
}
HXLINE( 31) return stanza;
}
@@ -76,7 +79,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC3(Presence_Impl__obj,_new,return )
::String Presence_Impl__obj::get_capsNode( ::borogove::Stanza this1){
HX_STACKFRAME(&_hx_pos_b686ec129cbf220d_42_get_capsNode)
HXLINE( 43) ::borogove::Stanza c = this1->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXLINE( 44) ::Dynamic tmp;
+HXLINE( 44) ::haxe::ds::StringMap tmp;
HXDLIN( 44) if (::hx::IsNotNull( c )) {
HXLINE( 44) tmp = c->attr;
}
@@ -84,7 +87,7 @@ HXLINE( 44) tmp = c->attr;
HXLINE( 44) tmp = null();
}
HXDLIN( 44) if (::hx::IsNotNull( tmp )) {
-HXLINE( 44) return ( (::String)(::Reflect_obj::field(tmp,HX_("node",02,0a,0a,49))) );
+HXLINE( 44) return tmp->get_string(HX_("node",02,0a,0a,49));
}
else {
HXLINE( 44) return null();
@@ -98,7 +101,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Presence_Impl__obj,get_capsNode,return )
::String Presence_Impl__obj::get_ver( ::borogove::Stanza this1){
HX_STACKFRAME(&_hx_pos_b686ec129cbf220d_47_get_ver)
HXLINE( 48) ::borogove::Stanza c = this1->getChild(HX_("c",63,00,00,00),HX_("http://jabber.org/protocol/caps",95,d0,90,e2));
-HXLINE( 49) ::Dynamic tmp;
+HXLINE( 49) ::haxe::ds::StringMap tmp;
HXDLIN( 49) if (::hx::IsNotNull( c )) {
HXLINE( 49) tmp = c->attr;
}
@@ -106,7 +109,7 @@ HXLINE( 49) tmp = c->attr;
HXLINE( 49) tmp = null();
}
HXDLIN( 49) if (::hx::IsNotNull( tmp )) {
-HXLINE( 49) return ( (::String)(::Reflect_obj::field(tmp,HX_("ver",63,e2,59,00))) );
+HXLINE( 49) return tmp->get_string(HX_("ver",63,e2,59,00));
}
else {
HXLINE( 49) return null();
@@ -152,14 +155,14 @@ HXDLIN( 57) int i = (_g - 1);
HXDLIN( 57) {
HXDLIN( 57) ::borogove::Stanza hat = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
HXDLIN( 57) ::String inValue;
-HXDLIN( 57) ::String tmp2 = ( (::String)(::Reflect_obj::field(hat->attr,HX_("uri",6c,2b,59,00))) );
+HXDLIN( 57) ::String tmp2 = hat->attr->get_string(HX_("uri",6c,2b,59,00));
HXDLIN( 57) if (::hx::IsNotNull( tmp2 )) {
HXDLIN( 57) inValue = tmp2;
}
else {
HXDLIN( 57) inValue = HX_("",00,00,00,00);
}
-HXDLIN( 57) ::String tmp3 = ( (::String)(::Reflect_obj::field(hat->attr,HX_("title",98,15,3b,10))) );
+HXDLIN( 57) ::String tmp3 = hat->attr->get_string(HX_("title",98,15,3b,10));
HXDLIN( 57) ::String inValue1;
HXDLIN( 57) if (::hx::IsNotNull( tmp3 )) {
HXDLIN( 57) inValue1 = tmp3;
@@ -201,7 +204,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Presence_Impl__obj,get_avatarHash,return )
::String Presence_Impl__obj::get_type( ::borogove::Stanza this1){
HX_STACKFRAME(&_hx_pos_b686ec129cbf220d_66_get_type)
-HXDLIN( 66) return ( (::String)(::Reflect_obj::field(this1->attr,HX_("type",ba,f2,08,4d))) );
+HXDLIN( 66) return this1->attr->get_string(HX_("type",ba,f2,08,4d));
}
@@ -209,7 +212,7 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Presence_Impl__obj,get_type,return )
int Presence_Impl__obj::get_show( ::borogove::Stanza this1){
HX_STACKFRAME(&_hx_pos_b686ec129cbf220d_69_get_show)
-HXLINE( 70) if ((( (::String)(::Reflect_obj::field(this1->attr,HX_("type",ba,f2,08,4d))) ) == HX_("unavailable",50,e0,29,fd))) {
+HXLINE( 70) if (::hx::IsEq( this1->attr->get(HX_("type",ba,f2,08,4d)),HX_("unavailable",50,e0,29,fd) )) {
HXLINE( 70) return 4;
}
HXLINE( 72) ::String _g = this1->getChildText(HX_("show",fd,d4,52,4c),null());
diff --git a/Sources/c_borogove/src/borogove/_Source/Source_Impl_.cpp b/Sources/c_borogove/src/borogove/_Source/Source_Impl_.cpp
new file mode 100644
index 0000000..e3c30ff
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_Source/Source_Impl_.cpp
@@ -0,0 +1,103 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_borogove__Source_Source_Impl_
+#include <borogove/_Source/Source_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_02d5d50ec3eb36a4_19__new,"borogove._Source.Source_Impl_","_new",0x3b062e73,"borogove._Source.Source_Impl_._new","borogove/Source.hx",19,0x2f1610f5)
+HX_LOCAL_STACK_FRAME(_hx_pos_02d5d50ec3eb36a4_55_ofTinkSource,"borogove._Source.Source_Impl_","ofTinkSource",0xf71ff676,"borogove._Source.Source_Impl_.ofTinkSource","borogove/Source.hx",55,0x2f1610f5)
+namespace borogove{
+namespace _Source{
+
+void Source_Impl__obj::__construct() { }
+
+Dynamic Source_Impl__obj::__CreateEmpty() { return new Source_Impl__obj; }
+
+void *Source_Impl__obj::_hx_vtable = 0;
+
+Dynamic Source_Impl__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Source_Impl__obj > _hx_result = new Source_Impl__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Source_Impl__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x16ab3ea4;
+}
+
+::Dynamic Source_Impl__obj::_new(::Dynamic source){
+ HX_STACKFRAME(&_hx_pos_02d5d50ec3eb36a4_19__new)
+HXDLIN( 19) return source;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Source_Impl__obj,_new,return )
+
+::Dynamic Source_Impl__obj::ofTinkSource(::Dynamic source){
+ HX_STACKFRAME(&_hx_pos_02d5d50ec3eb36a4_55_ofTinkSource)
+HXDLIN( 55) return ::borogove::_Source::Source_Impl__obj::_new(source);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Source_Impl__obj,ofTinkSource,return )
+
+
+Source_Impl__obj::Source_Impl__obj()
+{
+}
+
+bool Source_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"_new") ) { outValue = _new_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"ofTinkSource") ) { outValue = ofTinkSource_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Source_Impl__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Source_Impl__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Source_Impl__obj::__mClass;
+
+static ::String Source_Impl__obj_sStaticFields[] = {
+ HX_("_new",61,15,1f,3f),
+ HX_("ofTinkSource",64,7b,fe,d3),
+ ::String(null())
+};
+
+void Source_Impl__obj::__register()
+{
+ Source_Impl__obj _hx_dummy;
+ Source_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._Source.Source_Impl_",9c,e0,a7,33);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Source_Impl__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Source_Impl__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Source_Impl__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Source_Impl__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Source_Impl__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace _Source
diff --git a/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp b/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp
index 7426d20..ef99c22 100644
--- a/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp
+++ b/Sources/c_borogove/src/borogove/_Util/Util_Fields_.cpp
@@ -63,8 +63,8 @@ HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_55_xmppLinkHeader,"borogove._Util.
HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_53_xmppLinkHeader,"borogove._Util.Util_Fields_","xmppLinkHeader",0x9fac46c7,"borogove._Util.Util_Fields_.xmppLinkHeader","borogove/Util.hx",53,0x66194bae)
HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_52_xmppLinkHeader,"borogove._Util.Util_Fields_","xmppLinkHeader",0x9fac46c7,"borogove._Util.Util_Fields_.xmppLinkHeader","borogove/Util.hx",52,0x66194bae)
HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_105_downcast,"borogove._Util.Util_Fields_","downcast",0x608fd4ec,"borogove._Util.Util_Fields_.downcast","borogove/Util.hx",105,0x66194bae)
-HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_111_xmlEscape,"borogove._Util.Util_Fields_","xmlEscape",0x2f61ed8d,"borogove._Util.Util_Fields_.xmlEscape","borogove/Util.hx",111,0x66194bae)
-HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_115_uriDecode,"borogove._Util.Util_Fields_","uriDecode",0xe1dca28f,"borogove._Util.Util_Fields_.uriDecode","borogove/Util.hx",115,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_122_xmlEscape,"borogove._Util.Util_Fields_","xmlEscape",0x2f61ed8d,"borogove._Util.Util_Fields_.xmlEscape","borogove/Util.hx",122,0x66194bae)
+HX_LOCAL_STACK_FRAME(_hx_pos_1e0430250bb3af17_126_uriDecode,"borogove._Util.Util_Fields_","uriDecode",0xe1dca28f,"borogove._Util.Util_Fields_.uriDecode","borogove/Util.hx",126,0x66194bae)
namespace borogove{
namespace _Util{
@@ -142,49 +142,49 @@ HXDLIN( 105) return ::Std_obj::downcast(value,c);
STATIC_HX_DEFINE_DYNAMIC_FUNC2(Util_Fields__obj,downcast,return )
::String Util_Fields__obj::xmlEscape(::String s){
- HX_STACKFRAME(&_hx_pos_1e0430250bb3af17_111_xmlEscape)
-HXDLIN( 111) return ::StringTools_obj::replace(::StringTools_obj::replace(::StringTools_obj::replace(s,HX_("&",26,00,00,00),HX_("&",dd,d4,aa,21)),HX_("<",3c,00,00,00),HX_("<",4d,74,70,19)),HX_(">",3e,00,00,00),HX_(">",08,a9,6c,19));
+ HX_STACKFRAME(&_hx_pos_1e0430250bb3af17_122_xmlEscape)
+HXDLIN( 122) return ::StringTools_obj::replace(::StringTools_obj::replace(::StringTools_obj::replace(s,HX_("&",26,00,00,00),HX_("&",dd,d4,aa,21)),HX_("<",3c,00,00,00),HX_("<",4d,74,70,19)),HX_(">",3e,00,00,00),HX_(">",08,a9,6c,19));
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Util_Fields__obj,xmlEscape,return )
::String Util_Fields__obj::uriDecode(::String s){
- HX_GC_STACKFRAME(&_hx_pos_1e0430250bb3af17_115_uriDecode)
-HXLINE( 130) ::haxe::io::BytesBuffer bytes = ::haxe::io::BytesBuffer_obj::__alloc( HX_CTX );
-HXLINE( 131) int i = 0;
-HXLINE( 133) while((i < s.length)){
-HXLINE( 134) ::String c = s.charAt(i);
-HXLINE( 135) bool _hx_tmp;
-HXDLIN( 135) if ((c == HX_("%",25,00,00,00))) {
-HXLINE( 135) _hx_tmp = ((i + 2) < s.length);
+ HX_GC_STACKFRAME(&_hx_pos_1e0430250bb3af17_126_uriDecode)
+HXLINE( 141) ::haxe::io::BytesBuffer bytes = ::haxe::io::BytesBuffer_obj::__alloc( HX_CTX );
+HXLINE( 142) int i = 0;
+HXLINE( 144) while((i < s.length)){
+HXLINE( 145) ::String c = s.charAt(i);
+HXLINE( 146) bool _hx_tmp;
+HXDLIN( 146) if ((c == HX_("%",25,00,00,00))) {
+HXLINE( 146) _hx_tmp = ((i + 2) < s.length);
}
else {
-HXLINE( 135) _hx_tmp = false;
+HXLINE( 146) _hx_tmp = false;
}
-HXDLIN( 135) if (_hx_tmp) {
-HXLINE( 136) ::Dynamic value = ::Std_obj::parseInt((HX_("0x",48,2a,00,00) + s.substr((i + 1),2)));
-HXLINE( 137) if (::hx::IsNotNull( value )) {
-HXLINE( 138) bytes->b->push(( (int)(value) ));
-HXLINE( 139) i = (i + 3);
-HXLINE( 140) continue;
+HXDLIN( 146) if (_hx_tmp) {
+HXLINE( 147) ::Dynamic value = ::Std_obj::parseInt((HX_("0x",48,2a,00,00) + s.substr((i + 1),2)));
+HXLINE( 148) if (::hx::IsNotNull( value )) {
+HXLINE( 149) bytes->b->push(( (int)(value) ));
+HXLINE( 150) i = (i + 3);
+HXLINE( 151) continue;
}
}
-HXLINE( 143) {
-HXLINE( 143) ::haxe::io::Bytes src = ::haxe::io::Bytes_obj::ofString(c,::haxe::io::Encoding_obj::UTF8_dyn());
-HXDLIN( 143) ::Array< unsigned char > b2 = src->b;
-HXDLIN( 143) {
-HXLINE( 143) int _g = 0;
-HXDLIN( 143) int _g1 = src->length;
-HXDLIN( 143) while((_g < _g1)){
-HXLINE( 143) _g = (_g + 1);
-HXDLIN( 143) bytes->b->push(b2->__get((_g - 1)));
+HXLINE( 154) {
+HXLINE( 154) ::haxe::io::Bytes src = ::haxe::io::Bytes_obj::ofString(c,::haxe::io::Encoding_obj::UTF8_dyn());
+HXDLIN( 154) ::Array< unsigned char > b2 = src->b;
+HXDLIN( 154) {
+HXLINE( 154) int _g = 0;
+HXDLIN( 154) int _g1 = src->length;
+HXDLIN( 154) while((_g < _g1)){
+HXLINE( 154) _g = (_g + 1);
+HXDLIN( 154) bytes->b->push(b2->__get((_g - 1)));
}
}
}
-HXLINE( 144) i = (i + 1);
+HXLINE( 155) i = (i + 1);
}
-HXLINE( 147) return bytes->getBytes()->toString();
+HXLINE( 158) return bytes->getBytes()->toString();
}
diff --git a/Sources/c_borogove/src/borogove/_XEP0454/XEP0454_Fields_.cpp b/Sources/c_borogove/src/borogove/_XEP0454/XEP0454_Fields_.cpp
new file mode 100644
index 0000000..8773dfd
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/_XEP0454/XEP0454_Fields_.cpp
@@ -0,0 +1,340 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_EReg
+#include <EReg.h>
+#endif
+#ifndef INCLUDED_borogove__XEP0454_XEP0454_Fields_
+#include <borogove/_XEP0454/XEP0454_Fields_.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_Aes
+#include <haxe/crypto/Aes.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_random_SecureRandom
+#include <haxe/crypto/random/SecureRandom.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+#ifndef INCLUDED_haxe_io_Path
+#include <haxe/io/Path.h>
+#endif
+#ifndef INCLUDED_thenshim_Thenable
+#include <thenshim/Thenable.h>
+#endif
+#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
+#include <thenshim/_Promise/Promise_Impl_.h>
+#endif
+#ifndef INCLUDED_tink__Url_Url_Impl_
+#include <tink/_Url/Url_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ByteChunk
+#include <tink/chunk/ByteChunk.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ChunkBase
+#include <tink/chunk/ChunkBase.h>
+#endif
+#ifndef INCLUDED_tink_chunk_ChunkObject
+#include <tink/chunk/ChunkObject.h>
+#endif
+#ifndef INCLUDED_tink_core_LinkObject
+#include <tink/core/LinkObject.h>
+#endif
+#ifndef INCLUDED_tink_core_Outcome
+#include <tink/core/Outcome.h>
+#endif
+#ifndef INCLUDED_tink_core_TypedError
+#include <tink/core/TypedError.h>
+#endif
+#ifndef INCLUDED_tink_core__Future_FutureObject
+#include <tink/core/_Future/FutureObject.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_Computable
+#include <tink/core/_Lazy/Computable.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyConst
+#include <tink/core/_Lazy/LazyConst.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyObject
+#include <tink/core/_Lazy/LazyObject.h>
+#endif
+#ifndef INCLUDED_tink_http_Fetch
+#include <tink/http/Fetch.h>
+#endif
+#ifndef INCLUDED_tink_http_Message
+#include <tink/http/Message.h>
+#endif
+#ifndef INCLUDED_tink_http__Fetch_FetchResponse_Impl_
+#include <tink/http/_Fetch/FetchResponse_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_io_RealSourceTools
+#include <tink/io/RealSourceTools.h>
+#endif
+#ifndef INCLUDED_tink_streams_Single
+#include <tink/streams/Single.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamBase
+#include <tink/streams/StreamBase.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_14_fetch,"borogove._XEP0454.XEP0454_Fields_","fetch",0x639783ff,"borogove._XEP0454.XEP0454_Fields_.fetch","borogove/XEP0454.hx",14,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_20_fetch,"borogove._XEP0454.XEP0454_Fields_","fetch",0x639783ff,"borogove._XEP0454.XEP0454_Fields_.fetch","borogove/XEP0454.hx",20,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_13_fetch,"borogove._XEP0454.XEP0454_Fields_","fetch",0x639783ff,"borogove._XEP0454.XEP0454_Fields_.fetch","borogove/XEP0454.hx",13,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_38_put,"borogove._XEP0454.XEP0454_Fields_","put",0x4fa4e754,"borogove._XEP0454.XEP0454_Fields_.put","borogove/XEP0454.hx",38,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_52_put,"borogove._XEP0454.XEP0454_Fields_","put",0x4fa4e754,"borogove._XEP0454.XEP0454_Fields_.put","borogove/XEP0454.hx",52,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_42_put,"borogove._XEP0454.XEP0454_Fields_","put",0x4fa4e754,"borogove._XEP0454.XEP0454_Fields_.put","borogove/XEP0454.hx",42,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_33_put,"borogove._XEP0454.XEP0454_Fields_","put",0x4fa4e754,"borogove._XEP0454.XEP0454_Fields_.put","borogove/XEP0454.hx",33,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_63_parse,"borogove._XEP0454.XEP0454_Fields_","parse",0x22f2fff8,"borogove._XEP0454.XEP0454_Fields_.parse","borogove/XEP0454.hx",63,0xc3083046)
+HX_LOCAL_STACK_FRAME(_hx_pos_fada3bef2666286d_87_parseURI,"borogove._XEP0454.XEP0454_Fields_","parseURI",0xf1e41254,"borogove._XEP0454.XEP0454_Fields_.parseURI","borogove/XEP0454.hx",87,0xc3083046)
+namespace borogove{
+namespace _XEP0454{
+
+void XEP0454_Fields__obj::__construct() { }
+
+Dynamic XEP0454_Fields__obj::__CreateEmpty() { return new XEP0454_Fields__obj; }
+
+void *XEP0454_Fields__obj::_hx_vtable = 0;
+
+Dynamic XEP0454_Fields__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< XEP0454_Fields__obj > _hx_result = new XEP0454_Fields__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool XEP0454_Fields__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2bbca83d;
+}
+
+::Dynamic XEP0454_Fields__obj::fetch( ::Dynamic aesgcm){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,aesgcm) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve, ::Dynamic,reject) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome o){
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_14_fetch)
+HXLINE( 14) switch((int)(o->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 16) resolve(( ( ::tink::http::Message)(o->_hx_getObject(0)) )->body);
+ }
+ break;
+ case (int)1: {
+HXLINE( 18) reject(o->_hx_getObject(0));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_14_fetch)
+HXLINE( 14) ::Dynamic options = null();
+HXDLIN( 14) ::tink::http::_Fetch::FetchResponse_Impl__obj::all(::tink::http::Fetch_obj::fetch(::tink::_Url::Url_Impl__obj::fromString(( (::String)(aesgcm->__Field(HX_("https",eb,7b,b1,2e),::hx::paccDynamic)) )),options))->handle( ::Dynamic(new _hx_Closure_0(resolve,reject)));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,aesgcm) HXARGC(1)
+ ::haxe::io::Bytes _hx_run(::Dynamic encrypted){
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_20_fetch)
+HXLINE( 27) ::haxe::crypto::Aes aes = ::haxe::crypto::Aes_obj::__alloc( HX_CTX ,( ( ::haxe::io::Bytes)(aesgcm->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) ),( ( ::haxe::io::Bytes)(aesgcm->__Field(HX_("iv",ed,5b,00,00),::hx::paccDynamic)) ));
+HXLINE( 28) ::haxe::io::Bytes _hx_tmp = ::tink::chunk::ChunkObject_obj::toBytes(encrypted);
+HXDLIN( 28) return aes->decrypt(HX_("gcm",d1,7e,4e,00),_hx_tmp,null(),::haxe::io::Bytes_obj::alloc(0),null(),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_13_fetch)
+HXDLIN( 13) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(aesgcm))), ::Dynamic(new _hx_Closure_2(aesgcm)),null());
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0454_Fields__obj,fetch,return )
+
+::Dynamic XEP0454_Fields__obj::put(::Dynamic source, ::Dynamic httpPut){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::Dynamic,source) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,resolve, ::Dynamic,reject) HXARGC(1)
+ void _hx_run( ::tink::core::Outcome o){
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_38_put)
+HXLINE( 38) switch((int)(o->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 39) ::Dynamic resolve1 = resolve;
+HXDLIN( 39) resolve1(::tink::chunk::ChunkObject_obj::toBytes(o->_hx_getObject(0)));
+ }
+ break;
+ case (int)1: {
+HXLINE( 40) reject(o->_hx_getObject(0));
+ }
+ break;
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_38_put)
+HXLINE( 38) ::tink::io::RealSourceTools_obj::all(source)->handle( ::Dynamic(new _hx_Closure_0(resolve,reject)));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_5, ::haxe::io::Bytes,key, ::haxe::io::Bytes,iv, ::Dynamic,httpPut) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::io::Bytes bytes){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::haxe::io::Bytes,key, ::haxe::io::Bytes,iv, ::Dynamic,httpPut) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::io::Bytes encrypted){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::haxe::io::Bytes,encrypted, ::haxe::io::Bytes,key, ::haxe::io::Bytes,iv) HXARGC(1)
+ ::Dynamic _hx_run(::String uri){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
+ ::String _hx_run( ::EReg _){
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_52_put)
+HXLINE( 52) return HX_("aesgcm://",f8,2d,2a,a4);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_52_put)
+HXLINE( 52) ::String _hx_tmp = ( ::EReg_obj::__alloc( HX_CTX ,HX_("^https?://",48,ee,dd,38),HX_("",00,00,00,00))->map(uri, ::Dynamic(new _hx_Closure_2())) + HX_("#",23,00,00,00));
+HXDLIN( 52) ::String _hx_tmp1 = (_hx_tmp + iv->toHex());
+HXDLIN( 52) ::String _hx_tmp2 = (_hx_tmp1 + key->toHex());
+HXDLIN( 52) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("uri",6c,2b,59,00),_hx_tmp2)
+ ->setFixed(1,HX_("size",c1,a0,53,4c),encrypted->length));
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_52_put)
+HXLINE( 52) ::Dynamic httpPut1 = httpPut;
+HXDLIN( 52) ::Dynamic _hx_tmp = ::tink::streams::Single_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::chunk::ByteChunk_obj::of(encrypted)));
+HXDLIN( 52) return ::thenshim::_Promise::Promise_Impl__obj::then(httpPut1(_hx_tmp,encrypted->length), ::Dynamic(new _hx_Closure_3(encrypted,key,iv)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_42_put)
+HXLINE( 49) ::haxe::crypto::Aes aes = ::haxe::crypto::Aes_obj::__alloc( HX_CTX ,key,iv);
+HXLINE( 52) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::resolve(aes->encrypt(HX_("gcm",d1,7e,4e,00),bytes,null(),::haxe::io::Bytes_obj::alloc(0),16,null())), ::Dynamic(new _hx_Closure_4(key,iv,httpPut)),null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_33_put)
+HXLINE( 34) ::haxe::io::Bytes iv = ::haxe::crypto::random::SecureRandom_obj::bytes(12);
+HXLINE( 35) ::haxe::io::Bytes key = ::haxe::crypto::random::SecureRandom_obj::bytes(32);
+HXLINE( 37) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_1(source))), ::Dynamic(new _hx_Closure_5(key,iv,httpPut)),null());
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(XEP0454_Fields__obj,put,return )
+
+ ::Dynamic XEP0454_Fields__obj::parse(::String uriStr){
+ HX_STACKFRAME(&_hx_pos_fada3bef2666286d_63_parse)
+HXLINE( 64) ::Dynamic uri = ::borogove::_XEP0454::XEP0454_Fields__obj::parseURI(uriStr);
+HXLINE( 65) if (::hx::IsNull( uri )) {
+HXLINE( 65) return null();
+ }
+HXLINE( 67) ::String https = ( (::String)((HX_("https:",ef,f1,9a,ac) + uri->__Field(HX_("rest",14,5b,a7,4b),::hx::paccDynamic))) );
+HXLINE( 68) ::String ext = ::haxe::io::Path_obj::extension(( (::String)(uri->__Field(HX_("rest",14,5b,a7,4b),::hx::paccDynamic)) ));
+HXLINE( 69) ::haxe::io::Bytes iv = ::haxe::io::Bytes_obj::ofHex(( (::String)(uri->__Field(HX_("fragment",d0,5f,e5,ad),::hx::paccDynamic)) ).substr(0,24));
+HXLINE( 70) ::haxe::io::Bytes key = ::haxe::io::Bytes_obj::ofHex(( (::String)(uri->__Field(HX_("fragment",d0,5f,e5,ad),::hx::paccDynamic)) ).substr(24,null()));
+HXLINE( 73) ::String mime;
+HXDLIN( 73) ::String _hx_switch_0 = ext;
+ if ( (_hx_switch_0==HX_("jpg",e1,d0,50,00)) ){
+HXLINE( 73) mime = HX_("image/jpeg",1c,8d,db,ce);
+HXDLIN( 73) goto _hx_goto_11;
+ }
+ if ( (_hx_switch_0==HX_("png",a9,5c,55,00)) ){
+HXLINE( 73) mime = HX_("image/png",b5,cc,c1,16);
+HXDLIN( 73) goto _hx_goto_11;
+ }
+ /* default */{
+HXLINE( 73) mime = HX_("application/octet-stream",5d,f8,82,30);
+ }
+ _hx_goto_11:;
+HXLINE( 79) return ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("iv",ed,5b,00,00),iv)
+ ->setFixed(1,HX_("key",9f,89,51,00),key)
+ ->setFixed(2,HX_("https",eb,7b,b1,2e),https)
+ ->setFixed(3,HX_("mime",b4,4d,5c,48),mime));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0454_Fields__obj,parse,return )
+
+ ::Dynamic XEP0454_Fields__obj::parseURI(::String uriStr){
+ HX_GC_STACKFRAME(&_hx_pos_fada3bef2666286d_87_parseURI)
+HXLINE( 88) ::EReg r = ::EReg_obj::__alloc( HX_CTX ,HX_("^aesgcm:(//[^#]+)#(.{88})$",dd,f7,23,43),HX_("",00,00,00,00));
+HXLINE( 89) if (!(r->match(uriStr))) {
+HXLINE( 89) return null();
+ }
+HXLINE( 91) ::String frag = r->matched(2);
+HXLINE( 93) ::String _hx_tmp = r->matched(1);
+HXLINE( 94) ::String _hx_tmp1;
+HXDLIN( 94) if (::hx::IsNotNull( frag )) {
+HXLINE( 94) _hx_tmp1 = frag;
+ }
+ else {
+HXLINE( 94) _hx_tmp1 = HX_("",00,00,00,00);
+ }
+HXLINE( 92) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("fragment",d0,5f,e5,ad),_hx_tmp1)
+ ->setFixed(1,HX_("rest",14,5b,a7,4b),_hx_tmp));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XEP0454_Fields__obj,parseURI,return )
+
+
+XEP0454_Fields__obj::XEP0454_Fields__obj()
+{
+}
+
+bool XEP0454_Fields__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"put") ) { outValue = put_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"fetch") ) { outValue = fetch_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"parseURI") ) { outValue = parseURI_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *XEP0454_Fields__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *XEP0454_Fields__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class XEP0454_Fields__obj::__mClass;
+
+static ::String XEP0454_Fields__obj_sStaticFields[] = {
+ HX_("fetch",3a,14,fa,fd),
+ HX_("put",cf,62,55,00),
+ HX_("parse",33,90,55,bd),
+ HX_("parseURI",f9,18,7b,d6),
+ ::String(null())
+};
+
+void XEP0454_Fields__obj::__register()
+{
+ XEP0454_Fields__obj _hx_dummy;
+ XEP0454_Fields__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove._XEP0454.XEP0454_Fields_",73,fe,fb,98);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &XEP0454_Fields__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(XEP0454_Fields__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< XEP0454_Fields__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = XEP0454_Fields__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = XEP0454_Fields__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace _XEP0454
diff --git a/Sources/c_borogove/src/borogove/calls/Group.cpp b/Sources/c_borogove/src/borogove/calls/Group.cpp
index 1eb4db1..f5db4b9 100644
--- a/Sources/c_borogove/src/borogove/calls/Group.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Group.cpp
@@ -1,15 +1,18 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
#ifndef INCLUDED_borogove_calls_Group
#include <borogove/calls/Group.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_014425d322a1c72e_7_new,"borogove.calls.Group","new",0x2c6a4cab,"borogove.calls.Group.new","borogove/calls/Group.hx",7,0xdc1239e7)
HX_LOCAL_STACK_FRAME(_hx_pos_014425d322a1c72e_26_toSdp,"borogove.calls.Group","toSdp",0x4fffb10f,"borogove.calls.Group.toSdp","borogove/calls/Group.hx",26,0xdc1239e7)
@@ -56,7 +59,7 @@ HX_DEFINE_DYNAMIC_FUNC0(Group_obj,toSdp,return )
HX_GC_STACKFRAME(&_hx_pos_014425d322a1c72e_33_toElement)
HXLINE( 34) ::borogove::Stanza group = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("group",3f,b3,f4,99), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:grouping:0",14,f9,f4,ed))
- ->setFixed(1,HX_("semantics",ad,54,ab,73),this->semantics)));
+ ->setFixed(1,HX_("semantics",ad,54,ab,73),this->semantics)),null());
HXLINE( 35) {
HXLINE( 35) int _g = 0;
HXDLIN( 35) ::Array< ::String > _g1 = this->identificationTags;
@@ -64,7 +67,7 @@ HXDLIN( 35) while((_g < _g1->length)){
HXLINE( 35) ::String tag = _g1->__get(_g);
HXDLIN( 35) _g = (_g + 1);
HXLINE( 36) group->tag(HX_("content",39,8d,77,19), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("name",4b,72,ff,48),tag)))->up();
+ ->setFixed(0,HX_("name",4b,72,ff,48),tag)),null())->up();
}
}
HXLINE( 38) return group;
@@ -95,12 +98,12 @@ HXDLIN( 20) ::Array< ::Dynamic> _g1 = el->allTags(HX_("content",39,8d,77,19),
HXDLIN( 20) while((_g < _g1->length)){
HXLINE( 20) ::borogove::Stanza content = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
HXDLIN( 20) _g = (_g + 1);
-HXLINE( 21) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(content->attr,HX_("name",4b,72,ff,48))) ) )) {
-HXLINE( 21) idTags->push(( (::String)(::Reflect_obj::field(content->attr,HX_("name",4b,72,ff,48))) ));
+HXLINE( 21) if (::hx::IsNotNull( content->attr->get(HX_("name",4b,72,ff,48)) )) {
+HXLINE( 21) idTags->push(content->attr->get(HX_("name",4b,72,ff,48)));
}
}
}
-HXLINE( 23) return ::borogove::calls::Group_obj::__alloc( HX_CTX ,( (::String)(::Reflect_obj::field(el->attr,HX_("semantics",ad,54,ab,73))) ),idTags);
+HXLINE( 23) return ::borogove::calls::Group_obj::__alloc( HX_CTX ,el->attr->get_string(HX_("semantics",ad,54,ab,73)),idTags);
}
diff --git a/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp b/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
index 9b5884e..4ca10f0 100644
--- a/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
+++ b/Sources/c_borogove/src/borogove/calls/IceCandidate.cpp
@@ -102,7 +102,7 @@ HXLINE( 590) ::Reflect_obj::setField(attrs8,HX_("rel-port",35,42,5e,42),this->
HXLINE( 591) if (::hx::IsNotNull( this->parameters->get(HX_("tcptype",5b,73,f8,36)) )) {
HXLINE( 591) ::Reflect_obj::setField(attrs8,HX_("tcptype",5b,73,f8,36),this->parameters->get(HX_("tcptype",5b,73,f8,36)));
}
-HXLINE( 592) return ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("candidate",43,34,d8,d0),attrs8);
+HXLINE( 592) return ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("candidate",43,34,d8,d0),attrs8,null());
}
@@ -154,30 +154,30 @@ HX_DEFINE_DYNAMIC_FUNC0(IceCandidate_obj,toSdp,return )
::borogove::calls::IceCandidate IceCandidate_obj::fromElement( ::borogove::Stanza candidate,::String sdpMid,::String ufrag){
HX_GC_STACKFRAME(&_hx_pos_6b21dc0034dfbe4a_519_fromElement)
HXLINE( 520) ::haxe::ds::StringMap parameters = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 521) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(candidate->attr,HX_("type",ba,f2,08,4d))) ) )) {
-HXLINE( 521) parameters->set(HX_("typ",4b,6f,58,00),( (::String)(::Reflect_obj::field(candidate->attr,HX_("type",ba,f2,08,4d))) ));
+HXLINE( 521) if (::hx::IsNotNull( candidate->attr->get(HX_("type",ba,f2,08,4d)) )) {
+HXLINE( 521) parameters->set(HX_("typ",4b,6f,58,00),candidate->attr->get(HX_("type",ba,f2,08,4d)));
}
-HXLINE( 522) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(candidate->attr,HX_("rel-addr",e5,a9,6b,38))) ) )) {
-HXLINE( 522) parameters->set(HX_("raddr",a3,0c,18,e4),( (::String)(::Reflect_obj::field(candidate->attr,HX_("rel-addr",e5,a9,6b,38))) ));
+HXLINE( 522) if (::hx::IsNotNull( candidate->attr->get(HX_("rel-addr",e5,a9,6b,38)) )) {
+HXLINE( 522) parameters->set(HX_("raddr",a3,0c,18,e4),candidate->attr->get(HX_("rel-addr",e5,a9,6b,38)));
}
-HXLINE( 523) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(candidate->attr,HX_("rel-port",35,42,5e,42))) ) )) {
-HXLINE( 523) parameters->set(HX_("rport",f3,a4,0a,ee),( (::String)(::Reflect_obj::field(candidate->attr,HX_("rel-port",35,42,5e,42))) ));
+HXLINE( 523) if (::hx::IsNotNull( candidate->attr->get(HX_("rel-port",35,42,5e,42)) )) {
+HXLINE( 523) parameters->set(HX_("rport",f3,a4,0a,ee),candidate->attr->get(HX_("rel-port",35,42,5e,42)));
}
-HXLINE( 524) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(candidate->attr,HX_("generation",98,c0,63,4e))) ) )) {
-HXLINE( 524) parameters->set(HX_("generation",98,c0,63,4e),( (::String)(::Reflect_obj::field(candidate->attr,HX_("generation",98,c0,63,4e))) ));
+HXLINE( 524) if (::hx::IsNotNull( candidate->attr->get(HX_("generation",98,c0,63,4e)) )) {
+HXLINE( 524) parameters->set(HX_("generation",98,c0,63,4e),candidate->attr->get(HX_("generation",98,c0,63,4e)));
}
-HXLINE( 525) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(candidate->attr,HX_("tcptype",5b,73,f8,36))) ) )) {
-HXLINE( 525) parameters->set(HX_("tcptype",5b,73,f8,36),( (::String)(::Reflect_obj::field(candidate->attr,HX_("tcptype",5b,73,f8,36))) ));
+HXLINE( 525) if (::hx::IsNotNull( candidate->attr->get(HX_("tcptype",5b,73,f8,36)) )) {
+HXLINE( 525) parameters->set(HX_("tcptype",5b,73,f8,36),candidate->attr->get(HX_("tcptype",5b,73,f8,36)));
}
HXLINE( 526) if (::hx::IsNotNull( ufrag )) {
HXLINE( 526) parameters->set(HX_("ufrag",27,78,a4,a1),ufrag);
}
-HXLINE( 530) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(candidate->attr,HX_("foundation",33,a1,2a,39))) );
-HXLINE( 531) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(candidate->attr,HX_("component",bd,f0,53,0f))) );
-HXLINE( 532) ::String _hx_tmp2 = ( (::String)(::Reflect_obj::field(candidate->attr,HX_("protocol",58,56,63,00))) ).toLowerCase();
-HXLINE( 533) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(candidate->attr,HX_("priority",64,7b,3e,bb))) );
-HXLINE( 534) ::String _hx_tmp4 = ( (::String)(::Reflect_obj::field(candidate->attr,HX_("ip",e7,5b,00,00))) );
-HXLINE( 527) return ::borogove::calls::IceCandidate_obj::__alloc( HX_CTX ,sdpMid,ufrag,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,_hx_tmp4,( (::String)(::Reflect_obj::field(candidate->attr,HX_("port",81,83,5c,4a))) ),parameters);
+HXLINE( 530) ::String _hx_tmp = candidate->attr->get_string(HX_("foundation",33,a1,2a,39));
+HXLINE( 531) ::String _hx_tmp1 = candidate->attr->get_string(HX_("component",bd,f0,53,0f));
+HXLINE( 532) ::String _hx_tmp2 = candidate->attr->get_string(HX_("protocol",58,56,63,00)).toLowerCase();
+HXLINE( 533) ::String _hx_tmp3 = candidate->attr->get_string(HX_("priority",64,7b,3e,bb));
+HXLINE( 534) ::String _hx_tmp4 = candidate->attr->get_string(HX_("ip",e7,5b,00,00));
+HXLINE( 527) return ::borogove::calls::IceCandidate_obj::__alloc( HX_CTX ,sdpMid,ufrag,_hx_tmp,_hx_tmp1,_hx_tmp2,_hx_tmp3,_hx_tmp4,candidate->attr->get_string(HX_("port",81,83,5c,4a)),parameters);
}
@@ -195,7 +195,7 @@ HXDLIN( 541) _g = (_g + 1);
HXDLIN( 541) int i = (_g - 1);
HXDLIN( 541) {
HXDLIN( 541) ::borogove::Stanza el = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXDLIN( 541) ::borogove::calls::IceCandidate inValue = ::borogove::calls::IceCandidate_obj::fromElement(el,sdpMid,( (::String)(::Reflect_obj::field(transport->attr,HX_("ufrag",27,78,a4,a1))) ));
+HXDLIN( 541) ::borogove::calls::IceCandidate inValue = ::borogove::calls::IceCandidate_obj::fromElement(el,sdpMid,transport->attr->get_string(HX_("ufrag",27,78,a4,a1)));
HXDLIN( 541) result->__unsafe_set(i,inValue);
}
}
@@ -214,7 +214,7 @@ HXLINE( 546) ::Dynamic x = iq->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xm
HXDLIN( 546) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
HXLINE( 546) ::borogove::Stanza x1 = ( ( ::borogove::Stanza)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
HXLINE( 547) ::borogove::Stanza transport = x1->getChild(HX_("transport",a9,4f,2f,4c),HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53));
-HXLINE( 546) _g->push(::borogove::calls::IceCandidate_obj::fromTransport(transport,( (::String)(::Reflect_obj::field(x1->attr,HX_("name",4b,72,ff,48))) )));
+HXLINE( 546) _g->push(::borogove::calls::IceCandidate_obj::fromTransport(transport,x1->attr->get_string(HX_("name",4b,72,ff,48))));
}
}
HXDLIN( 546) ::Array< ::Dynamic> _g1 = ::Array_obj< ::Dynamic>::__new(0);
diff --git a/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp b/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp
index 2c9e9ce..5148e74 100644
--- a/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp
+++ b/Sources/c_borogove/src/borogove/calls/IncomingProposedSession.cpp
@@ -59,36 +59,36 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_75_new,"borogove.calls.IncomingProposedSession","new",0x1258db76,"borogove.calls.IncomingProposedSession.new","borogove/calls/Session.hx",75,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_95_ring,"borogove.calls.IncomingProposedSession","ring",0xfe0f07da,"borogove.calls.IncomingProposedSession.ring","borogove/calls/Session.hx",95,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_89_ring,"borogove.calls.IncomingProposedSession","ring",0xfe0f07da,"borogove.calls.IncomingProposedSession.ring","borogove/calls/Session.hx",89,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_107_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",107,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_100_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",100,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_115_retract,"borogove.calls.IncomingProposedSession","retract",0x08713017,"borogove.calls.IncomingProposedSession.retract","borogove/calls/Session.hx",115,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_119_terminate,"borogove.calls.IncomingProposedSession","terminate",0xe089b1f7,"borogove.calls.IncomingProposedSession.terminate","borogove/calls/Session.hx",119,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_123_contentAdd,"borogove.calls.IncomingProposedSession","contentAdd",0xc1b58a12,"borogove.calls.IncomingProposedSession.contentAdd","borogove/calls/Session.hx",123,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_127_contentAccept,"borogove.calls.IncomingProposedSession","contentAccept",0x2cffc7b7,"borogove.calls.IncomingProposedSession.contentAccept","borogove/calls/Session.hx",127,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_130_transportInfo,"borogove.calls.IncomingProposedSession","transportInfo",0x02cd3f4d,"borogove.calls.IncomingProposedSession.transportInfo","borogove/calls/Session.hx",130,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_141_accept,"borogove.calls.IncomingProposedSession","accept",0x9e0519b2,"borogove.calls.IncomingProposedSession.accept","borogove/calls/Session.hx",141,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_135_accept,"borogove.calls.IncomingProposedSession","accept",0x9e0519b2,"borogove.calls.IncomingProposedSession.accept","borogove/calls/Session.hx",135,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_152_initiate,"borogove.calls.IncomingProposedSession","initiate",0x943c6f83,"borogove.calls.IncomingProposedSession.initiate","borogove/calls/Session.hx",152,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_164_addMedia,"borogove.calls.IncomingProposedSession","addMedia",0xb3c6302d,"borogove.calls.IncomingProposedSession.addMedia","borogove/calls/Session.hx",164,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_169_callStatus,"borogove.calls.IncomingProposedSession","callStatus",0xaf03e21a,"borogove.calls.IncomingProposedSession.callStatus","borogove/calls/Session.hx",169,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_174_audioTracks,"borogove.calls.IncomingProposedSession","audioTracks",0xb3746e14,"borogove.calls.IncomingProposedSession.audioTracks","borogove/calls/Session.hx",174,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_179_videoTracks,"borogove.calls.IncomingProposedSession","videoTracks",0x5d6bd379,"borogove.calls.IncomingProposedSession.videoTracks","borogove/calls/Session.hx",179,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_184_dtmf,"borogove.calls.IncomingProposedSession","dtmf",0xf4d66313,"borogove.calls.IncomingProposedSession.dtmf","borogove/calls/Session.hx",184,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_188_get_sid,"borogove.calls.IncomingProposedSession","get_sid",0x3283b5bb,"borogove.calls.IncomingProposedSession.get_sid","borogove/calls/Session.hx",188,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_192_get_chatId,"borogove.calls.IncomingProposedSession","get_chatId",0x25d69846,"borogove.calls.IncomingProposedSession.get_chatId","borogove/calls/Session.hx",192,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_75_boot,"borogove.calls.IncomingProposedSession","boot",0xf3802c5c,"borogove.calls.IncomingProposedSession.boot","borogove/calls/Session.hx",75,0x33a79030)
+HX_DEFINE_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_79_new,"borogove.calls.IncomingProposedSession","new",0x1258db76,"borogove.calls.IncomingProposedSession.new","borogove/calls/Session.hx",79,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_99_ring,"borogove.calls.IncomingProposedSession","ring",0xfe0f07da,"borogove.calls.IncomingProposedSession.ring","borogove/calls/Session.hx",99,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_93_ring,"borogove.calls.IncomingProposedSession","ring",0xfe0f07da,"borogove.calls.IncomingProposedSession.ring","borogove/calls/Session.hx",93,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_111_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",111,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_104_hangup,"borogove.calls.IncomingProposedSession","hangup",0x4afe58f7,"borogove.calls.IncomingProposedSession.hangup","borogove/calls/Session.hx",104,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_119_retract,"borogove.calls.IncomingProposedSession","retract",0x08713017,"borogove.calls.IncomingProposedSession.retract","borogove/calls/Session.hx",119,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_123_terminate,"borogove.calls.IncomingProposedSession","terminate",0xe089b1f7,"borogove.calls.IncomingProposedSession.terminate","borogove/calls/Session.hx",123,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_127_contentAdd,"borogove.calls.IncomingProposedSession","contentAdd",0xc1b58a12,"borogove.calls.IncomingProposedSession.contentAdd","borogove/calls/Session.hx",127,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_131_contentAccept,"borogove.calls.IncomingProposedSession","contentAccept",0x2cffc7b7,"borogove.calls.IncomingProposedSession.contentAccept","borogove/calls/Session.hx",131,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_134_transportInfo,"borogove.calls.IncomingProposedSession","transportInfo",0x02cd3f4d,"borogove.calls.IncomingProposedSession.transportInfo","borogove/calls/Session.hx",134,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_145_accept,"borogove.calls.IncomingProposedSession","accept",0x9e0519b2,"borogove.calls.IncomingProposedSession.accept","borogove/calls/Session.hx",145,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_139_accept,"borogove.calls.IncomingProposedSession","accept",0x9e0519b2,"borogove.calls.IncomingProposedSession.accept","borogove/calls/Session.hx",139,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_156_initiate,"borogove.calls.IncomingProposedSession","initiate",0x943c6f83,"borogove.calls.IncomingProposedSession.initiate","borogove/calls/Session.hx",156,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_168_addMedia,"borogove.calls.IncomingProposedSession","addMedia",0xb3c6302d,"borogove.calls.IncomingProposedSession.addMedia","borogove/calls/Session.hx",168,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_173_callStatus,"borogove.calls.IncomingProposedSession","callStatus",0xaf03e21a,"borogove.calls.IncomingProposedSession.callStatus","borogove/calls/Session.hx",173,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_178_audioTracks,"borogove.calls.IncomingProposedSession","audioTracks",0xb3746e14,"borogove.calls.IncomingProposedSession.audioTracks","borogove/calls/Session.hx",178,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_183_videoTracks,"borogove.calls.IncomingProposedSession","videoTracks",0x5d6bd379,"borogove.calls.IncomingProposedSession.videoTracks","borogove/calls/Session.hx",183,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_188_dtmf,"borogove.calls.IncomingProposedSession","dtmf",0xf4d66313,"borogove.calls.IncomingProposedSession.dtmf","borogove/calls/Session.hx",188,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_192_get_sid,"borogove.calls.IncomingProposedSession","get_sid",0x3283b5bb,"borogove.calls.IncomingProposedSession.get_sid","borogove/calls/Session.hx",192,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_196_get_chatId,"borogove.calls.IncomingProposedSession","get_chatId",0x25d69846,"borogove.calls.IncomingProposedSession.get_chatId","borogove/calls/Session.hx",196,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_8bd69e9bff10ec02_79_boot,"borogove.calls.IncomingProposedSession","boot",0xf3802c5c,"borogove.calls.IncomingProposedSession.boot","borogove/calls/Session.hx",79,0x33a79030)
namespace borogove{
namespace calls{
void IncomingProposedSession_obj::__construct( ::borogove::Client client, ::borogove::JID from,::String sid){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_75_new)
-HXLINE( 81) this->accepted = false;
-HXLINE( 84) this->client = client;
-HXLINE( 85) this->from = from;
-HXLINE( 86) this->_sid = sid;
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_79_new)
+HXLINE( 85) this->accepted = false;
+HXLINE( 88) this->client = client;
+HXLINE( 89) this->from = from;
+HXLINE( 90) this->_sid = sid;
}
Dynamic IncomingProposedSession_obj::__CreateEmpty() { return new IncomingProposedSession_obj; }
@@ -138,19 +138,19 @@ void *IncomingProposedSession_obj::_hx_getInterface(int inHash) {
void IncomingProposedSession_obj::ring(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::IncomingProposedSession,_gthis) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_95_ring)
-HXLINE( 95) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_99_ring)
+HXLINE( 99) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_89_ring)
-HXDLIN( 89) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 92) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("ringing",32,9b,80,1a), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_93_ring)
+HXDLIN( 93) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 96) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("ringing",32,9b,80,1a), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 93) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
-HXLINE( 94) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis)),null());
-HXLINE( 97) this->client->trigger(HX_("call/ring",01,8e,91,54), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 97) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
+HXLINE( 98) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE( 101) this->client->trigger(HX_("call/ring",01,8e,91,54), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("session",56,17,98,93),::hx::ObjectPtr<OBJ_>(this))));
}
@@ -160,29 +160,29 @@ HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,ring,(void))
void IncomingProposedSession_obj::hangup(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::IncomingProposedSession,_gthis) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_107_hangup)
-HXLINE( 107) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_111_hangup)
+HXLINE( 111) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_100_hangup)
-HXDLIN( 100) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 104) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("reject",5f,51,85,02), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_104_hangup)
+HXDLIN( 104) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 108) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("reject",5f,51,85,02), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 105) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
-HXLINE( 106) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis)),null());
-HXLINE( 109) {
-HXLINE( 109) ::borogove::Client tmp = this->client;
-HXDLIN( 109) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
-HXDLIN( 109) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 109) ::Dynamic this1 = tmp1->jingleSessions;
-HXDLIN( 109) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 109) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
+HXLINE( 110) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE( 113) {
+HXLINE( 113) ::borogove::Client tmp = this->client;
+HXDLIN( 113) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 113) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 113) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 113) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
}
}
-HXLINE( 110) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 110) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 110) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 114) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 114) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 114) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
}
@@ -191,10 +191,10 @@ HXDLIN( 110) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,hangup,(void))
void IncomingProposedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_115_retract)
-HXDLIN( 115) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 115) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 115) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_119_retract)
+HXDLIN( 119) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 119) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 119) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
}
@@ -203,61 +203,61 @@ HXDLIN( 115) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,retract,(void))
void IncomingProposedSession_obj::terminate(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_119_terminate)
-HXDLIN( 119) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 119) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
-HXDLIN( 119) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_123_terminate)
+HXDLIN( 123) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 123) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
+HXDLIN( 123) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.IncomingProposedSession",84,a8,44,af))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("terminate",61,32,d2,fd))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),119)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),123)));
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,terminate,(void))
void IncomingProposedSession_obj::contentAdd( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_123_contentAdd)
-HXDLIN( 123) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 123) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
-HXDLIN( 123) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_127_contentAdd)
+HXDLIN( 127) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 127) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
+HXDLIN( 127) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.IncomingProposedSession",84,a8,44,af))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("contentAdd",68,66,dd,43))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),123)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),127)));
}
HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAdd,(void))
void IncomingProposedSession_obj::contentAccept( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_127_contentAccept)
-HXDLIN( 127) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 127) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
-HXDLIN( 127) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_131_contentAccept)
+HXDLIN( 131) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 131) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
+HXDLIN( 131) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.IncomingProposedSession",84,a8,44,af))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("contentAccept",21,c5,01,e1))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),127)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),131)));
}
HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,contentAccept,(void))
::Dynamic IncomingProposedSession_obj::transportInfo( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_130_transportInfo)
-HXLINE( 131) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 131) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
-HXDLIN( 131) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_134_transportInfo)
+HXLINE( 135) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 135) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
+HXDLIN( 135) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.IncomingProposedSession",84,a8,44,af))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("transportInfo",b7,3c,cf,b6))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),131)));
-HXLINE( 132) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),135)));
+HXLINE( 136) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
@@ -266,106 +266,106 @@ HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,transportInfo,return )
void IncomingProposedSession_obj::accept(){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::IncomingProposedSession,_gthis, ::borogove::Stanza,event, ::borogove::ChatMessage,msg) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_141_accept)
-HXLINE( 142) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
-HXLINE( 143) ::borogove::Client _gthis1 = _gthis->client;
-HXLINE( 144) ::String _hx_tmp = _gthis->from->asString();
-HXLINE( 143) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_145_accept)
+HXLINE( 146) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+HXLINE( 147) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 148) ::String _hx_tmp = _gthis->from->asString();
+HXLINE( 147) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),msg->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->localId)
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe)))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe))),null()));
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_135_accept)
-HXDLIN( 135) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 136) if (this->accepted) {
-HXLINE( 136) return;
+ HX_GC_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_139_accept)
+HXDLIN( 139) ::borogove::calls::IncomingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 140) if (this->accepted) {
+HXLINE( 140) return;
}
-HXLINE( 137) this->accepted = true;
-HXLINE( 138) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 138) _hx_tmp->sendPresence(this->from->asString(),null());
-HXLINE( 139) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("proceed",2e,96,4a,f1), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 141) this->accepted = true;
+HXLINE( 142) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 142) _hx_tmp->sendPresence(this->from->asString(),null());
+HXLINE( 143) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("proceed",2e,96,4a,f1), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 140) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
-HXLINE( 141) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 144) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->from,this->client,event);
+HXLINE( 145) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,accept,(void))
::borogove::calls::InitiatedSession IncomingProposedSession_obj::initiate( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_152_initiate)
-HXLINE( 154) ::borogove::calls::InitiatedSession session = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(this->client,stanza);
-HXLINE( 155) ::String _hx_tmp = session->get_sid();
-HXDLIN( 155) if ((_hx_tmp != this->get_sid())) {
-HXLINE( 155) HX_STACK_DO_THROW(HX_("id mismatch",33,05,74,bd));
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_156_initiate)
+HXLINE( 158) ::borogove::calls::InitiatedSession session = ::borogove::calls::InitiatedSession_obj::fromSessionInitiate(this->client,stanza);
+HXLINE( 159) ::String _hx_tmp = session->get_sid();
+HXDLIN( 159) if ((_hx_tmp != this->get_sid())) {
+HXLINE( 159) HX_STACK_DO_THROW(HX_("id mismatch",33,05,74,bd));
}
-HXLINE( 156) if (!(this->accepted)) {
-HXLINE( 156) HX_STACK_DO_THROW(HX_("trying to initiate unaccepted session",b1,34,34,a4));
+HXLINE( 160) if (!(this->accepted)) {
+HXLINE( 160) HX_STACK_DO_THROW(HX_("trying to initiate unaccepted session",b1,34,34,a4));
}
-HXLINE( 157) session->accept();
-HXLINE( 158) this->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 161) session->accept();
+HXLINE( 162) this->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("session",56,17,98,93),session)));
-HXLINE( 159) return session;
+HXLINE( 163) return session;
}
HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,initiate,return )
void IncomingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_164_addMedia)
-HXDLIN( 164) HX_STACK_DO_THROW(HX_("Cannot add media before call starts",aa,0a,79,d5));
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_168_addMedia)
+HXDLIN( 168) HX_STACK_DO_THROW(HX_("Cannot add media before call starts",aa,0a,79,d5));
}
HX_DEFINE_DYNAMIC_FUNC1(IncomingProposedSession_obj,addMedia,(void))
int IncomingProposedSession_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_169_callStatus)
-HXDLIN( 169) return 1;
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_173_callStatus)
+HXDLIN( 173) return 1;
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,callStatus,return )
::Array< ::Dynamic> IncomingProposedSession_obj::audioTracks(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_174_audioTracks)
-HXDLIN( 174) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_178_audioTracks)
+HXDLIN( 178) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,audioTracks,return )
::Array< ::Dynamic> IncomingProposedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_179_videoTracks)
-HXDLIN( 179) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_183_videoTracks)
+HXDLIN( 183) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,videoTracks,return )
::borogove::calls::DTMFSender IncomingProposedSession_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_184_dtmf)
-HXDLIN( 184) return null();
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_188_dtmf)
+HXDLIN( 188) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,dtmf,return )
::String IncomingProposedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_188_get_sid)
-HXDLIN( 188) return this->_sid;
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_192_get_sid)
+HXDLIN( 192) return this->_sid;
}
HX_DEFINE_DYNAMIC_FUNC0(IncomingProposedSession_obj,get_sid,return )
::String IncomingProposedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_192_get_chatId)
-HXDLIN( 192) return this->from->asBare()->asString();
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_196_get_chatId)
+HXDLIN( 196) return this->from->asBare()->asString();
}
@@ -554,8 +554,8 @@ void IncomingProposedSession_obj::__register()
void IncomingProposedSession_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_75_boot)
-HXDLIN( 75) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_8bd69e9bff10ec02_79_boot)
+HXDLIN( 79) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("videoTracks",63,c2,24,be), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
diff --git a/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp b/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp
index d7715b3..7f81096 100644
--- a/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp
+++ b/Sources/c_borogove/src/borogove/calls/InitiatedSession.cpp
@@ -4,9 +4,6 @@
#ifndef INCLUDED_Lambda
#include <Lambda.h>
#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -101,85 +98,85 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_7acc2c8020739c2c_331_new,"borogove.calls.InitiatedSession","new",0x27873263,"borogove.calls.InitiatedSession.new","borogove/calls/Session.hx",331,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_373_get_sid,"borogove.calls.InitiatedSession","get_sid",0x628c8728,"borogove.calls.InitiatedSession.get_sid","borogove/calls/Session.hx",373,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_377_get_chatId,"borogove.calls.InitiatedSession","get_chatId",0x1872a8f9,"borogove.calls.InitiatedSession.get_chatId","borogove/calls/Session.hx",377,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_382_ring,"borogove.calls.InitiatedSession","ring",0x716cc04d,"borogove.calls.InitiatedSession.ring","borogove/calls/Session.hx",382,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_387_retract,"borogove.calls.InitiatedSession","retract",0x387a0184,"borogove.calls.InitiatedSession.retract","borogove/calls/Session.hx",387,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_394_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",394,0x33a79030)
+HX_DEFINE_STACK_FRAME(_hx_pos_7acc2c8020739c2c_335_new,"borogove.calls.InitiatedSession","new",0x27873263,"borogove.calls.InitiatedSession.new","borogove/calls/Session.hx",335,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_377_get_sid,"borogove.calls.InitiatedSession","get_sid",0x628c8728,"borogove.calls.InitiatedSession.get_sid","borogove/calls/Session.hx",377,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_381_get_chatId,"borogove.calls.InitiatedSession","get_chatId",0x1872a8f9,"borogove.calls.InitiatedSession.get_chatId","borogove/calls/Session.hx",381,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_386_ring,"borogove.calls.InitiatedSession","ring",0x716cc04d,"borogove.calls.InitiatedSession.ring","borogove/calls/Session.hx",386,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_391_retract,"borogove.calls.InitiatedSession","retract",0x387a0184,"borogove.calls.InitiatedSession.retract","borogove/calls/Session.hx",391,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_398_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",398,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_399_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",399,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_395_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",395,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_391_accept,"borogove.calls.InitiatedSession","accept",0xee9814e5,"borogove.calls.InitiatedSession.accept","borogove/calls/Session.hx",391,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_400_hangup,"borogove.calls.InitiatedSession","hangup",0x9b91542a,"borogove.calls.InitiatedSession.hangup","borogove/calls/Session.hx",400,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_411_initiate,"borogove.calls.InitiatedSession","initiate",0x6beadd76,"borogove.calls.InitiatedSession.initiate","borogove/calls/Session.hx",411,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_432_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",432,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_417_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",417,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_467_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",467,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_466_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",466,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_460_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",460,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_459_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",459,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_444_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",444,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_404_hangup,"borogove.calls.InitiatedSession","hangup",0x9b91542a,"borogove.calls.InitiatedSession.hangup","borogove/calls/Session.hx",404,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_415_initiate,"borogove.calls.InitiatedSession","initiate",0x6beadd76,"borogove.calls.InitiatedSession.initiate","borogove/calls/Session.hx",415,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_436_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",436,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_421_terminate,"borogove.calls.InitiatedSession","terminate",0xc17b78a4,"borogove.calls.InitiatedSession.terminate","borogove/calls/Session.hx",421,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_471_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",471,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_470_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",470,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_464_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",464,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_463_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",463,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_448_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",448,0x33a79030)
static const bool _hx_array_data_ac07c4f1_21[] = {
0,
};
static const bool _hx_array_data_ac07c4f1_22[] = {
0,
};
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_451_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",451,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_484_contentAccept,"borogove.calls.InitiatedSession","contentAccept",0xcd9ee8e4,"borogove.calls.InitiatedSession.contentAccept","borogove/calls/Session.hx",484,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_511_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",511,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_497_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",497,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_515_addMedia,"borogove.calls.InitiatedSession","addMedia",0x8b749e20,"borogove.calls.InitiatedSession.addMedia","borogove/calls/Session.hx",515,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_530_callStatus,"borogove.calls.InitiatedSession","callStatus",0xa19ff2cd,"borogove.calls.InitiatedSession.callStatus","borogove/calls/Session.hx",530,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_540_audioTracks,"borogove.calls.InitiatedSession","audioTracks",0x0966fa01,"borogove.calls.InitiatedSession.audioTracks","borogove/calls/Session.hx",540,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_548_videoTracks,"borogove.calls.InitiatedSession","videoTracks",0xb35e5f66,"borogove.calls.InitiatedSession.videoTracks","borogove/calls/Session.hx",548,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_558_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",558,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_556_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",556,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_573_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",573,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_585_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",585,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_563_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",563,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_586_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",586,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_598_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",598,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_606_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",606,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_597_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",597,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_455_contentAdd,"borogove.calls.InitiatedSession","contentAdd",0xb4519ac5,"borogove.calls.InitiatedSession.contentAdd","borogove/calls/Session.hx",455,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_488_contentAccept,"borogove.calls.InitiatedSession","contentAccept",0xcd9ee8e4,"borogove.calls.InitiatedSession.contentAccept","borogove/calls/Session.hx",488,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_515_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",515,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_501_transportInfo,"borogove.calls.InitiatedSession","transportInfo",0xa36c607a,"borogove.calls.InitiatedSession.transportInfo","borogove/calls/Session.hx",501,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_519_addMedia,"borogove.calls.InitiatedSession","addMedia",0x8b749e20,"borogove.calls.InitiatedSession.addMedia","borogove/calls/Session.hx",519,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_534_callStatus,"borogove.calls.InitiatedSession","callStatus",0xa19ff2cd,"borogove.calls.InitiatedSession.callStatus","borogove/calls/Session.hx",534,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_544_audioTracks,"borogove.calls.InitiatedSession","audioTracks",0x0966fa01,"borogove.calls.InitiatedSession.audioTracks","borogove/calls/Session.hx",544,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_552_videoTracks,"borogove.calls.InitiatedSession","videoTracks",0xb35e5f66,"borogove.calls.InitiatedSession.videoTracks","borogove/calls/Session.hx",552,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_562_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",562,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_560_dtmf,"borogove.calls.InitiatedSession","dtmf",0x68341b86,"borogove.calls.InitiatedSession.dtmf","borogove/calls/Session.hx",560,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_577_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",577,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_589_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",589,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_567_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",567,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_590_sendIceCandidate,"borogove.calls.InitiatedSession","sendIceCandidate",0xc418ccfd,"borogove.calls.InitiatedSession.sendIceCandidate","borogove/calls/Session.hx",590,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_602_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",602,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_610_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",610,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_601_supplyMedia,"borogove.calls.InitiatedSession","supplyMedia",0x9002a938,"borogove.calls.InitiatedSession.supplyMedia","borogove/calls/Session.hx",601,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_a639e4155ff9c820_354_supplyMedia__fromC,"borogove.calls.InitiatedSession","supplyMedia__fromC",0x9589de41,"borogove.calls.InitiatedSession.supplyMedia__fromC","HaxeCBridge.hx",354,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_624_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",624,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_626_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",626,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_628_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",628,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_630_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",630,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_621_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",621,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_616_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",616,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_647_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",647,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_652_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",652,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_632_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",632,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_634_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",634,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_625_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",625,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_620_setupPeerConnection,"borogove.calls.InitiatedSession","setupPeerConnection",0x8ac53fc0,"borogove.calls.InitiatedSession.setupPeerConnection","borogove/calls/Session.hx",620,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_651_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",651,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_656_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",656,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_655_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",655,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_659_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",659,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_654_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",654,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_667_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",667,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_650_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",650,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_663_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",663,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_646_setupLocalDescription,"borogove.calls.InitiatedSession","setupLocalDescription",0x25437cb1,"borogove.calls.InitiatedSession.setupLocalDescription","borogove/calls/Session.hx",646,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_691_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",691,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_697_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",697,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_698_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",698,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_689_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",689,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_360_fromSessionInitiate,"borogove.calls.InitiatedSession","fromSessionInitiate",0xba506588,"borogove.calls.InitiatedSession.fromSessionInitiate","borogove/calls/Session.hx",360,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_331_boot,"borogove.calls.InitiatedSession","boot",0x66dde4cf,"borogove.calls.InitiatedSession.boot","borogove/calls/Session.hx",331,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_695_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",695,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_701_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",701,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_702_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",702,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_693_onPeerConnection,"borogove.calls.InitiatedSession","onPeerConnection",0xb35109fc,"borogove.calls.InitiatedSession.onPeerConnection","borogove/calls/Session.hx",693,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_364_fromSessionInitiate,"borogove.calls.InitiatedSession","fromSessionInitiate",0xba506588,"borogove.calls.InitiatedSession.fromSessionInitiate","borogove/calls/Session.hx",364,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_7acc2c8020739c2c_335_boot,"borogove.calls.InitiatedSession","boot",0x66dde4cf,"borogove.calls.InitiatedSession.boot","borogove/calls/Session.hx",335,0x33a79030)
namespace borogove{
namespace calls{
void InitiatedSession_obj::__construct( ::borogove::Client client, ::borogove::JID counterpart,::String sid, ::borogove::calls::SessionDescription remoteDescription){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_331_new)
-HXLINE( 348) this->candidatesDone = null();
-HXLINE( 346) this->afterMedia = null();
-HXLINE( 345) this->accepted = false;
-HXLINE( 344) this->queuedOutboundCandidate = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 343) this->queuedInboundTransportInfo = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 342) this->peerDtlsSetup = HX_("actpass",23,e7,c3,6b);
-HXLINE( 341) this->pc = null();
-HXLINE( 340) this->localDescription = null();
-HXLINE( 339) this->remoteDescription = null();
-HXLINE( 352) this->client = client;
-HXLINE( 353) this->counterpart = counterpart;
-HXLINE( 354) this->_sid = sid;
-HXLINE( 355) this->remoteDescription = remoteDescription;
-HXLINE( 356) this->initiator = ::hx::IsNull( remoteDescription );
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_335_new)
+HXLINE( 352) this->candidatesDone = null();
+HXLINE( 350) this->afterMedia = null();
+HXLINE( 349) this->accepted = false;
+HXLINE( 348) this->queuedOutboundCandidate = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 347) this->queuedInboundTransportInfo = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 346) this->peerDtlsSetup = HX_("actpass",23,e7,c3,6b);
+HXLINE( 345) this->pc = null();
+HXLINE( 344) this->localDescription = null();
+HXLINE( 343) this->remoteDescription = null();
+HXLINE( 356) this->client = client;
+HXLINE( 357) this->counterpart = counterpart;
+HXLINE( 358) this->_sid = sid;
+HXLINE( 359) this->remoteDescription = remoteDescription;
+HXLINE( 360) this->initiator = ::hx::IsNull( remoteDescription );
}
Dynamic InitiatedSession_obj::__CreateEmpty() { return new InitiatedSession_obj; }
@@ -230,24 +227,24 @@ void *InitiatedSession_obj::_hx_getInterface(int inHash) {
}
::String InitiatedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_373_get_sid)
-HXDLIN( 373) return this->_sid;
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_377_get_sid)
+HXDLIN( 377) return this->_sid;
}
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_sid,return )
::String InitiatedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_377_get_chatId)
-HXDLIN( 377) return this->counterpart->asBare()->asString();
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_381_get_chatId)
+HXDLIN( 381) return this->counterpart->asBare()->asString();
}
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,get_chatId,return )
void InitiatedSession_obj::ring(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_382_ring)
-HXDLIN( 382) this->client->trigger(HX_("call/ring",01,8e,91,54), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_386_ring)
+HXDLIN( 386) this->client->trigger(HX_("call/ring",01,8e,91,54), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("session",56,17,98,93),::hx::ObjectPtr<OBJ_>(this))));
}
@@ -255,15 +252,15 @@ HXDLIN( 382) this->client->trigger(HX_("call/ring",01,8e,91,54), ::Dynamic(::hx
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,ring,(void))
void InitiatedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_387_retract)
-HXDLIN( 387) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 387) ::String _hx_tmp1 = (HX_("Tried to retract session in wrong state: ",e1,1c,0c,db) + this->get_sid());
-HXDLIN( 387) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_391_retract)
+HXDLIN( 391) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 391) ::String _hx_tmp1 = (HX_("Tried to retract session in wrong state: ",e1,1c,0c,db) + this->get_sid());
+HXDLIN( 391) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.InitiatedSession",f1,c4,07,ac))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("retract",01,e2,b9,fc))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),387)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),391)));
}
@@ -272,33 +269,33 @@ HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,retract,(void))
void InitiatedSession_obj::accept(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::calls::Media m){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_394_accept)
-HXLINE( 394) return (m->media == HX_("audio",d6,78,80,27));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_398_accept)
+HXLINE( 398) return (m->media == HX_("audio",d6,78,80,27));
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::borogove::calls::Media m){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_395_accept)
-HXLINE( 395) return (m->media == HX_("video",7b,14,fc,36));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_399_accept)
+HXLINE( 399) return (m->media == HX_("video",7b,14,fc,36));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_391_accept)
-HXLINE( 392) bool _hx_tmp;
-HXDLIN( 392) if (!(this->accepted)) {
-HXLINE( 392) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_395_accept)
+HXLINE( 396) bool _hx_tmp;
+HXDLIN( 396) if (!(this->accepted)) {
+HXLINE( 396) _hx_tmp = ::hx::IsNull( this->remoteDescription );
}
else {
-HXLINE( 392) _hx_tmp = true;
+HXLINE( 396) _hx_tmp = true;
}
-HXDLIN( 392) if (_hx_tmp) {
-HXLINE( 392) return;
+HXDLIN( 396) if (_hx_tmp) {
+HXLINE( 396) return;
}
-HXLINE( 393) this->accepted = true;
-HXLINE( 394) bool audio = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_0())) );
-HXLINE( 395) bool video = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_1())) );
-HXLINE( 396) this->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 397) this->accepted = true;
+HXLINE( 398) bool audio = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_0())) );
+HXLINE( 399) bool video = ::hx::IsNotNull( ::Lambda_obj::find(this->remoteDescription->media, ::Dynamic(new _hx_Closure_1())) );
+HXLINE( 400) this->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("session",56,17,98,93),::hx::ObjectPtr<OBJ_>(this))
->setFixed(1,HX_("audio",d6,78,80,27),audio)
->setFixed(2,HX_("video",7b,14,fc,36),video)));
@@ -308,30 +305,30 @@ HXLINE( 396) this->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::h
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,accept,(void))
void InitiatedSession_obj::hangup(){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_400_hangup)
-HXLINE( 401) ::borogove::Client _hx_tmp = this->client;
-HXLINE( 402) ::String _hx_tmp1 = this->counterpart->asString();
-HXDLIN( 402) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_404_hangup)
+HXLINE( 405) ::borogove::Client _hx_tmp = this->client;
+HXLINE( 406) ::String _hx_tmp1 = this->counterpart->asString();
+HXDLIN( 406) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp1)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
-HXLINE( 401) _hx_tmp->sendStanza(_hx_tmp2->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
+HXLINE( 405) _hx_tmp->sendStanza(_hx_tmp2->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("sid",0e,9f,57,00),this->get_sid())
->setFixed(1,HX_("action",b6,3b,46,16),HX_("session-terminate",6a,23,dc,12))
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))))->tag(HX_("reason",c4,0f,9d,fc),null())->tag(HX_("success",c3,25,4e,b8),null())->up()->up()->up());
-HXLINE( 407) this->terminate();
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))),null())->tag(HX_("reason",c4,0f,9d,fc),null(),null())->tag(HX_("success",c3,25,4e,b8),null(),null())->up()->up()->up());
+HXLINE( 411) this->terminate();
}
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,hangup,(void))
::borogove::calls::OutgoingSession InitiatedSession_obj::initiate( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_411_initiate)
-HXLINE( 412) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 412) ::String _hx_tmp1 = (HX_("Trying to initiate already initiated session: ",84,56,c8,79) + this->get_sid());
-HXDLIN( 412) _hx_tmp(_hx_tmp1,::hx::SourceInfo(HX_("borogove/calls/Session.hx",30,90,a7,33),412,HX_("borogove.calls.InitiatedSession",f1,c4,07,ac),HX_("initiate",59,6a,8f,5f)));
-HXLINE( 413) HX_STACK_DO_THROW(HX_("already initiated",63,a5,36,1a));
-HXDLIN( 413) return null();
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_415_initiate)
+HXLINE( 416) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 416) ::String _hx_tmp1 = (HX_("Trying to initiate already initiated session: ",84,56,c8,79) + this->get_sid());
+HXDLIN( 416) _hx_tmp(_hx_tmp1,::hx::SourceInfo(HX_("borogove/calls/Session.hx",30,90,a7,33),416,HX_("borogove.calls.InitiatedSession",f1,c4,07,ac),HX_("initiate",59,6a,8f,5f)));
+HXLINE( 417) HX_STACK_DO_THROW(HX_("already initiated",63,a5,36,1a));
+HXDLIN( 417) return null();
}
@@ -340,60 +337,60 @@ HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,initiate,return )
void InitiatedSession_obj::terminate(){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::InitiatedSession,_gthis, ::borogove::Stanza,event, ::borogove::ChatMessage,msg) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_432_terminate)
-HXLINE( 433) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
-HXLINE( 434) ::borogove::Client _gthis1 = _gthis->client;
-HXLINE( 435) ::String _hx_tmp = _gthis->counterpart->asString();
-HXLINE( 434) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_436_terminate)
+HXLINE( 437) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+HXLINE( 438) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 439) ::String _hx_tmp = _gthis->counterpart->asString();
+HXLINE( 438) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),msg->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->localId)
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe)))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe))),null()));
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_417_terminate)
-HXDLIN( 417) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 418) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 418) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 418) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_421_terminate)
+HXDLIN( 421) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 422) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 422) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 422) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
-HXLINE( 420) if (::hx::IsNull( this->pc )) {
-HXLINE( 420) return;
+HXLINE( 424) if (::hx::IsNull( this->pc )) {
+HXLINE( 424) return;
}
-HXLINE( 421) ::borogove::calls::PeerConnection oldPc = this->pc;
-HXLINE( 422) this->pc = null();
-HXLINE( 423) oldPc->close();
-HXLINE( 424) {
-HXLINE( 424) int _g = 0;
-HXDLIN( 424) ::Array< ::Dynamic> _g1 = oldPc->getTransceivers();
-HXDLIN( 424) while((_g < _g1->length)){
-HXLINE( 424) ::Dynamic tranceiver = _g1->__get(_g);
-HXDLIN( 424) _g = (_g + 1);
-HXLINE( 425) bool _hx_tmp2;
-HXDLIN( 425) if (::hx::IsNotNull( tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
-HXLINE( 425) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
+HXLINE( 425) ::borogove::calls::PeerConnection oldPc = this->pc;
+HXLINE( 426) this->pc = null();
+HXLINE( 427) oldPc->close();
+HXLINE( 428) {
+HXLINE( 428) int _g = 0;
+HXDLIN( 428) ::Array< ::Dynamic> _g1 = oldPc->getTransceivers();
+HXDLIN( 428) while((_g < _g1->length)){
+HXLINE( 428) ::Dynamic tranceiver = _g1->__get(_g);
+HXDLIN( 428) _g = (_g + 1);
+HXLINE( 429) bool _hx_tmp2;
+HXDLIN( 429) if (::hx::IsNotNull( tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
+HXLINE( 429) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
}
else {
-HXLINE( 425) _hx_tmp2 = false;
+HXLINE( 429) _hx_tmp2 = false;
}
-HXDLIN( 425) if (_hx_tmp2) {
-HXLINE( 426) ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->stop();
+HXDLIN( 429) if (_hx_tmp2) {
+HXLINE( 430) ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(tranceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->stop();
}
}
}
-HXLINE( 430) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("finish",53,40,7f,86), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 434) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("finish",53,40,7f,86), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 431) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->counterpart,this->client,event);
-HXLINE( 432) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
-HXLINE( 440) {
-HXLINE( 440) ::borogove::Client tmp = this->client;
-HXDLIN( 440) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
-HXDLIN( 440) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 440) ::Dynamic this1 = tmp1->jingleSessions;
-HXDLIN( 440) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 435) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->counterpart,this->client,event);
+HXLINE( 436) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
+HXLINE( 444) {
+HXLINE( 444) ::borogove::Client tmp = this->client;
+HXDLIN( 444) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 444) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 444) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 444) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
}
}
}
@@ -412,108 +409,104 @@ void InitiatedSession_obj::contentAdd( ::borogove::Stanza stanza){
bool _hx_run( ::borogove::calls::Media m){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::Media,m) HXARGC(1)
bool _hx_run( ::borogove::calls::Media addM){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_467_contentAdd)
-HXLINE( 467) return (addM->mid == m->mid);
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_471_contentAdd)
+HXLINE( 471) return (addM->mid == m->mid);
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_467_contentAdd)
-HXLINE( 467) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(m->contentElement(false)->attr,HX_("senders",1e,f7,a9,a8))) );
-HXDLIN( 467) return (_hx_tmp != ( (::String)(::Reflect_obj::field(( ( ::borogove::calls::Media)(::Lambda_obj::find(addThis->media, ::Dynamic(new _hx_Closure_1(m)))) )->contentElement(false)->attr,HX_("senders",1e,f7,a9,a8))) ));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_471_contentAdd)
+HXLINE( 471) ::String _hx_tmp = m->contentElement(false)->attr->get_string(HX_("senders",1e,f7,a9,a8));
+HXDLIN( 471) return ::hx::IsNotEq( _hx_tmp,( ( ::borogove::calls::Media)(::Lambda_obj::find(addThis->media, ::Dynamic(new _hx_Closure_1(m)))) )->contentElement(false)->attr->get(HX_("senders",1e,f7,a9,a8)) );
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_466_contentAdd)
-HXLINE( 466) if (::hx::IsNotNull( ::Lambda_obj::find(gonnaAccept->media, ::Dynamic(new _hx_Closure_2(addThis))) )) {
-HXLINE( 469) if (::hx::IsNull( _gthis->counterpart )) {
-HXLINE( 469) HX_STACK_DO_THROW(HX_("no counterpart?",af,8b,69,9d));
- }
-HXLINE( 470) ::String modify = _gthis->get_sid();
-HXDLIN( 470) ::borogove::Stanza modify1 = gonnaAccept->toStanza(HX_("content-modify",4e,70,8f,a8),modify,_gthis->initiator);
-HXLINE( 471) {
-HXLINE( 471) ::Dynamic this1 = modify1->attr;
-HXDLIN( 471) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_470_contentAdd)
+HXLINE( 470) if (::hx::IsNotNull( ::Lambda_obj::find(gonnaAccept->media, ::Dynamic(new _hx_Closure_2(addThis))) )) {
+HXLINE( 473) if (::hx::IsNull( _gthis->counterpart )) {
+HXLINE( 473) HX_STACK_DO_THROW(HX_("no counterpart?",af,8b,69,9d));
}
-HXLINE( 472) {
-HXLINE( 472) ::Dynamic this2 = modify1->attr;
-HXDLIN( 472) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
- }
-HXLINE( 473) _gthis->client->sendStanza(modify1);
+HXLINE( 474) ::String modify = _gthis->get_sid();
+HXDLIN( 474) ::borogove::Stanza modify1 = gonnaAccept->toStanza(HX_("content-modify",4e,70,8f,a8),modify,_gthis->initiator);
+HXLINE( 475) ::haxe::ds::StringMap modify2 = modify1->attr;
+HXDLIN( 475) modify2->set(HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+HXLINE( 476) ::haxe::ds::StringMap modify3 = modify1->attr;
+HXDLIN( 476) modify3->set(HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+HXLINE( 477) _gthis->client->sendStanza(modify1);
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_460_contentAdd)
-HXLINE( 461) ::borogove::calls::InitiatedSession _gthis1 = _gthis;
-HXLINE( 463) ::Array< ::Dynamic> _this = addThis->media;
-HXDLIN( 463) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 463) {
-HXLINE( 463) int _g = 0;
-HXDLIN( 463) int _g1 = _this->length;
-HXDLIN( 463) while((_g < _g1)){
-HXLINE( 463) _g = (_g + 1);
-HXDLIN( 463) int i = (_g - 1);
-HXDLIN( 463) {
-HXLINE( 463) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
-HXDLIN( 463) result->__unsafe_set(i,inValue);
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_464_contentAdd)
+HXLINE( 465) ::borogove::calls::InitiatedSession _gthis1 = _gthis;
+HXLINE( 467) ::Array< ::Dynamic> _this = addThis->media;
+HXDLIN( 467) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 467) {
+HXLINE( 467) int _g = 0;
+HXDLIN( 467) int _g1 = _this->length;
+HXDLIN( 467) while((_g < _g1)){
+HXLINE( 467) _g = (_g + 1);
+HXDLIN( 467) int i = (_g - 1);
+HXDLIN( 467) {
+HXLINE( 467) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
+HXDLIN( 467) result->__unsafe_set(i,inValue);
}
}
}
-HXLINE( 461) _gthis1->setupLocalDescription(HX_("content-accept",dc,ee,cb,f2),result,false, ::Dynamic(new _hx_Closure_3(_gthis,addThis)));
-HXLINE( 477) _gthis->afterMedia = null();
+HXLINE( 465) _gthis1->setupLocalDescription(HX_("content-accept",dc,ee,cb,f2),result,false, ::Dynamic(new _hx_Closure_3(_gthis,addThis)));
+HXLINE( 481) _gthis->afterMedia = null();
}
HX_END_LOCAL_FUNC0((void))
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_459_contentAdd)
-HXLINE( 460) _gthis->afterMedia = ::Dynamic(new _hx_Closure_4(_gthis,addThis));
-HXLINE( 479) return _gthis->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_463_contentAdd)
+HXLINE( 464) _gthis->afterMedia = ::Dynamic(new _hx_Closure_4(_gthis,addThis));
+HXLINE( 483) return _gthis->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("session",56,17,98,93),_gthis)
->setFixed(1,HX_("audio",d6,78,80,27),audio->__get(0))
->setFixed(2,HX_("video",7b,14,fc,36),video->__get(0))));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_444_contentAdd)
-HXDLIN( 444) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 445) if (::hx::IsNull( this->remoteDescription )) {
-HXLINE( 445) HX_STACK_DO_THROW(HX_("Got content-add before session-accept",59,44,5e,1c));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_448_contentAdd)
+HXDLIN( 448) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 449) if (::hx::IsNull( this->remoteDescription )) {
+HXLINE( 449) HX_STACK_DO_THROW(HX_("Got content-add before session-accept",59,44,5e,1c));
}
-HXLINE( 447) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,this->initiator,this->remoteDescription);
-HXLINE( 448) ::Array< bool > video = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_21,1);
-HXLINE( 449) ::Array< bool > audio = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_22,1);
-HXLINE( 450) {
-HXLINE( 450) int _g = 0;
-HXDLIN( 450) ::Array< ::Dynamic> _g1 = addThis->media;
-HXDLIN( 450) while((_g < _g1->length)){
+HXLINE( 451) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,this->initiator,this->remoteDescription);
+HXLINE( 452) ::Array< bool > video = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_21,1);
+HXLINE( 453) ::Array< bool > audio = ::Array_obj< bool >::fromData( _hx_array_data_ac07c4f1_22,1);
+HXLINE( 454) {
+HXLINE( 454) int _g = 0;
+HXDLIN( 454) ::Array< ::Dynamic> _g1 = addThis->media;
+HXDLIN( 454) while((_g < _g1->length)){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::calls::Attribute attr){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_451_contentAdd)
-HXLINE( 451) if ((attr->key != HX_("sendrecv",6e,1e,9c,f4))) {
-HXLINE( 451) return (attr->key == HX_("sendonly",b4,56,a7,f2));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_455_contentAdd)
+HXLINE( 455) if ((attr->key != HX_("sendrecv",6e,1e,9c,f4))) {
+HXLINE( 455) return (attr->key == HX_("sendonly",b4,56,a7,f2));
}
else {
-HXLINE( 451) return true;
+HXLINE( 455) return true;
}
-HXDLIN( 451) return false;
+HXDLIN( 455) return false;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 450) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
-HXDLIN( 450) _g = (_g + 1);
-HXLINE( 451) if (::Lambda_obj::exists(m->attributes, ::Dynamic(new _hx_Closure_0()))) {
-HXLINE( 452) if ((m->media == HX_("video",7b,14,fc,36))) {
-HXLINE( 452) video[0] = true;
+HXLINE( 454) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 454) _g = (_g + 1);
+HXLINE( 455) if (::Lambda_obj::exists(m->attributes, ::Dynamic(new _hx_Closure_0()))) {
+HXLINE( 456) if ((m->media == HX_("video",7b,14,fc,36))) {
+HXLINE( 456) video[0] = true;
}
-HXLINE( 453) if ((m->media == HX_("audio",d6,78,80,27))) {
-HXLINE( 453) audio[0] = true;
+HXLINE( 457) if ((m->media == HX_("audio",d6,78,80,27))) {
+HXLINE( 457) audio[0] = true;
}
}
-HXLINE( 455) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
+HXLINE( 459) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
}
}
-HXLINE( 457) this->remoteDescription = this->remoteDescription->addContent(addThis);
-HXLINE( 459) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 459) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 461) this->remoteDescription = this->remoteDescription->addContent(addThis);
+HXLINE( 463) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 463) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sdp",bf,9a,57,00),this->remoteDescription->toSdp())
->setFixed(1,HX_("type",ba,f2,08,4d),cpp::Struct(rtc::Description::Type::Offer)))), ::Dynamic(new _hx_Closure_5(video,_gthis,addThis,audio)),null());
}
@@ -522,23 +515,23 @@ HXDLIN( 459) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDe
HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,contentAdd,(void))
void InitiatedSession_obj::contentAccept( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_484_contentAccept)
-HXLINE( 485) if (::hx::IsNull( this->remoteDescription )) {
-HXLINE( 485) HX_STACK_DO_THROW(HX_("Got content-accept before session-accept",10,3c,4f,73));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_488_contentAccept)
+HXLINE( 489) if (::hx::IsNull( this->remoteDescription )) {
+HXLINE( 489) HX_STACK_DO_THROW(HX_("Got content-accept before session-accept",10,3c,4f,73));
}
-HXLINE( 488) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,!(this->initiator),this->remoteDescription);
-HXLINE( 489) {
-HXLINE( 489) int _g = 0;
-HXDLIN( 489) ::Array< ::Dynamic> _g1 = addThis->media;
-HXDLIN( 489) while((_g < _g1->length)){
-HXLINE( 489) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
-HXDLIN( 489) _g = (_g + 1);
-HXLINE( 490) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
+HXLINE( 492) ::borogove::calls::SessionDescription addThis = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,!(this->initiator),this->remoteDescription);
+HXLINE( 493) {
+HXLINE( 493) int _g = 0;
+HXDLIN( 493) ::Array< ::Dynamic> _g1 = addThis->media;
+HXDLIN( 493) while((_g < _g1->length)){
+HXLINE( 493) ::borogove::calls::Media m = _g1->__get(_g).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 493) _g = (_g + 1);
+HXLINE( 494) m->attributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),this->peerDtlsSetup));
}
}
-HXLINE( 492) this->remoteDescription = this->remoteDescription->addContent(addThis);
-HXLINE( 493) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 493) _hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 496) this->remoteDescription = this->remoteDescription->addContent(addThis);
+HXLINE( 497) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 497) _hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sdp",bf,9a,57,00),this->remoteDescription->toSdp())
->setFixed(1,HX_("type",ba,f2,08,4d),cpp::Struct(rtc::Description::Type::Answer))));
}
@@ -549,249 +542,249 @@ HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,contentAccept,(void))
::Dynamic InitiatedSession_obj::transportInfo( ::borogove::Stanza stanza){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
void _hx_run(::cpp::VirtualArray _){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_511_transportInfo)
-HXLINE( 511) return;
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_515_transportInfo)
+HXLINE( 515) return;
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_497_transportInfo)
-HXDLIN( 497) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 498) bool _hx_tmp;
-HXDLIN( 498) if (::hx::IsNotNull( this->pc )) {
-HXLINE( 498) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_501_transportInfo)
+HXDLIN( 501) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 502) bool _hx_tmp;
+HXDLIN( 502) if (::hx::IsNotNull( this->pc )) {
+HXLINE( 502) _hx_tmp = ::hx::IsNull( this->remoteDescription );
}
else {
-HXLINE( 498) _hx_tmp = true;
+HXLINE( 502) _hx_tmp = true;
}
-HXDLIN( 498) if (_hx_tmp) {
-HXLINE( 499) this->queuedInboundTransportInfo->push(stanza);
-HXLINE( 500) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXDLIN( 502) if (_hx_tmp) {
+HXLINE( 503) this->queuedInboundTransportInfo->push(stanza);
+HXLINE( 504) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 503) ::Array< ::Dynamic> _this = ::borogove::calls::IceCandidate_obj::fromStanza(stanza);
-HXDLIN( 503) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 503) {
-HXLINE( 503) int _g = 0;
-HXDLIN( 503) int _g1 = _this->length;
-HXDLIN( 503) while((_g < _g1)){
-HXLINE( 503) _g = (_g + 1);
-HXDLIN( 503) int i = (_g - 1);
-HXDLIN( 503) {
-HXLINE( 503) ::borogove::calls::IceCandidate candidate = ( ( ::borogove::calls::IceCandidate)(_hx_array_unsafe_get(_this,i)) );
-HXLINE( 504) int index = _gthis->remoteDescription->identificationTags->indexOf(candidate->sdpMid,null());
-HXLINE( 505) ::borogove::calls::PeerConnection _gthis1 = _gthis->pc;
-HXLINE( 506) ::String inValue = candidate->toSdp();
-HXLINE( 508) ::Dynamic inValue1;
-HXDLIN( 508) if ((index < 0)) {
-HXLINE( 508) inValue1 = null();
+HXLINE( 507) ::Array< ::Dynamic> _this = ::borogove::calls::IceCandidate_obj::fromStanza(stanza);
+HXDLIN( 507) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN( 507) {
+HXLINE( 507) int _g = 0;
+HXDLIN( 507) int _g1 = _this->length;
+HXDLIN( 507) while((_g < _g1)){
+HXLINE( 507) _g = (_g + 1);
+HXDLIN( 507) int i = (_g - 1);
+HXDLIN( 507) {
+HXLINE( 507) ::borogove::calls::IceCandidate candidate = ( ( ::borogove::calls::IceCandidate)(_hx_array_unsafe_get(_this,i)) );
+HXLINE( 508) int index = _gthis->remoteDescription->identificationTags->indexOf(candidate->sdpMid,null());
+HXLINE( 509) ::borogove::calls::PeerConnection _gthis1 = _gthis->pc;
+HXLINE( 510) ::String inValue = candidate->toSdp();
+HXLINE( 512) ::Dynamic inValue1;
+HXDLIN( 512) if ((index < 0)) {
+HXLINE( 512) inValue1 = null();
}
else {
-HXLINE( 508) inValue1 = index;
+HXLINE( 512) inValue1 = index;
}
-HXLINE( 503) ::Dynamic inValue2 = _gthis1->addIceCandidate( ::Dynamic(::hx::Anon_obj::Create(4)
+HXLINE( 507) ::Dynamic inValue2 = _gthis1->addIceCandidate( ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("usernameFragment",06,a8,37,89),candidate->ufrag)
->setFixed(1,HX_("candidate",43,34,d8,d0),inValue)
->setFixed(2,HX_("sdpMid",09,30,5f,d9),candidate->sdpMid)
->setFixed(3,HX_("sdpMLineIndex",f0,ab,d6,e2),inValue1)));
-HXDLIN( 503) result->__unsafe_set(i,inValue2);
+HXDLIN( 507) result->__unsafe_set(i,inValue2);
}
}
}
-HXDLIN( 503) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_0()),null());
+HXDLIN( 507) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,transportInfo,return )
void InitiatedSession_obj::addMedia(::Array< ::Dynamic> streams){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_515_addMedia)
-HXLINE( 516) if (::hx::IsNull( this->pc )) {
-HXLINE( 516) HX_STACK_DO_THROW(HX_("tried to add media before PeerConnection exists",25,49,19,b2));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_519_addMedia)
+HXLINE( 520) if (::hx::IsNull( this->pc )) {
+HXLINE( 520) HX_STACK_DO_THROW(HX_("tried to add media before PeerConnection exists",25,49,19,b2));
}
-HXLINE( 518) ::Array< ::Dynamic> _this = this->localDescription->media;
-HXDLIN( 518) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN( 518) {
-HXLINE( 518) int _g = 0;
-HXDLIN( 518) int _g1 = _this->length;
-HXDLIN( 518) while((_g < _g1)){
-HXLINE( 518) _g = (_g + 1);
-HXDLIN( 518) int i = (_g - 1);
-HXDLIN( 518) {
-HXLINE( 518) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
-HXDLIN( 518) result->__unsafe_set(i,inValue);
+HXLINE( 522) ::Array< ::Dynamic> _this = this->localDescription->media;
+HXDLIN( 522) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN( 522) {
+HXLINE( 522) int _g = 0;
+HXDLIN( 522) int _g1 = _this->length;
+HXDLIN( 522) while((_g < _g1)){
+HXLINE( 522) _g = (_g + 1);
+HXDLIN( 522) int i = (_g - 1);
+HXDLIN( 522) {
+HXLINE( 522) ::String inValue = ( ( ::borogove::calls::Media)(_hx_array_unsafe_get(_this,i)) )->mid;
+HXDLIN( 522) result->__unsafe_set(i,inValue);
}
}
}
-HXLINE( 519) {
-HXLINE( 519) int _g2 = 0;
-HXDLIN( 519) while((_g2 < streams->length)){
-HXLINE( 519) ::borogove::calls::MediaStream stream = streams->__get(_g2).StaticCast< ::borogove::calls::MediaStream >();
-HXDLIN( 519) _g2 = (_g2 + 1);
-HXLINE( 520) {
-HXLINE( 520) int _g3 = 0;
-HXDLIN( 520) ::Array< ::Dynamic> _g4 = stream->getTracks();
-HXDLIN( 520) while((_g3 < _g4->length)){
-HXLINE( 520) ::borogove::calls::MediaStreamTrack track = _g4->__get(_g3).StaticCast< ::borogove::calls::MediaStreamTrack >();
-HXDLIN( 520) _g3 = (_g3 + 1);
-HXLINE( 521) this->pc->addTrack(track,stream);
+HXLINE( 523) {
+HXLINE( 523) int _g2 = 0;
+HXDLIN( 523) while((_g2 < streams->length)){
+HXLINE( 523) ::borogove::calls::MediaStream stream = streams->__get(_g2).StaticCast< ::borogove::calls::MediaStream >();
+HXDLIN( 523) _g2 = (_g2 + 1);
+HXLINE( 524) {
+HXLINE( 524) int _g3 = 0;
+HXDLIN( 524) ::Array< ::Dynamic> _g4 = stream->getTracks();
+HXDLIN( 524) while((_g3 < _g4->length)){
+HXLINE( 524) ::borogove::calls::MediaStreamTrack track = _g4->__get(_g3).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 524) _g3 = (_g3 + 1);
+HXLINE( 525) this->pc->addTrack(track,stream);
}
}
}
}
-HXLINE( 525) this->setupLocalDescription(HX_("content-add",cd,a9,a1,10),result,true,null());
+HXLINE( 529) this->setupLocalDescription(HX_("content-add",cd,a9,a1,10),result,true,null());
}
HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,addMedia,(void))
int InitiatedSession_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_530_callStatus)
-HXDLIN( 530) bool _hx_tmp;
-HXDLIN( 530) bool _hx_tmp1;
-HXDLIN( 530) if (::hx::IsNotNull( this->pc )) {
-HXDLIN( 530) _hx_tmp1 = (this->pc->get_connectionState() == HX_("connecting",38,9f,12,f5));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_534_callStatus)
+HXDLIN( 534) bool _hx_tmp;
+HXDLIN( 534) bool _hx_tmp1;
+HXDLIN( 534) if (::hx::IsNotNull( this->pc )) {
+HXDLIN( 534) _hx_tmp1 = (this->pc->get_connectionState() == HX_("connecting",38,9f,12,f5));
}
else {
-HXDLIN( 530) _hx_tmp1 = true;
+HXDLIN( 534) _hx_tmp1 = true;
}
-HXDLIN( 530) if (!(_hx_tmp1)) {
-HXDLIN( 530) _hx_tmp = (this->pc->get_connectionState() == HX_("new",60,d0,53,00));
+HXDLIN( 534) if (!(_hx_tmp1)) {
+HXDLIN( 534) _hx_tmp = (this->pc->get_connectionState() == HX_("new",60,d0,53,00));
}
else {
-HXDLIN( 530) _hx_tmp = true;
+HXDLIN( 534) _hx_tmp = true;
}
-HXDLIN( 530) if (_hx_tmp) {
-HXLINE( 531) return 3;
+HXDLIN( 534) if (_hx_tmp) {
+HXLINE( 535) return 3;
}
else {
-HXLINE( 532) bool _hx_tmp2;
-HXDLIN( 532) if ((this->pc->get_connectionState() != HX_("failed",bd,c5,fe,e7))) {
-HXLINE( 532) _hx_tmp2 = (this->pc->get_connectionState() == HX_("closed",ac,a9,51,0e));
+HXLINE( 536) bool _hx_tmp2;
+HXDLIN( 536) if ((this->pc->get_connectionState() != HX_("failed",bd,c5,fe,e7))) {
+HXLINE( 536) _hx_tmp2 = (this->pc->get_connectionState() == HX_("closed",ac,a9,51,0e));
}
else {
-HXLINE( 532) _hx_tmp2 = true;
+HXLINE( 536) _hx_tmp2 = true;
}
-HXDLIN( 532) if (_hx_tmp2) {
-HXLINE( 533) return 5;
+HXDLIN( 536) if (_hx_tmp2) {
+HXLINE( 537) return 5;
}
else {
-HXLINE( 535) return 4;
+HXLINE( 539) return 4;
}
}
-HXLINE( 530) return null();
+HXLINE( 534) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,callStatus,return )
::Array< ::Dynamic> InitiatedSession_obj::audioTracks(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_540_audioTracks)
-HXLINE( 541) if (::hx::IsNull( this->pc )) {
-HXLINE( 541) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_544_audioTracks)
+HXLINE( 545) if (::hx::IsNull( this->pc )) {
+HXLINE( 545) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 542) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
-HXDLIN( 542) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 542) {
-HXLINE( 542) int _g1 = 0;
-HXDLIN( 542) while((_g1 < _this->length)){
-HXLINE( 542) ::Dynamic v = _this->__get(_g1);
-HXDLIN( 542) _g1 = (_g1 + 1);
-HXLINE( 543) bool _hx_tmp;
-HXDLIN( 543) bool _hx_tmp1;
-HXDLIN( 543) bool _hx_tmp2;
-HXDLIN( 543) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
-HXLINE( 543) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
+HXLINE( 546) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
+HXDLIN( 546) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 546) {
+HXLINE( 546) int _g1 = 0;
+HXDLIN( 546) while((_g1 < _this->length)){
+HXLINE( 546) ::Dynamic v = _this->__get(_g1);
+HXDLIN( 546) _g1 = (_g1 + 1);
+HXLINE( 547) bool _hx_tmp;
+HXDLIN( 547) bool _hx_tmp1;
+HXDLIN( 547) bool _hx_tmp2;
+HXDLIN( 547) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
+HXLINE( 547) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
}
else {
-HXLINE( 543) _hx_tmp2 = false;
+HXLINE( 547) _hx_tmp2 = false;
}
-HXDLIN( 543) if (_hx_tmp2) {
-HXLINE( 543) _hx_tmp1 = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("audio",d6,78,80,27));
+HXDLIN( 547) if (_hx_tmp2) {
+HXLINE( 547) _hx_tmp1 = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("audio",d6,78,80,27));
}
else {
-HXLINE( 543) _hx_tmp1 = false;
+HXLINE( 547) _hx_tmp1 = false;
}
-HXDLIN( 543) if (_hx_tmp1) {
-HXLINE( 543) _hx_tmp = !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
+HXDLIN( 547) if (_hx_tmp1) {
+HXLINE( 547) _hx_tmp = !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
}
else {
-HXLINE( 543) _hx_tmp = false;
+HXLINE( 547) _hx_tmp = false;
}
-HXLINE( 542) if (_hx_tmp) {
-HXLINE( 542) _g->push(v);
+HXLINE( 546) if (_hx_tmp) {
+HXLINE( 546) _g->push(v);
}
}
}
-HXDLIN( 542) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 542) {
-HXLINE( 542) int _g2 = 0;
-HXDLIN( 542) int _g3 = _g->length;
-HXDLIN( 542) while((_g2 < _g3)){
-HXLINE( 542) _g2 = (_g2 + 1);
-HXDLIN( 542) int i = (_g2 - 1);
-HXDLIN( 542) {
-HXLINE( 542) ::borogove::calls::MediaStreamTrack inValue = ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(_hx_array_unsafe_get(_g,i)->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) );
-HXDLIN( 542) result->__unsafe_set(i,inValue);
+HXDLIN( 546) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 546) {
+HXLINE( 546) int _g2 = 0;
+HXDLIN( 546) int _g3 = _g->length;
+HXDLIN( 546) while((_g2 < _g3)){
+HXLINE( 546) _g2 = (_g2 + 1);
+HXDLIN( 546) int i = (_g2 - 1);
+HXDLIN( 546) {
+HXLINE( 546) ::borogove::calls::MediaStreamTrack inValue = ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(_hx_array_unsafe_get(_g,i)->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) );
+HXDLIN( 546) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 542) return result;
+HXDLIN( 546) return result;
}
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,audioTracks,return )
::Array< ::Dynamic> InitiatedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_548_videoTracks)
-HXLINE( 549) if (::hx::IsNull( this->pc )) {
-HXLINE( 549) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_552_videoTracks)
+HXLINE( 553) if (::hx::IsNull( this->pc )) {
+HXLINE( 553) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 550) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
-HXDLIN( 550) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 550) {
-HXLINE( 550) int _g1 = 0;
-HXDLIN( 550) while((_g1 < _this->length)){
-HXLINE( 550) ::Dynamic v = _this->__get(_g1);
-HXDLIN( 550) _g1 = (_g1 + 1);
-HXLINE( 551) bool _hx_tmp;
-HXDLIN( 551) bool _hx_tmp1;
-HXDLIN( 551) bool _hx_tmp2;
-HXDLIN( 551) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
-HXLINE( 551) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
+HXLINE( 554) ::Array< ::Dynamic> _this = this->pc->getTransceivers();
+HXDLIN( 554) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 554) {
+HXLINE( 554) int _g1 = 0;
+HXDLIN( 554) while((_g1 < _this->length)){
+HXLINE( 554) ::Dynamic v = _this->__get(_g1);
+HXDLIN( 554) _g1 = (_g1 + 1);
+HXLINE( 555) bool _hx_tmp;
+HXDLIN( 555) bool _hx_tmp1;
+HXDLIN( 555) bool _hx_tmp2;
+HXDLIN( 555) if (::hx::IsNotNull( v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic) )) {
+HXLINE( 555) _hx_tmp2 = ::hx::IsNotNull( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
}
else {
-HXLINE( 551) _hx_tmp2 = false;
+HXLINE( 555) _hx_tmp2 = false;
}
-HXDLIN( 551) if (_hx_tmp2) {
-HXLINE( 551) _hx_tmp1 = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("video",7b,14,fc,36));
+HXDLIN( 555) if (_hx_tmp2) {
+HXLINE( 555) _hx_tmp1 = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("video",7b,14,fc,36));
}
else {
-HXLINE( 551) _hx_tmp1 = false;
+HXLINE( 555) _hx_tmp1 = false;
}
-HXDLIN( 551) if (_hx_tmp1) {
-HXLINE( 551) _hx_tmp = !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
+HXDLIN( 555) if (_hx_tmp1) {
+HXLINE( 555) _hx_tmp = !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(v->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
}
else {
-HXLINE( 551) _hx_tmp = false;
+HXLINE( 555) _hx_tmp = false;
}
-HXLINE( 550) if (_hx_tmp) {
-HXLINE( 550) _g->push(v);
+HXLINE( 554) if (_hx_tmp) {
+HXLINE( 554) _g->push(v);
}
}
}
-HXDLIN( 550) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 550) {
-HXLINE( 550) int _g2 = 0;
-HXDLIN( 550) int _g3 = _g->length;
-HXDLIN( 550) while((_g2 < _g3)){
-HXLINE( 550) _g2 = (_g2 + 1);
-HXDLIN( 550) int i = (_g2 - 1);
-HXDLIN( 550) {
-HXLINE( 550) ::borogove::calls::MediaStreamTrack inValue = ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(_hx_array_unsafe_get(_g,i)->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) );
-HXDLIN( 550) result->__unsafe_set(i,inValue);
+HXDLIN( 554) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 554) {
+HXLINE( 554) int _g2 = 0;
+HXDLIN( 554) int _g3 = _g->length;
+HXDLIN( 554) while((_g2 < _g3)){
+HXLINE( 554) _g2 = (_g2 + 1);
+HXDLIN( 554) int i = (_g2 - 1);
+HXDLIN( 554) {
+HXLINE( 554) ::borogove::calls::MediaStreamTrack inValue = ( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(_hx_array_unsafe_get(_g,i)->__Field(HX_("receiver",2f,45,fd,e2),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) );
+HXDLIN( 554) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 550) return result;
+HXDLIN( 554) return result;
}
@@ -800,40 +793,40 @@ HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,videoTracks,return )
::borogove::calls::DTMFSender InitiatedSession_obj::dtmf(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::Dynamic t){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_558_dtmf)
-HXLINE( 558) bool transceiver;
-HXDLIN( 558) bool transceiver1;
-HXDLIN( 558) if (::hx::IsNotNull( t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
-HXLINE( 558) transceiver1 = ::hx::IsNotNull( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_562_dtmf)
+HXLINE( 562) bool transceiver;
+HXDLIN( 562) bool transceiver1;
+HXDLIN( 562) if (::hx::IsNotNull( t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic) )) {
+HXLINE( 562) transceiver1 = ::hx::IsNotNull( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic) );
}
else {
-HXLINE( 558) transceiver1 = false;
+HXLINE( 562) transceiver1 = false;
}
-HXDLIN( 558) if (transceiver1) {
-HXLINE( 558) transceiver = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("audio",d6,78,80,27));
+HXDLIN( 562) if (transceiver1) {
+HXLINE( 562) transceiver = (( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_kind() == HX_("audio",d6,78,80,27));
}
else {
-HXLINE( 558) transceiver = false;
+HXLINE( 562) transceiver = false;
}
-HXDLIN( 558) if (transceiver) {
-HXLINE( 558) return !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
+HXDLIN( 562) if (transceiver) {
+HXLINE( 562) return !(( ( ::borogove::calls::MediaStreamTrack)( ::Dynamic(t->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)) )->get_muted());
}
else {
-HXLINE( 558) return false;
+HXLINE( 562) return false;
}
-HXDLIN( 558) return false;
+HXDLIN( 562) return false;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_556_dtmf)
-HXLINE( 557) if (::hx::IsNull( this->pc )) {
-HXLINE( 557) return null();
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_560_dtmf)
+HXLINE( 561) if (::hx::IsNull( this->pc )) {
+HXLINE( 561) return null();
}
-HXLINE( 558) ::Dynamic transceiver = ::Lambda_obj::find(this->pc->getTransceivers(), ::Dynamic(new _hx_Closure_0()));
-HXLINE( 559) if (::hx::IsNull( transceiver )) {
-HXLINE( 559) return null();
+HXLINE( 562) ::Dynamic transceiver = ::Lambda_obj::find(this->pc->getTransceivers(), ::Dynamic(new _hx_Closure_0()));
+HXLINE( 563) if (::hx::IsNull( transceiver )) {
+HXLINE( 563) return null();
}
-HXLINE( 560) return ( ( ::borogove::calls::DTMFSender)( ::Dynamic(transceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("dtmf",e9,ba,71,42),::hx::paccDynamic)) );
+HXLINE( 564) return ( ( ::borogove::calls::DTMFSender)( ::Dynamic(transceiver->__Field(HX_("sender",b5,c7,84,6b),::hx::paccDynamic))->__Field(HX_("dtmf",e9,ba,71,42),::hx::paccDynamic)) );
}
@@ -842,77 +835,73 @@ HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,dtmf,return )
void InitiatedSession_obj::sendIceCandidate( ::Dynamic candidate){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,candidate) HXARGC(1)
bool _hx_run( ::borogove::calls::Media media){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_573_sendIceCandidate)
-HXLINE( 573) return ::hx::IsEq( media->mid,candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic) );
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_577_sendIceCandidate)
+HXLINE( 577) return ::hx::IsEq( media->mid,candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic) );
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::borogove::calls::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_585_sendIceCandidate)
-HXLINE( 585) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_589_sendIceCandidate)
+HXLINE( 589) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_563_sendIceCandidate)
-HXLINE( 564) bool _hx_tmp;
-HXDLIN( 564) if (::hx::IsNotNull( candidate )) {
-HXLINE( 564) _hx_tmp = ::hx::IsEq( candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic),HX_("",00,00,00,00) );
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_567_sendIceCandidate)
+HXLINE( 568) bool _hx_tmp;
+HXDLIN( 568) if (::hx::IsNotNull( candidate )) {
+HXLINE( 568) _hx_tmp = ::hx::IsEq( candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE( 564) _hx_tmp = true;
+HXLINE( 568) _hx_tmp = true;
}
-HXDLIN( 564) if (_hx_tmp) {
-HXLINE( 565) if (::hx::IsNotNull( this->candidatesDone )) {
-HXLINE( 565) this->candidatesDone();
+HXDLIN( 568) if (_hx_tmp) {
+HXLINE( 569) if (::hx::IsNotNull( this->candidatesDone )) {
+HXLINE( 569) this->candidatesDone();
}
-HXLINE( 566) return;
+HXLINE( 570) return;
}
-HXLINE( 568) if (::hx::IsNotNull( this->candidatesDone )) {
-HXLINE( 568) return;
+HXLINE( 572) if (::hx::IsNotNull( this->candidatesDone )) {
+HXLINE( 572) return;
}
-HXLINE( 569) if (::hx::IsNull( this->localDescription )) {
-HXLINE( 570) this->queuedOutboundCandidate->push(candidate);
-HXLINE( 571) return;
+HXLINE( 573) if (::hx::IsNull( this->localDescription )) {
+HXLINE( 574) this->queuedOutboundCandidate->push(candidate);
+HXLINE( 575) return;
}
-HXLINE( 573) ::borogove::calls::Media media = ( ( ::borogove::calls::Media)(::Lambda_obj::find(this->localDescription->media, ::Dynamic(new _hx_Closure_0(candidate)))) );
-HXLINE( 574) if (::hx::IsNull( media )) {
-HXLINE( 574) HX_STACK_DO_THROW( ::Dynamic((HX_("Unknown media: ",d4,41,45,83) + candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic))));
+HXLINE( 577) ::borogove::calls::Media media = ( ( ::borogove::calls::Media)(::Lambda_obj::find(this->localDescription->media, ::Dynamic(new _hx_Closure_0(candidate)))) );
+HXLINE( 578) if (::hx::IsNull( media )) {
+HXLINE( 578) HX_STACK_DO_THROW( ::Dynamic((HX_("Unknown media: ",d4,41,45,83) + candidate->__Field(HX_("sdpMid",09,30,5f,d9),::hx::paccDynamic))));
}
-HXLINE( 577) ::String media1 = media->mid;
-HXLINE( 578) ::String media2 = media->media;
-HXLINE( 579) ::String media3 = media->connectionData;
-HXLINE( 580) ::String media4 = media->port;
-HXLINE( 581) ::String media5 = media->protocol;
-HXLINE( 583) ::borogove::calls::Attribute transportInfo = ::borogove::calls::Attribute_obj::parse(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
-HXLINE( 584) ::borogove::calls::Attribute transportInfo1 = ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-ufrag",65,c2,31,ab),( (::String)(candidate->__Field(HX_("usernameFragment",06,a8,37,89),::hx::paccDynamic)) ));
-HXLINE( 585) ::borogove::calls::Attribute tmp = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(media->attributes, ::Dynamic(new _hx_Closure_1()))) );
-HXDLIN( 585) ::borogove::calls::Attribute transportInfo2;
-HXDLIN( 585) if (::hx::IsNotNull( tmp )) {
-HXLINE( 585) transportInfo2 = tmp;
+HXLINE( 581) ::String media1 = media->mid;
+HXLINE( 582) ::String media2 = media->media;
+HXLINE( 583) ::String media3 = media->connectionData;
+HXLINE( 584) ::String media4 = media->port;
+HXLINE( 585) ::String media5 = media->protocol;
+HXLINE( 587) ::borogove::calls::Attribute transportInfo = ::borogove::calls::Attribute_obj::parse(( (::String)(candidate->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic)) ));
+HXLINE( 588) ::borogove::calls::Attribute transportInfo1 = ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ice-ufrag",65,c2,31,ab),( (::String)(candidate->__Field(HX_("usernameFragment",06,a8,37,89),::hx::paccDynamic)) ));
+HXLINE( 589) ::borogove::calls::Attribute tmp = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(media->attributes, ::Dynamic(new _hx_Closure_1()))) );
+HXDLIN( 589) ::borogove::calls::Attribute transportInfo2;
+HXDLIN( 589) if (::hx::IsNotNull( tmp )) {
+HXLINE( 589) transportInfo2 = tmp;
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
bool _hx_run( ::borogove::calls::Attribute attr){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_586_sendIceCandidate)
-HXLINE( 586) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_590_sendIceCandidate)
+HXLINE( 590) return (attr->key == HX_("ice-pwd",3b,03,2f,e9));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 585) transportInfo2 = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->localDescription->attributes, ::Dynamic(new _hx_Closure_2()))) );
- }
-HXLINE( 576) ::borogove::calls::Media transportInfo3 = ::borogove::calls::Media_obj::__alloc( HX_CTX ,media1,media2,media3,media4,media5,::Array_obj< ::Dynamic>::__new(3)->init(0,transportInfo)->init(1,transportInfo1)->init(2,transportInfo2),media->formats);
-HXLINE( 590) ::String transportInfo4 = this->get_sid();
-HXLINE( 575) ::borogove::Stanza transportInfo5 = ::borogove::calls::TransportInfo_obj::__alloc( HX_CTX ,transportInfo3,transportInfo4)->toStanza(this->initiator);
-HXLINE( 592) {
-HXLINE( 592) ::Dynamic this1 = transportInfo5->attr;
-HXDLIN( 592) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),this->counterpart->asString());
+HXLINE( 589) transportInfo2 = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->localDescription->attributes, ::Dynamic(new _hx_Closure_2()))) );
}
-HXLINE( 593) {
-HXLINE( 593) ::Dynamic this2 = transportInfo5->attr;
-HXDLIN( 593) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
- }
-HXLINE( 594) this->client->sendStanza(transportInfo5);
+HXLINE( 580) ::borogove::calls::Media transportInfo3 = ::borogove::calls::Media_obj::__alloc( HX_CTX ,media1,media2,media3,media4,media5,::Array_obj< ::Dynamic>::__new(3)->init(0,transportInfo)->init(1,transportInfo1)->init(2,transportInfo2),media->formats);
+HXLINE( 594) ::String transportInfo4 = this->get_sid();
+HXLINE( 579) ::borogove::Stanza transportInfo5 = ::borogove::calls::TransportInfo_obj::__alloc( HX_CTX ,transportInfo3,transportInfo4)->toStanza(this->initiator);
+HXLINE( 596) ::haxe::ds::StringMap transportInfo6 = transportInfo5->attr;
+HXDLIN( 596) transportInfo6->set(HX_("to",7b,65,00,00),this->counterpart->asString());
+HXLINE( 597) ::haxe::ds::StringMap transportInfo7 = transportInfo5->attr;
+HXDLIN( 597) transportInfo7->set(HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+HXLINE( 598) this->client->sendStanza(transportInfo5);
}
@@ -921,56 +910,56 @@ HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,sendIceCandidate,(void))
void InitiatedSession_obj::supplyMedia(::Array< ::Dynamic> streams){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::InitiatedSession,_gthis,::Array< ::Dynamic>,streams) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_598_supplyMedia)
-HXLINE( 599) {
-HXLINE( 599) int _g = 0;
-HXDLIN( 599) while((_g < streams->length)){
-HXLINE( 599) ::borogove::calls::MediaStream stream = streams->__get(_g).StaticCast< ::borogove::calls::MediaStream >();
-HXDLIN( 599) _g = (_g + 1);
-HXLINE( 600) {
-HXLINE( 600) int _g1 = 0;
-HXDLIN( 600) ::Array< ::Dynamic> _g2 = stream->getTracks();
-HXDLIN( 600) while((_g1 < _g2->length)){
-HXLINE( 600) ::borogove::calls::MediaStreamTrack track = _g2->__get(_g1).StaticCast< ::borogove::calls::MediaStreamTrack >();
-HXDLIN( 600) _g1 = (_g1 + 1);
-HXLINE( 601) _gthis->pc->addTrack(track,stream);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_602_supplyMedia)
+HXLINE( 603) {
+HXLINE( 603) int _g = 0;
+HXDLIN( 603) while((_g < streams->length)){
+HXLINE( 603) ::borogove::calls::MediaStream stream = streams->__get(_g).StaticCast< ::borogove::calls::MediaStream >();
+HXDLIN( 603) _g = (_g + 1);
+HXLINE( 604) {
+HXLINE( 604) int _g1 = 0;
+HXDLIN( 604) ::Array< ::Dynamic> _g2 = stream->getTracks();
+HXDLIN( 604) while((_g1 < _g2->length)){
+HXLINE( 604) ::borogove::calls::MediaStreamTrack track = _g2->__get(_g1).StaticCast< ::borogove::calls::MediaStreamTrack >();
+HXDLIN( 604) _g1 = (_g1 + 1);
+HXLINE( 605) _gthis->pc->addTrack(track,stream);
}
}
}
}
-HXLINE( 605) if (::hx::IsNull( _gthis->afterMedia )) {
+HXLINE( 609) if (::hx::IsNull( _gthis->afterMedia )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
void _hx_run( ::Dynamic e){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_606_supplyMedia)
-HXLINE( 607) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 607) ::String _hx_tmp1;
-HXDLIN( 607) if (::hx::IsNull( e )) {
-HXLINE( 607) _hx_tmp1 = HX_("null",87,9e,0e,49);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_610_supplyMedia)
+HXLINE( 611) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 611) ::String _hx_tmp1;
+HXDLIN( 611) if (::hx::IsNull( e )) {
+HXLINE( 611) _hx_tmp1 = HX_("null",87,9e,0e,49);
}
else {
-HXLINE( 607) _hx_tmp1 = ::Std_obj::string(e);
+HXLINE( 611) _hx_tmp1 = ::Std_obj::string(e);
}
-HXDLIN( 607) _hx_tmp(HX_("supplyMedia error",9d,f9,a0,33), ::Dynamic(::hx::Anon_obj::Create(5)
+HXDLIN( 611) _hx_tmp(HX_("supplyMedia error",9d,f9,a0,33), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.InitiatedSession",f1,c4,07,ac))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_hx_tmp1))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("supplyMedia",35,0c,c9,9a))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),607)));
-HXLINE( 608) _gthis->pc->close();
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),611)));
+HXLINE( 612) _gthis->pc->close();
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 606) ::thenshim::PromiseTools_obj::catch_(_gthis->onPeerConnection(), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 610) ::thenshim::PromiseTools_obj::catch_(_gthis->onPeerConnection(), ::Dynamic(new _hx_Closure_0(_gthis)));
}
else {
-HXLINE( 611) _gthis->afterMedia();
+HXLINE( 615) _gthis->afterMedia();
}
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_597_supplyMedia)
-HXDLIN( 597) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 598) this->setupPeerConnection( ::Dynamic(new _hx_Closure_1(_gthis,streams)));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_601_supplyMedia)
+HXDLIN( 601) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 602) this->setupPeerConnection( ::Dynamic(new _hx_Closure_1(_gthis,streams)));
}
@@ -1000,8 +989,8 @@ void InitiatedSession_obj::setupPeerConnection( ::Dynamic callback){
void _hx_run(::Array< ::Dynamic> servers){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_624_setupPeerConnection)
-HXLINE( 624) _gthis->client->trigger(HX_("call/track",1a,e7,80,d7), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_628_setupPeerConnection)
+HXLINE( 628) _gthis->client->trigger(HX_("call/track",1a,e7,80,d7), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("session",56,17,98,93),_gthis)
->setFixed(1,HX_("streams",f3,db,44,f6), ::Dynamic(event->__Field(HX_("streams",f3,db,44,f6),::hx::paccDynamic)))
->setFixed(2,HX_("track",8b,8e,1f,16), ::Dynamic(event->__Field(HX_("track",8b,8e,1f,16),::hx::paccDynamic)))));
@@ -1010,76 +999,76 @@ HXLINE( 624) _gthis->client->trigger(HX_("call/track",1a,e7,80,d7), ::Dynamic
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_626_setupPeerConnection)
-HXLINE( 626) ::haxe::Log_obj::trace(HX_("renegotiate",2b,b9,fb,a1), ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_630_setupPeerConnection)
+HXLINE( 630) ::haxe::Log_obj::trace(HX_("renegotiate",2b,b9,fb,a1), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.InitiatedSession",f1,c4,07,ac))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,event))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("setupPeerConnection",bd,67,52,ae))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),626)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),630)));
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_628_setupPeerConnection)
-HXLINE( 628) _gthis->sendIceCandidate(event->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_632_setupPeerConnection)
+HXLINE( 632) _gthis->sendIceCandidate(event->__Field(HX_("candidate",43,34,d8,d0),::hx::paccDynamic));
}
HX_END_LOCAL_FUNC1((void))
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
void _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_630_setupPeerConnection)
-HXLINE( 631) if (::hx::IsNotNull( _gthis->pc )) {
-HXLINE( 631) _gthis->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_634_setupPeerConnection)
+HXLINE( 635) if (::hx::IsNotNull( _gthis->pc )) {
+HXLINE( 635) _gthis->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("session",56,17,98,93),_gthis)));
}
-HXLINE( 632) bool _hx_tmp;
-HXDLIN( 632) if (::hx::IsNotNull( _gthis->pc )) {
-HXLINE( 632) if ((_gthis->pc->get_connectionState() != HX_("closed",ac,a9,51,0e))) {
-HXLINE( 632) _hx_tmp = (_gthis->pc->get_connectionState() == HX_("failed",bd,c5,fe,e7));
+HXLINE( 636) bool _hx_tmp;
+HXDLIN( 636) if (::hx::IsNotNull( _gthis->pc )) {
+HXLINE( 636) if ((_gthis->pc->get_connectionState() != HX_("closed",ac,a9,51,0e))) {
+HXLINE( 636) _hx_tmp = (_gthis->pc->get_connectionState() == HX_("failed",bd,c5,fe,e7));
}
else {
-HXLINE( 632) _hx_tmp = true;
+HXLINE( 636) _hx_tmp = true;
}
}
else {
-HXLINE( 632) _hx_tmp = false;
+HXLINE( 636) _hx_tmp = false;
}
-HXDLIN( 632) if (_hx_tmp) {
-HXLINE( 633) ::borogove::Client _gthis1 = _gthis->client;
-HXLINE( 634) ::String _hx_tmp1 = _gthis->counterpart->asString();
-HXDLIN( 634) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+HXDLIN( 636) if (_hx_tmp) {
+HXLINE( 637) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 638) ::String _hx_tmp1 = _gthis->counterpart->asString();
+HXDLIN( 638) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7())
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp1)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
-HXLINE( 633) _gthis1->sendStanza(_hx_tmp2->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
+HXLINE( 637) _gthis1->sendStanza(_hx_tmp2->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("sid",0e,9f,57,00),_gthis->get_sid())
->setFixed(1,HX_("action",b6,3b,46,16),HX_("session-terminate",6a,23,dc,12))
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))))->tag(HX_("reason",c4,0f,9d,fc),null())->tag(HX_("connectivity-error",f2,07,09,18),null())->up()->up()->up());
-HXLINE( 639) _gthis->terminate();
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))),null())->tag(HX_("reason",c4,0f,9d,fc),null(),null())->tag(HX_("connectivity-error",f2,07,09,18),null(),null())->up()->up()->up());
+HXLINE( 643) _gthis->terminate();
}
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_621_setupPeerConnection)
-HXLINE( 622) _gthis->pc = ::borogove::calls::PeerConnection_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_625_setupPeerConnection)
+HXLINE( 626) _gthis->pc = ::borogove::calls::PeerConnection_obj::__alloc( HX_CTX , ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iceServers",45,14,49,d2),servers)),null());
-HXLINE( 623) _gthis->pc->addEventListener(HX_("track",8b,8e,1f,16), ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 626) _gthis->pc->addEventListener(HX_("negotiationneeded",d6,4d,d0,53), ::Dynamic(new _hx_Closure_1()));
-HXLINE( 627) _gthis->pc->addEventListener(HX_("icecandidate",98,ef,c0,7b), ::Dynamic(new _hx_Closure_2(_gthis)));
-HXLINE( 630) _gthis->pc->addEventListener(HX_("connectionstatechange",e3,a2,87,36), ::Dynamic(new _hx_Closure_3(_gthis)));
-HXLINE( 642) callback();
+HXLINE( 627) _gthis->pc->addEventListener(HX_("track",8b,8e,1f,16), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 630) _gthis->pc->addEventListener(HX_("negotiationneeded",d6,4d,d0,53), ::Dynamic(new _hx_Closure_1()));
+HXLINE( 631) _gthis->pc->addEventListener(HX_("icecandidate",98,ef,c0,7b), ::Dynamic(new _hx_Closure_2(_gthis)));
+HXLINE( 634) _gthis->pc->addEventListener(HX_("connectionstatechange",e3,a2,87,36), ::Dynamic(new _hx_Closure_3(_gthis)));
+HXLINE( 646) callback();
}
HX_END_LOCAL_FUNC1((void))
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_616_setupPeerConnection)
-HXDLIN( 616) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 617) if (::hx::IsNotNull( this->pc )) {
-HXLINE( 618) callback();
-HXLINE( 619) return;
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_620_setupPeerConnection)
+HXDLIN( 620) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 621) if (::hx::IsNotNull( this->pc )) {
+HXLINE( 622) callback();
+HXLINE( 623) return;
}
-HXLINE( 621) this->client->getIceServers( ::Dynamic(new _hx_Closure_4(_gthis,callback)));
+HXLINE( 625) this->client->getIceServers( ::Dynamic(new _hx_Closure_4(_gthis,callback)));
}
@@ -1088,116 +1077,112 @@ HX_DEFINE_DYNAMIC_FUNC1(InitiatedSession_obj,setupPeerConnection,(void))
::Dynamic InitiatedSession_obj::setupLocalDescription(::String type,::Array< ::String > filterMedia, ::Dynamic __o_filterOut, ::Dynamic beforeSend){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::calls::InitiatedSession,_gthis,::String,type) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_647_setupLocalDescription)
-HXLINE( 648) ::borogove::Client _gthis1 = _gthis->client;
-HXDLIN( 648) ::String caps = _gthis->counterpart->asBare()->asString();
-HXDLIN( 648) ::borogove::Caps caps1 = _gthis1->getDirectChat(caps,null())->getResourceCaps(_gthis->counterpart->resource);
-HXLINE( 649) bool _hx_tmp;
-HXDLIN( 649) bool _hx_tmp1;
-HXDLIN( 649) if ((type != HX_("session-initiate",70,2d,30,f7))) {
-HXLINE( 649) _hx_tmp1 = (type == HX_("session-accept",5f,92,e7,a8));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_651_setupLocalDescription)
+HXLINE( 652) ::borogove::Client _gthis1 = _gthis->client;
+HXDLIN( 652) ::String caps = _gthis->counterpart->asBare()->asString();
+HXDLIN( 652) ::borogove::Caps caps1 = _gthis1->getDirectChat(caps,null())->getResourceCaps(_gthis->counterpart->resource);
+HXLINE( 653) bool _hx_tmp;
+HXDLIN( 653) bool _hx_tmp1;
+HXDLIN( 653) if ((type != HX_("session-initiate",70,2d,30,f7))) {
+HXLINE( 653) _hx_tmp1 = (type == HX_("session-accept",5f,92,e7,a8));
}
else {
-HXLINE( 649) _hx_tmp1 = true;
+HXLINE( 653) _hx_tmp1 = true;
}
-HXDLIN( 649) if (_hx_tmp1) {
-HXLINE( 649) _hx_tmp = caps1->features->contains(HX_("urn:ietf:rfc:3264",2b,35,57,2c));
+HXDLIN( 653) if (_hx_tmp1) {
+HXLINE( 653) _hx_tmp = caps1->features->contains(HX_("urn:ietf:rfc:3264",2b,35,57,2c));
}
else {
-HXLINE( 649) _hx_tmp = false;
+HXLINE( 653) _hx_tmp = false;
}
-HXDLIN( 649) if (_hx_tmp) {
+HXDLIN( 653) if (_hx_tmp) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3, ::borogove::calls::InitiatedSession,_gthis) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::InitiatedSession,_gthis, ::Dynamic,resolve) HXARGC(0)
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_652_setupLocalDescription)
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_656_setupLocalDescription)
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_651_setupLocalDescription)
-HXLINE( 652) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_0());
-HXLINE( 653) resolve(false);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_655_setupLocalDescription)
+HXLINE( 656) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_0());
+HXLINE( 657) resolve(false);
}
HX_END_LOCAL_FUNC0((void))
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,resolve, ::haxe::Timer,timeout) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_655_setupLocalDescription)
-HXLINE( 656) timeout->stop();
-HXLINE( 657) resolve(true);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_659_setupLocalDescription)
+HXLINE( 660) timeout->stop();
+HXLINE( 661) resolve(true);
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_650_setupLocalDescription)
-HXLINE( 651) ::haxe::Timer timeout = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,resolve)),3000);
-HXLINE( 655) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_2(resolve,timeout));
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_654_setupLocalDescription)
+HXLINE( 655) ::haxe::Timer timeout = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_1(_gthis,resolve)),3000);
+HXLINE( 659) _gthis->candidatesDone = ::Dynamic(new _hx_Closure_2(resolve,timeout));
}
HX_END_LOCAL_FUNC2((void))
-HXLINE( 650) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(_gthis)));
+HXLINE( 654) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_3(_gthis)));
}
else {
-HXLINE( 661) return null();
+HXLINE( 665) return null();
}
-HXLINE( 649) return null();
+HXLINE( 653) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_5, ::borogove::calls::InitiatedSession,_gthis,::String,type, ::Dynamic,beforeSend, ::Dynamic,filterOut,::Array< ::String >,filterMedia) HXARGC(1)
void _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_663_setupLocalDescription)
-HXLINE( 664) _gthis->localDescription = ::borogove::calls::SessionDescription_obj::parse(( (::String)(_gthis->pc->get_localDescription()->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
-HXLINE( 665) ::borogove::calls::SessionDescription descriptionToSend = _gthis->localDescription;
-HXLINE( 666) if (::hx::IsNotNull( filterMedia )) {
-HXLINE( 668) int descriptionToSend1 = descriptionToSend->version;
-HXLINE( 669) ::String descriptionToSend2 = descriptionToSend->name;
-HXLINE( 670) ::Array< ::Dynamic> _this = descriptionToSend->media;
-HXDLIN( 670) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 670) {
-HXLINE( 670) int _g1 = 0;
-HXDLIN( 670) while((_g1 < _this->length)){
-HXLINE( 670) ::borogove::calls::Media v = _this->__get(_g1).StaticCast< ::borogove::calls::Media >();
-HXDLIN( 670) _g1 = (_g1 + 1);
-HXDLIN( 670) bool descriptionToSend3;
-HXDLIN( 670) if (( (bool)(filterOut) )) {
-HXLINE( 670) descriptionToSend3 = !(filterMedia->contains(v->mid));
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_667_setupLocalDescription)
+HXLINE( 668) _gthis->localDescription = ::borogove::calls::SessionDescription_obj::parse(( (::String)(_gthis->pc->get_localDescription()->__Field(HX_("sdp",bf,9a,57,00),::hx::paccDynamic)) ));
+HXLINE( 669) ::borogove::calls::SessionDescription descriptionToSend = _gthis->localDescription;
+HXLINE( 670) if (::hx::IsNotNull( filterMedia )) {
+HXLINE( 672) int descriptionToSend1 = descriptionToSend->version;
+HXLINE( 673) ::String descriptionToSend2 = descriptionToSend->name;
+HXLINE( 674) ::Array< ::Dynamic> _this = descriptionToSend->media;
+HXDLIN( 674) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 674) {
+HXLINE( 674) int _g1 = 0;
+HXDLIN( 674) while((_g1 < _this->length)){
+HXLINE( 674) ::borogove::calls::Media v = _this->__get(_g1).StaticCast< ::borogove::calls::Media >();
+HXDLIN( 674) _g1 = (_g1 + 1);
+HXDLIN( 674) bool descriptionToSend3;
+HXDLIN( 674) if (( (bool)(filterOut) )) {
+HXLINE( 674) descriptionToSend3 = !(filterMedia->contains(v->mid));
}
else {
-HXLINE( 670) descriptionToSend3 = filterMedia->contains(v->mid);
+HXLINE( 674) descriptionToSend3 = filterMedia->contains(v->mid);
}
-HXDLIN( 670) if (descriptionToSend3) {
-HXLINE( 670) _g->push(v);
+HXDLIN( 674) if (descriptionToSend3) {
+HXLINE( 674) _g->push(v);
}
}
}
-HXLINE( 667) descriptionToSend = ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,descriptionToSend1,descriptionToSend2,_g,descriptionToSend->attributes,descriptionToSend->identificationTags);
- }
-HXLINE( 675) if (::hx::IsNotNull( beforeSend )) {
-HXLINE( 675) beforeSend(descriptionToSend);
- }
-HXLINE( 676) ::String type1 = type;
-HXDLIN( 676) ::String sessionAccept = _gthis->get_sid();
-HXDLIN( 676) ::borogove::Stanza sessionAccept1 = descriptionToSend->toStanza(type1,sessionAccept,_gthis->initiator);
-HXLINE( 677) {
-HXLINE( 677) ::Dynamic this1 = sessionAccept1->attr;
-HXDLIN( 677) ::Reflect_obj::setField(this1,HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+HXLINE( 671) descriptionToSend = ::borogove::calls::SessionDescription_obj::__alloc( HX_CTX ,descriptionToSend1,descriptionToSend2,_g,descriptionToSend->attributes,descriptionToSend->identificationTags);
}
-HXLINE( 678) {
-HXLINE( 678) ::Dynamic this2 = sessionAccept1->attr;
-HXDLIN( 678) ::Reflect_obj::setField(this2,HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+HXLINE( 679) if (::hx::IsNotNull( beforeSend )) {
+HXLINE( 679) beforeSend(descriptionToSend);
}
-HXLINE( 679) _gthis->client->sendStanza(sessionAccept1);
-HXLINE( 681) ::Array< ::Dynamic> outboundCandidate = _gthis->queuedOutboundCandidate->copy();
-HXLINE( 682) _gthis->queuedOutboundCandidate->resize(0);
-HXLINE( 683) {
-HXLINE( 683) int _g2 = 0;
-HXDLIN( 683) while((_g2 < outboundCandidate->length)){
-HXLINE( 683) ::Dynamic candidate = outboundCandidate->__get(_g2);
-HXDLIN( 683) _g2 = (_g2 + 1);
-HXLINE( 684) _gthis->sendIceCandidate(candidate);
+HXLINE( 680) ::String type1 = type;
+HXDLIN( 680) ::String sessionAccept = _gthis->get_sid();
+HXDLIN( 680) ::borogove::Stanza sessionAccept1 = descriptionToSend->toStanza(type1,sessionAccept,_gthis->initiator);
+HXLINE( 681) ::haxe::ds::StringMap sessionAccept2 = sessionAccept1->attr;
+HXDLIN( 681) sessionAccept2->set(HX_("to",7b,65,00,00),_gthis->counterpart->asString());
+HXLINE( 682) ::haxe::ds::StringMap sessionAccept3 = sessionAccept1->attr;
+HXDLIN( 682) sessionAccept3->set(HX_("id",db,5b,00,00),::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+HXLINE( 683) _gthis->client->sendStanza(sessionAccept1);
+HXLINE( 685) ::Array< ::Dynamic> outboundCandidate = _gthis->queuedOutboundCandidate->copy();
+HXLINE( 686) _gthis->queuedOutboundCandidate->resize(0);
+HXLINE( 687) {
+HXLINE( 687) int _g2 = 0;
+HXDLIN( 687) while((_g2 < outboundCandidate->length)){
+HXLINE( 687) ::Dynamic candidate = outboundCandidate->__get(_g2);
+HXDLIN( 687) _g2 = (_g2 + 1);
+HXLINE( 688) _gthis->sendIceCandidate(candidate);
}
}
}
@@ -1205,9 +1190,9 @@ HXLINE( 684) _gthis->sendIceCandidate(candidate);
::Dynamic filterOut = __o_filterOut;
if (::hx::IsNull(__o_filterOut)) filterOut = false;
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_646_setupLocalDescription)
-HXDLIN( 646) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 647) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->pc->setLocalDescription(null()), ::Dynamic(new _hx_Closure_4(_gthis,type)),null()), ::Dynamic(new _hx_Closure_5(_gthis,type,beforeSend,filterOut,filterMedia)),null());
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_650_setupLocalDescription)
+HXDLIN( 650) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 651) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->pc->setLocalDescription(null()), ::Dynamic(new _hx_Closure_4(_gthis,type)),null()), ::Dynamic(new _hx_Closure_5(_gthis,type,beforeSend,filterOut,filterMedia)),null());
}
@@ -1216,52 +1201,52 @@ HX_DEFINE_DYNAMIC_FUNC4(InitiatedSession_obj,setupLocalDescription,return )
::Dynamic InitiatedSession_obj::onPeerConnection(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_691_onPeerConnection)
-HXLINE( 692) ::Array< ::Dynamic> inboundTransportInfo = _gthis->queuedInboundTransportInfo->copy();
-HXLINE( 693) _gthis->queuedInboundTransportInfo->resize(0);
-HXLINE( 694) ::Dynamic f = _gthis->transportInfo_dyn();
-HXDLIN( 694) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(inboundTransportInfo->length);
-HXDLIN( 694) {
-HXLINE( 694) int _g = 0;
-HXDLIN( 694) int _g1 = inboundTransportInfo->length;
-HXDLIN( 694) while((_g < _g1)){
-HXLINE( 694) _g = (_g + 1);
-HXDLIN( 694) int i = (_g - 1);
-HXDLIN( 694) {
-HXLINE( 694) ::Dynamic inValue = f(_hx_array_unsafe_get(inboundTransportInfo,i));
-HXDLIN( 694) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_695_onPeerConnection)
+HXLINE( 696) ::Array< ::Dynamic> inboundTransportInfo = _gthis->queuedInboundTransportInfo->copy();
+HXLINE( 697) _gthis->queuedInboundTransportInfo->resize(0);
+HXLINE( 698) ::Dynamic f = _gthis->transportInfo_dyn();
+HXDLIN( 698) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(inboundTransportInfo->length);
+HXDLIN( 698) {
+HXLINE( 698) int _g = 0;
+HXDLIN( 698) int _g1 = inboundTransportInfo->length;
+HXDLIN( 698) while((_g < _g1)){
+HXLINE( 698) _g = (_g + 1);
+HXDLIN( 698) int i = (_g - 1);
+HXDLIN( 698) {
+HXLINE( 698) ::Dynamic inValue = f(_hx_array_unsafe_get(inboundTransportInfo,i));
+HXDLIN( 698) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 694) return result;
+HXDLIN( 698) return result;
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_697_onPeerConnection)
-HXLINE( 697) return _gthis->setupLocalDescription(HX_("session-accept",5f,92,e7,a8),null(),null(),null());
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_701_onPeerConnection)
+HXLINE( 701) return _gthis->setupLocalDescription(HX_("session-accept",5f,92,e7,a8),null(),null(),null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::calls::InitiatedSession,_gthis) HXARGC(1)
::String _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_698_onPeerConnection)
-HXLINE( 699) ::String _hx_tmp;
-HXDLIN( 699) if ((_gthis->localDescription->getDtlsSetup() == HX_("active",c6,41,46,16))) {
-HXLINE( 699) _hx_tmp = HX_("passive",a7,47,6a,7d);
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_702_onPeerConnection)
+HXLINE( 703) ::String _hx_tmp;
+HXDLIN( 703) if ((_gthis->localDescription->getDtlsSetup() == HX_("active",c6,41,46,16))) {
+HXLINE( 703) _hx_tmp = HX_("passive",a7,47,6a,7d);
}
else {
-HXLINE( 699) _hx_tmp = HX_("active",c6,41,46,16);
+HXLINE( 703) _hx_tmp = HX_("active",c6,41,46,16);
}
-HXLINE( 698) return (_gthis->peerDtlsSetup = _hx_tmp);
+HXLINE( 702) return (_gthis->peerDtlsSetup = _hx_tmp);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_689_onPeerConnection)
-HXDLIN( 689) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 690) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 690) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_693_onPeerConnection)
+HXDLIN( 693) ::borogove::calls::InitiatedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 694) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 694) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sdp",bf,9a,57,00),this->remoteDescription->toSdp())
->setFixed(1,HX_("type",ba,f2,08,4d),cpp::Struct(rtc::Description::Type::Offer)))), ::Dynamic(new _hx_Closure_0(_gthis)),null()), ::Dynamic(new _hx_Closure_1(_gthis)),null()), ::Dynamic(new _hx_Closure_2(_gthis)),null());
}
@@ -1270,13 +1255,13 @@ HXDLIN( 690) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_
HX_DEFINE_DYNAMIC_FUNC0(InitiatedSession_obj,onPeerConnection,return )
::borogove::calls::InitiatedSession InitiatedSession_obj::fromSessionInitiate( ::borogove::Client client, ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_360_fromSessionInitiate)
-HXLINE( 361) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
-HXLINE( 364) ::borogove::JID session = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXLINE( 365) ::String session1 = ( (::String)(::Reflect_obj::field(jingle->attr,HX_("sid",0e,9f,57,00))) );
-HXLINE( 362) ::borogove::calls::InitiatedSession session2 = ::borogove::calls::InitiatedSession_obj::__alloc( HX_CTX ,client,session,session1,::borogove::calls::SessionDescription_obj::fromStanza(stanza,false,null()));
-HXLINE( 368) session2->transportInfo(stanza);
-HXLINE( 369) return session2;
+ HX_GC_STACKFRAME(&_hx_pos_7acc2c8020739c2c_364_fromSessionInitiate)
+HXLINE( 365) ::borogove::Stanza jingle = stanza->getChild(HX_("jingle",31,27,eb,1f),HX_("urn:xmpp:jingle:1",44,c4,fe,f7));
+HXLINE( 368) ::borogove::JID session = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXLINE( 369) ::String session1 = jingle->attr->get_string(HX_("sid",0e,9f,57,00));
+HXLINE( 366) ::borogove::calls::InitiatedSession session2 = ::borogove::calls::InitiatedSession_obj::__alloc( HX_CTX ,client,session,session1,::borogove::calls::SessionDescription_obj::fromStanza(stanza,false,null()));
+HXLINE( 372) session2->transportInfo(stanza);
+HXLINE( 373) return session2;
}
@@ -1590,8 +1575,8 @@ void InitiatedSession_obj::__register()
void InitiatedSession_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_331_boot)
-HXDLIN( 331) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_7acc2c8020739c2c_335_boot)
+HXDLIN( 335) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(11)
->setFixed(0,HX_("supplyMedia",35,0c,c9,9a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
diff --git a/Sources/c_borogove/src/borogove/calls/Media.cpp b/Sources/c_borogove/src/borogove/calls/Media.cpp
index fde294c..f049b1a 100644
--- a/Sources/c_borogove/src/borogove/calls/Media.cpp
+++ b/Sources/c_borogove/src/borogove/calls/Media.cpp
@@ -160,7 +160,7 @@ HXDLIN( 374) ::Reflect_obj::setField(attrs,HX_("senders",1e,f7,a9,a8),value1
}
}
}
-HXLINE( 376) return ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("content",39,8d,77,19),attrs);
+HXLINE( 376) return ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("content",39,8d,77,19),attrs,null());
}
@@ -171,9 +171,9 @@ HX_DEFINE_DYNAMIC_FUNC1(Media_obj,contentElement,return )
int _hx_run( ::borogove::Stanza a, ::borogove::Stanza b){
HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_442_toElement)
HXLINE( 442) ::Array< int > _gthis1 = _gthis->formats;
-HXDLIN( 442) int _hx_tmp = _gthis1->indexOf(::Std_obj::parseInt(( (::String)(::Reflect_obj::field(a->attr,HX_("id",db,5b,00,00))) )),null());
+HXDLIN( 442) int _hx_tmp = _gthis1->indexOf(::Std_obj::parseInt(a->attr->get_string(HX_("id",db,5b,00,00))),null());
HXDLIN( 442) ::Array< int > _gthis2 = _gthis->formats;
-HXDLIN( 442) return (_hx_tmp - _gthis2->indexOf(::Std_obj::parseInt(( (::String)(::Reflect_obj::field(b->attr,HX_("id",db,5b,00,00))) )),null()));
+HXDLIN( 442) return (_hx_tmp - _gthis2->indexOf(::Std_obj::parseInt(b->attr->get_string(HX_("id",db,5b,00,00))),null()));
}
HX_END_LOCAL_FUNC2(return)
@@ -203,7 +203,7 @@ HXDLIN( 379) ::borogove::calls::Media _gthis = ::hx::ObjectPtr<OBJ_>(this);
HXLINE( 380) ::borogove::Stanza content = this->contentElement(initiator);
HXLINE( 381) ::borogove::Stanza description = content->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("media",e4,04,bc,05),this->media)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))),null());
HXLINE( 382) ::Array< ::Dynamic> _this = this->attributes;
HXDLIN( 382) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 382) {
@@ -230,7 +230,7 @@ HXDLIN( 384) ::borogove::Stanza inValue;
HXDLIN( 384) if ((segments->__get(1) == HX_("trr-int",16,ba,25,2e))) {
HXLINE( 384) inValue = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("rtcp-fb-trr-int",a3,02,fa,8c), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("value",71,7f,b8,31),segments->__get(2))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtcp-fb:0",09,5f,fc,2a))),null());
}
else {
HXLINE( 387) ::Dynamic fbattrs = ::Dynamic(::hx::Anon_obj::Create(2)
@@ -239,7 +239,7 @@ HXLINE( 387) ::Dynamic fbattrs = ::Dynamic(::hx::Anon_obj::Create(2)
HXLINE( 388) if ((segments->length >= 3)) {
HXLINE( 388) ::Reflect_obj::setField(fbattrs,HX_("subtype",3a,5c,33,30),segments->__get(2));
}
-HXLINE( 384) inValue = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),fbattrs);
+HXLINE( 384) inValue = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),fbattrs,null());
}
HXLINE( 382) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("el",67,58,00,00),inValue)
@@ -286,7 +286,8 @@ HXLINE( 401) if ((eqPos > 0)) {
HXLINE( 401) ::String value = param.substr(0,eqPos);
HXDLIN( 401) ::Reflect_obj::setField(attrs1,HX_("name",4b,72,ff,48),value);
}
-HXLINE( 398) result1->__unsafe_set(i1, ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs1));
+HXLINE( 398) ::borogove::Stanza inValue1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs1,null());
+HXDLIN( 398) result1->__unsafe_set(i1,inValue1);
}
}
}
@@ -318,7 +319,8 @@ HXLINE( 412) if ((colonPos > 0)) {
HXLINE( 412) ::String value1 = param1.substr((colonPos + 1),null());
HXDLIN( 412) ::Reflect_obj::setField(attrs3,HX_("value",71,7f,b8,31),value1);
}
-HXLINE( 413) ( (::Array< ::Dynamic>)(ssrc->get(id)) )->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs3));
+HXLINE( 413) ::Array< ::Dynamic> _hx_tmp = ( (::Array< ::Dynamic>)(ssrc->get(id)) );
+HXDLIN( 413) _hx_tmp->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48),attrs3,null()));
}
else {
HXLINE( 414) if ((attr->key == HX_("extmap",9b,d8,20,c7))) {
@@ -326,11 +328,11 @@ HXLINE( 415) int pos2 = attr->value.indexOf(HX_(" ",20,00,00,00),null());
HXLINE( 416) if ((pos2 < 0)) {
HXLINE( 416) continue;
}
-HXLINE( 417) ::String _hx_tmp = attr->value.substr(0,pos2);
+HXLINE( 417) ::String _hx_tmp1 = attr->value.substr(0,pos2);
HXDLIN( 417) description->tag(HX_("rtp-hdrext",aa,ab,bb,00), ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp1)
->setFixed(1,HX_("uri",6c,2b,59,00),attr->value.substr((pos2 + 1),null()))
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d))))->up();
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d))),null())->up();
}
else {
HXLINE( 418) if ((attr->key == HX_("ssrc-group",03,b3,2d,49))) {
@@ -340,7 +342,7 @@ HXLINE( 420) continue;
}
HXLINE( 421) ::borogove::Stanza group = description->tag(HX_("ssrc-group",03,b3,2d,49), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:ssma:0",51,23,31,6f))
- ->setFixed(1,HX_("semantics",ad,54,ab,73),segments2->__get(0))));
+ ->setFixed(1,HX_("semantics",ad,54,ab,73),segments2->__get(0))),null());
HXLINE( 422) {
HXLINE( 422) int _g8 = 0;
HXDLIN( 422) ::Array< ::String > _g9 = segments2->slice(1,null());
@@ -348,7 +350,7 @@ HXDLIN( 422) while((_g8 < _g9->length)){
HXLINE( 422) ::String seg = _g9->__get(_g8);
HXDLIN( 422) _g8 = (_g8 + 1);
HXLINE( 423) group->tag(HX_("source",db,b0,31,32), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("ssrc",51,30,5b,4c),seg)))->up();
+ ->setFixed(0,HX_("ssrc",51,30,5b,4c),seg)),null())->up();
}
}
HXLINE( 425) group->up();
@@ -377,8 +379,8 @@ HXDLIN( 428) while((_g12 < _g13)){
HXLINE( 428) _g12 = (_g12 + 1);
HXDLIN( 428) int i2 = (_g12 - 1);
HXDLIN( 428) {
-HXLINE( 428) ::borogove::Stanza inValue1 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g10,i2)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
-HXDLIN( 428) result2->__unsafe_set(i2,inValue1);
+HXLINE( 428) ::borogove::Stanza inValue2 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g10,i2)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
+HXDLIN( 428) result2->__unsafe_set(i2,inValue2);
}
}
}
@@ -418,24 +420,24 @@ HXLINE( 435) ::Reflect_obj::setField(attrs4,HX_("name",4b,72,ff,48),segment
HXLINE( 436) if ((segments3->length > 1)) {
HXLINE( 436) ::Reflect_obj::setField(attrs4,HX_("clockrate",ae,5b,4b,39),segments3->__get(1));
}
-HXLINE( 437) bool _hx_tmp1;
-HXDLIN( 437) bool _hx_tmp2;
+HXLINE( 437) bool _hx_tmp2;
+HXDLIN( 437) bool _hx_tmp3;
HXDLIN( 437) if ((segments3->length > 2)) {
-HXLINE( 437) _hx_tmp2 = (segments3->__get(2) != HX_("",00,00,00,00));
+HXLINE( 437) _hx_tmp3 = (segments3->__get(2) != HX_("",00,00,00,00));
}
else {
-HXLINE( 437) _hx_tmp2 = false;
+HXLINE( 437) _hx_tmp3 = false;
}
-HXDLIN( 437) if (_hx_tmp2) {
-HXLINE( 437) _hx_tmp1 = (segments3->__get(2) != HX_("1",31,00,00,00));
+HXDLIN( 437) if (_hx_tmp3) {
+HXLINE( 437) _hx_tmp2 = (segments3->__get(2) != HX_("1",31,00,00,00));
}
else {
-HXLINE( 437) _hx_tmp1 = false;
+HXLINE( 437) _hx_tmp2 = false;
}
-HXDLIN( 437) if (_hx_tmp1) {
+HXDLIN( 437) if (_hx_tmp2) {
HXLINE( 437) ::Reflect_obj::setField(attrs4,HX_("channels",50,aa,ee,6a),segments3->__get(2));
}
-HXLINE( 438) ::borogove::Stanza inValue2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("payload-type",19,2b,54,39),attrs4);
+HXLINE( 438) ::borogove::Stanza inValue3 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("payload-type",19,2b,54,39),attrs4,null());
HXLINE( 439) ::Array< ::Dynamic> _g18 = ::Array_obj< ::Dynamic>::__new(0);
HXDLIN( 439) {
HXLINE( 439) int _g19 = 0;
@@ -455,27 +457,27 @@ HXDLIN( 439) while((_g20 < _g21)){
HXLINE( 439) _g20 = (_g20 + 1);
HXDLIN( 439) int i4 = (_g20 - 1);
HXDLIN( 439) {
-HXLINE( 439) ::borogove::Stanza inValue3 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g18,i4)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
-HXDLIN( 439) result4->__unsafe_set(i4,inValue3);
+HXLINE( 439) ::borogove::Stanza inValue4 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_g18,i4)->__Field(HX_("el",67,58,00,00),::hx::paccDynamic)) );
+HXDLIN( 439) result4->__unsafe_set(i4,inValue4);
}
}
}
-HXLINE( 438) ::borogove::Stanza inValue4 = inValue2->addChildren(result4);
-HXLINE( 440) ::Dynamic inValue5;
+HXLINE( 438) ::borogove::Stanza inValue5 = inValue3->addChildren(result4);
+HXLINE( 440) ::Dynamic inValue6;
HXDLIN( 440) if (::hx::IsNull( ( (::Array< ::Dynamic>)(fmtp->get(id1)) ) )) {
-HXLINE( 440) inValue5 = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 440) inValue6 = ::Array_obj< ::Dynamic>::__new(0);
}
else {
-HXLINE( 440) inValue5 = ( (::Array< ::Dynamic>)(fmtp->get(id1)) );
+HXLINE( 440) inValue6 = ( (::Array< ::Dynamic>)(fmtp->get(id1)) );
}
-HXLINE( 429) ::borogove::Stanza inValue6 = inValue4->addChildren(inValue5);
-HXDLIN( 429) result3->__unsafe_set(i3,inValue6);
+HXLINE( 429) ::borogove::Stanza inValue7 = inValue5->addChildren(inValue6);
+HXDLIN( 429) result3->__unsafe_set(i3,inValue7);
}
}
}
HXLINE( 442) result3->sort( ::Dynamic(new _hx_Closure_0(_gthis)));
HXLINE( 443) description->addChildren(result3);
-HXLINE( 444) bool _hx_tmp3;
+HXLINE( 444) bool _hx_tmp4;
HXDLIN( 444) if (!(::Lambda_obj::exists(this->attributes, ::Dynamic(new _hx_Closure_1())))) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
bool _hx_run( ::borogove::calls::Attribute attr){
@@ -484,14 +486,14 @@ HXLINE( 444) return (attr->key == HX_("extmap-allow-mixed",05,91,99,44));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 444) _hx_tmp3 = ::Lambda_obj::exists(sessionAttributes, ::Dynamic(new _hx_Closure_2()));
+HXLINE( 444) _hx_tmp4 = ::Lambda_obj::exists(sessionAttributes, ::Dynamic(new _hx_Closure_2()));
}
else {
-HXLINE( 444) _hx_tmp3 = true;
+HXLINE( 444) _hx_tmp4 = true;
}
-HXDLIN( 444) if (_hx_tmp3) {
+HXDLIN( 444) if (_hx_tmp4) {
HXLINE( 445) description->tag(HX_("extmap-allow-mixed",05,91,99,44), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d))))->up();
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d))),null())->up();
}
HXLINE( 447) {
HXLINE( 447) ::Dynamic map = ssrc;
@@ -507,35 +509,35 @@ HXLINE( 448) return (attr->key == HX_("msid",c1,e0,63,48));
HXLINE( 447) ::String key1 = ( (::String)(entry_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
HXDLIN( 447) ::Array< ::Dynamic> entry_value = ( (::Array< ::Dynamic>)(::haxe::IMap_obj::get(map,key1)) );
HXLINE( 448) ::borogove::calls::Attribute msid = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_3()))) );
-HXLINE( 453) bool _hx_tmp4;
+HXLINE( 453) bool _hx_tmp5;
HXDLIN( 453) if (::hx::IsNotNull( msid )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
bool _hx_run( ::borogove::Stanza param){
HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_453_toElement)
-HXLINE( 453) return (( (::String)(::Reflect_obj::field(param->attr,HX_("name",4b,72,ff,48))) ) == HX_("msid",c1,e0,63,48));
+HXLINE( 453) return ::hx::IsEq( param->attr->get(HX_("name",4b,72,ff,48)),HX_("msid",c1,e0,63,48) );
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 453) _hx_tmp4 = !(::Lambda_obj::exists(entry_value, ::Dynamic(new _hx_Closure_4())));
+HXLINE( 453) _hx_tmp5 = !(::Lambda_obj::exists(entry_value, ::Dynamic(new _hx_Closure_4())));
}
else {
-HXLINE( 453) _hx_tmp4 = false;
+HXLINE( 453) _hx_tmp5 = false;
}
-HXDLIN( 453) if (_hx_tmp4) {
+HXDLIN( 453) if (_hx_tmp5) {
HXLINE( 454) entry_value->push( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("parameter",a9,35,b0,48), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("value",71,7f,b8,31),msid->value)
- ->setFixed(1,HX_("name",4b,72,ff,48),HX_("msid",c1,e0,63,48)))));
+ ->setFixed(1,HX_("name",4b,72,ff,48),HX_("msid",c1,e0,63,48))),null()));
}
HXLINE( 456) description->tag(HX_("source",db,b0,31,32), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("ssrc",51,30,5b,4c),key1)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:ssma:0",51,23,31,6f))))->addChildren(entry_value)->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:ssma:0",51,23,31,6f))),null())->addChildren(entry_value)->up();
}
}
HXLINE( 459) if (::Lambda_obj::exists(this->attributes, ::Dynamic(new _hx_Closure_5()))) {
-HXLINE( 460) description->tag(HX_("rtcp-mux",72,08,78,80),null())->up();
+HXLINE( 460) description->tag(HX_("rtcp-mux",72,08,78,80),null(),null())->up();
}
HXLINE( 462) if (::Lambda_obj::exists(this->attributes, ::Dynamic(new _hx_Closure_6()))) {
-HXLINE( 463) description->tag(HX_("ice-lite",b0,64,44,1d),null())->up();
+HXLINE( 463) description->tag(HX_("ice-lite",b0,64,44,1d),null(),null())->up();
}
HXLINE( 465) description->up();
HXLINE( 466) content->addChild(this->toTransportElement(sessionAttributes))->up();
@@ -610,7 +612,7 @@ HXLINE( 479) ::Dynamic transportAttr = ::Dynamic(::hx::Anon_obj::Create(1)
HXLINE( 480) ::Dynamic ufragPwd = this->getUfragPwd(sessionAttributes);
HXLINE( 481) ::Reflect_obj::setField(transportAttr,HX_("ufrag",27,78,a4,a1), ::Dynamic(ufragPwd->__Field(HX_("ufrag",27,78,a4,a1),::hx::paccDynamic)));
HXLINE( 482) ::Reflect_obj::setField(transportAttr,HX_("pwd",7d,64,55,00), ::Dynamic(ufragPwd->__Field(HX_("pwd",7d,64,55,00),::hx::paccDynamic)));
-HXLINE( 483) ::borogove::Stanza transport = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("transport",a9,4f,2f,4c),transportAttr);
+HXLINE( 483) ::borogove::Stanza transport = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("transport",a9,4f,2f,4c),transportAttr,null());
HXLINE( 484) ::borogove::calls::Attribute fingerprint = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes->concat(sessionAttributes), ::Dynamic(new _hx_Closure_0()))) );
HXLINE( 485) ::borogove::calls::Attribute setup = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes->concat(sessionAttributes), ::Dynamic(new _hx_Closure_1()))) );
HXLINE( 486) bool _hx_tmp;
@@ -634,7 +636,7 @@ HXDLIN( 488) ::String _hx_tmp3 = fingerprint->value.substr(0,pos);
HXDLIN( 488) transport->textTag(HX_("fingerprint",e4,43,63,a3),_hx_tmp2, ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("hash",ce,2f,08,45),_hx_tmp3)
->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:dtls:0",a8,cb,02,66))
- ->setFixed(2,HX_("setup",7d,ae,2f,7a),setup->value)));
+ ->setFixed(2,HX_("setup",7d,ae,2f,7a),setup->value)),null());
}
HXLINE( 490) ::Array< ::Dynamic> _this = this->attributes;
HXDLIN( 490) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
@@ -674,13 +676,13 @@ HX_DEFINE_DYNAMIC_FUNC1(Media_obj,toTransportElement,return )
HX_GC_STACKFRAME(&_hx_pos_47b42bb0bd2f262c_236_fromElement)
HXLINE( 237) ::Array< ::Dynamic> mediaAttributes = ::Array_obj< ::Dynamic>::__new(0);
HXLINE( 238) ::Array< int > mediaFormats = ::Array_obj< int >::__new(0);
-HXLINE( 239) ::String mid = ( (::String)(::Reflect_obj::field(content->attr,HX_("name",4b,72,ff,48))) );
+HXLINE( 239) ::String mid = content->attr->get_string(HX_("name",4b,72,ff,48));
HXLINE( 240) ::borogove::Stanza transport = content->getChild(HX_("transport",a9,4f,2f,4c),HX_("urn:xmpp:jingle:transports:ice-udp:1",f3,67,4f,53));
HXLINE( 241) if (::hx::IsNull( transport )) {
HXLINE( 241) HX_STACK_DO_THROW(HX_("ice-udp transport is missing",08,38,e1,ee));
}
-HXLINE( 243) ::String ufrag = ( (::String)(::Reflect_obj::field(transport->attr,HX_("ufrag",27,78,a4,a1))) );
-HXLINE( 244) ::String pwd = ( (::String)(::Reflect_obj::field(transport->attr,HX_("pwd",7d,64,55,00))) );
+HXLINE( 243) ::String ufrag = transport->attr->get_string(HX_("ufrag",27,78,a4,a1));
+HXLINE( 244) ::String pwd = transport->attr->get_string(HX_("pwd",7d,64,55,00));
HXLINE( 245) bool _hx_tmp;
HXDLIN( 245) bool _hx_tmp1;
HXDLIN( 245) if (::hx::IsNotNull( ufrag )) {
@@ -716,10 +718,10 @@ HXLINE( 260) mediaAttributes->push(existingDescription->getFingerprint());
}
}
else {
-HXLINE( 263) ::String _hx_tmp2 = (( (::String)(::Reflect_obj::field(fingerprint->attr,HX_("hash",ce,2f,08,45))) ) + HX_(" ",20,00,00,00));
+HXLINE( 263) ::String _hx_tmp2 = (fingerprint->attr->get(HX_("hash",ce,2f,08,45)) + HX_(" ",20,00,00,00));
HXDLIN( 263) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("fingerprint",e4,43,63,a3),(_hx_tmp2 + fingerprint->getText())));
-HXLINE( 264) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(fingerprint->attr,HX_("setup",7d,ae,2f,7a))) ) )) {
-HXLINE( 265) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),( (::String)(::Reflect_obj::field(fingerprint->attr,HX_("setup",7d,ae,2f,7a))) )));
+HXLINE( 264) if (::hx::IsNotNull( fingerprint->attr->get(HX_("setup",7d,ae,2f,7a)) )) {
+HXLINE( 265) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("setup",7d,ae,2f,7a),fingerprint->attr->get_string(HX_("setup",7d,ae,2f,7a))));
}
}
HXLINE( 269) ::borogove::Stanza description = content->getChild(HX_("description",fc,08,1d,5f),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c));
@@ -729,14 +731,14 @@ HXDLIN( 270) ::Array< ::Dynamic> _g1 = description->allTags(HX_("payload-type"
HXDLIN( 270) while((_g < _g1->length)){
HXLINE( 270) ::borogove::Stanza payloadType = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
HXDLIN( 270) _g = (_g + 1);
-HXLINE( 271) ::Dynamic id = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(payloadType->attr,HX_("id",db,5b,00,00))) ));
-HXLINE( 272) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(payloadType->attr,HX_("id",db,5b,00,00))) ) )) {
+HXLINE( 271) ::Dynamic id = ::Std_obj::parseInt(payloadType->attr->get_string(HX_("id",db,5b,00,00)));
+HXLINE( 272) if (::hx::IsNull( payloadType->attr->get(HX_("id",db,5b,00,00)) )) {
HXLINE( 272) HX_STACK_DO_THROW(HX_("payload-type missing or invalid id",c0,c4,e7,d7));
}
HXLINE( 273) mediaFormats->push(id);
-HXLINE( 274) ::Dynamic clockRate = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(payloadType->attr,HX_("clockrate",ae,5b,4b,39))) ));
-HXLINE( 275) ::Dynamic channels = ::Std_obj::parseInt(( (::String)(::Reflect_obj::field(payloadType->attr,HX_("channels",50,aa,ee,6a))) ));
-HXLINE( 276) ::String _hx_tmp3 = (((id + HX_(" ",20,00,00,00)) + ( (::String)(::Reflect_obj::field(payloadType->attr,HX_("name",4b,72,ff,48))) )) + HX_("/",2f,00,00,00));
+HXLINE( 274) ::Dynamic clockRate = ::Std_obj::parseInt(payloadType->attr->get_string(HX_("clockrate",ae,5b,4b,39)));
+HXLINE( 275) ::Dynamic channels = ::Std_obj::parseInt(payloadType->attr->get_string(HX_("channels",50,aa,ee,6a)));
+HXLINE( 276) ::String _hx_tmp3 = (((id + HX_(" ",20,00,00,00)) + payloadType->attr->get(HX_("name",4b,72,ff,48))) + HX_("/",2f,00,00,00));
HXDLIN( 276) ::Dynamic _hx_tmp4;
HXDLIN( 276) if (::hx::IsNull( clockRate )) {
HXLINE( 276) _hx_tmp4 = 0;
@@ -770,13 +772,13 @@ HXDLIN( 278) int i = (_g2 - 1);
HXDLIN( 278) {
HXLINE( 278) ::borogove::Stanza el = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
HXDLIN( 278) ::String inValue;
-HXDLIN( 278) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(el->attr,HX_("name",4b,72,ff,48))) ) )) {
+HXDLIN( 278) if (::hx::IsNull( el->attr->get(HX_("name",4b,72,ff,48)) )) {
HXLINE( 278) inValue = HX_("",00,00,00,00);
}
else {
-HXLINE( 278) inValue = (( (::String)(::Reflect_obj::field(el->attr,HX_("name",4b,72,ff,48))) ) + HX_("=",3d,00,00,00));
+HXLINE( 278) inValue = (el->attr->get(HX_("name",4b,72,ff,48)) + HX_("=",3d,00,00,00));
}
-HXDLIN( 278) ::String inValue1 = (inValue + ( (::String)(::Reflect_obj::field(el->attr,HX_("value",71,7f,b8,31))) ));
+HXDLIN( 278) ::String inValue1 = (inValue + el->attr->get(HX_("value",71,7f,b8,31)));
HXDLIN( 278) result->__unsafe_set(i,inValue1);
}
}
@@ -790,8 +792,8 @@ HXDLIN( 283) ::Array< ::Dynamic> _g5 = payloadType->allTags(HX_("rtcp-fb",1a
HXDLIN( 283) while((_g4 < _g5->length)){
HXLINE( 283) ::borogove::Stanza feedbackNegotiation = _g5->__get(_g4).StaticCast< ::borogove::Stanza >();
HXDLIN( 283) _g4 = (_g4 + 1);
-HXLINE( 284) ::String subtype = ( (::String)(::Reflect_obj::field(feedbackNegotiation->attr,HX_("subtype",3a,5c,33,30))) );
-HXLINE( 285) ::String _hx_tmp7 = ((id + HX_(" ",20,00,00,00)) + ( (::String)(::Reflect_obj::field(feedbackNegotiation->attr,HX_("type",ba,f2,08,4d))) ));
+HXLINE( 284) ::String subtype = feedbackNegotiation->attr->get_string(HX_("subtype",3a,5c,33,30));
+HXLINE( 285) ::String _hx_tmp7 = ((id + HX_(" ",20,00,00,00)) + feedbackNegotiation->attr->get(HX_("type",ba,f2,08,4d)));
HXDLIN( 285) ::String _hx_tmp8;
HXDLIN( 285) bool _hx_tmp9;
HXDLIN( 285) if (::hx::IsNotNull( subtype )) {
@@ -815,7 +817,7 @@ HXDLIN( 288) ::Array< ::Dynamic> _g7 = payloadType->allTags(HX_("rtcp-fb-trr
HXDLIN( 288) while((_g6 < _g7->length)){
HXLINE( 288) ::borogove::Stanza trrInt = _g7->__get(_g6).StaticCast< ::borogove::Stanza >();
HXDLIN( 288) _g6 = (_g6 + 1);
-HXLINE( 289) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),((id + HX_(" trr-int ",6a,39,0a,91)) + ( (::String)(::Reflect_obj::field(trrInt->attr,HX_("value",71,7f,b8,31))) ))));
+HXLINE( 289) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),((id + HX_(" trr-int ",6a,39,0a,91)) + trrInt->attr->get(HX_("value",71,7f,b8,31)))));
}
}
}
@@ -826,8 +828,8 @@ HXDLIN( 293) ::Array< ::Dynamic> _g9 = description->allTags(HX_("rtcp-fb",1a,8
HXDLIN( 293) while((_g8 < _g9->length)){
HXLINE( 293) ::borogove::Stanza feedbackNegotiation1 = _g9->__get(_g8).StaticCast< ::borogove::Stanza >();
HXDLIN( 293) _g8 = (_g8 + 1);
-HXLINE( 294) ::String subtype1 = ( (::String)(::Reflect_obj::field(feedbackNegotiation1->attr,HX_("subtype",3a,5c,33,30))) );
-HXLINE( 295) ::String _hx_tmp10 = (HX_("* ",b6,24,00,00) + ( (::String)(::Reflect_obj::field(feedbackNegotiation1->attr,HX_("type",ba,f2,08,4d))) ));
+HXLINE( 294) ::String subtype1 = feedbackNegotiation1->attr->get_string(HX_("subtype",3a,5c,33,30));
+HXLINE( 295) ::String _hx_tmp10 = (HX_("* ",b6,24,00,00) + feedbackNegotiation1->attr->get(HX_("type",ba,f2,08,4d)));
HXDLIN( 295) ::String _hx_tmp11;
HXDLIN( 295) bool _hx_tmp12;
HXDLIN( 295) if (::hx::IsNotNull( subtype1 )) {
@@ -851,7 +853,7 @@ HXDLIN( 298) ::Array< ::Dynamic> _g11 = description->allTags(HX_("rtcp-fb-trr-
HXDLIN( 298) while((_g10 < _g11->length)){
HXLINE( 298) ::borogove::Stanza trrInt1 = _g11->__get(_g10).StaticCast< ::borogove::Stanza >();
HXDLIN( 298) _g10 = (_g10 + 1);
-HXLINE( 299) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(HX_("* trr-int ",00,e4,41,1d) + ( (::String)(::Reflect_obj::field(trrInt1->attr,HX_("value",71,7f,b8,31))) ))));
+HXLINE( 299) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("rtcp-fb",1a,8f,ca,30),(HX_("* trr-int ",00,e4,41,1d) + trrInt1->attr->get(HX_("value",71,7f,b8,31)))));
}
}
HXLINE( 302) {
@@ -860,8 +862,8 @@ HXDLIN( 302) ::Array< ::Dynamic> _g13 = description->allTags(HX_("rtp-hdrext",
HXDLIN( 302) while((_g12 < _g13->length)){
HXLINE( 302) ::borogove::Stanza headerExtension = _g13->__get(_g12).StaticCast< ::borogove::Stanza >();
HXDLIN( 302) _g12 = (_g12 + 1);
-HXLINE( 303) ::String _hx_tmp13 = (( (::String)(::Reflect_obj::field(headerExtension->attr,HX_("id",db,5b,00,00))) ) + HX_(" ",20,00,00,00));
-HXDLIN( 303) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("extmap",9b,d8,20,c7),(_hx_tmp13 + ( (::String)(::Reflect_obj::field(headerExtension->attr,HX_("uri",6c,2b,59,00))) ))));
+HXLINE( 303) ::String _hx_tmp13 = (headerExtension->attr->get(HX_("id",db,5b,00,00)) + HX_(" ",20,00,00,00));
+HXDLIN( 303) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("extmap",9b,d8,20,c7),(_hx_tmp13 + headerExtension->attr->get(HX_("uri",6c,2b,59,00)))));
}
}
HXLINE( 306) if (::hx::IsNotNull( description->getChild(HX_("extmap-allow-mixed",05,91,99,44),HX_("urn:xmpp:jingle:apps:rtp:rtp-hdrext:0",c7,33,ab,6d)) )) {
@@ -873,7 +875,7 @@ HXDLIN( 310) ::Array< ::Dynamic> _g15 = description->allTags(HX_("ssrc-group",
HXDLIN( 310) while((_g14 < _g15->length)){
HXLINE( 310) ::borogove::Stanza sourceGroup = _g15->__get(_g14).StaticCast< ::borogove::Stanza >();
HXDLIN( 310) _g14 = (_g14 + 1);
-HXLINE( 311) ::String _hx_tmp14 = (( (::String)(::Reflect_obj::field(sourceGroup->attr,HX_("semantics",ad,54,ab,73))) ) + HX_(" ",20,00,00,00));
+HXLINE( 311) ::String _hx_tmp14 = (sourceGroup->attr->get(HX_("semantics",ad,54,ab,73)) + HX_(" ",20,00,00,00));
HXDLIN( 311) ::Array< ::Dynamic> _this1 = sourceGroup->allTags(HX_("source",db,b0,31,32),null());
HXDLIN( 311) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
HXDLIN( 311) {
@@ -883,7 +885,7 @@ HXDLIN( 311) while((_g16 < _g17)){
HXLINE( 311) _g16 = (_g16 + 1);
HXDLIN( 311) int i1 = (_g16 - 1);
HXDLIN( 311) {
-HXLINE( 311) ::String inValue2 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr,HX_("ssrc",51,30,5b,4c))) );
+HXLINE( 311) ::String inValue2 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->attr->get_string(HX_("ssrc",51,30,5b,4c));
HXDLIN( 311) result1->__unsafe_set(i1,inValue2);
}
}
@@ -903,16 +905,16 @@ HXDLIN( 315) ::Array< ::Dynamic> _g21 = source->allTags(HX_("parameter",a9,3
HXDLIN( 315) while((_g20 < _g21->length)){
HXLINE( 315) ::borogove::Stanza parameter = _g21->__get(_g20).StaticCast< ::borogove::Stanza >();
HXDLIN( 315) _g20 = (_g20 + 1);
-HXLINE( 316) ::String _hx_tmp15 = (( (::String)(::Reflect_obj::field(source->attr,HX_("ssrc",51,30,5b,4c))) ) + HX_(" ",20,00,00,00));
-HXDLIN( 316) ::String _hx_tmp16 = ((_hx_tmp15 + ( (::String)(::Reflect_obj::field(parameter->attr,HX_("name",4b,72,ff,48))) )) + HX_(":",3a,00,00,00));
-HXDLIN( 316) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ssrc",51,30,5b,4c),(_hx_tmp16 + ( (::String)(::Reflect_obj::field(parameter->attr,HX_("value",71,7f,b8,31))) ))));
+HXLINE( 316) ::String _hx_tmp15 = (source->attr->get(HX_("ssrc",51,30,5b,4c)) + HX_(" ",20,00,00,00));
+HXDLIN( 316) ::String _hx_tmp16 = ((_hx_tmp15 + parameter->attr->get(HX_("name",4b,72,ff,48))) + HX_(":",3a,00,00,00));
+HXDLIN( 316) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("ssrc",51,30,5b,4c),(_hx_tmp16 + parameter->attr->get(HX_("value",71,7f,b8,31)))));
}
}
}
}
HXLINE( 320) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("mid",88,11,53,00),mid));
HXLINE( 322) {
-HXLINE( 322) ::String _g22 = ( (::String)(::Reflect_obj::field(content->attr,HX_("senders",1e,f7,a9,a8))) );
+HXLINE( 322) ::String _g22 = content->attr->get_string(HX_("senders",1e,f7,a9,a8));
HXDLIN( 322) if (::hx::IsNull( _g22 )) {
HXLINE( 338) mediaAttributes->push( ::borogove::calls::Attribute_obj::__alloc( HX_CTX ,HX_("sendrecv",6e,1e,9c,f4),HX_("",00,00,00,00)));
}
@@ -965,7 +967,7 @@ HXDLIN( 351) if (::hx::IsNull( description )) {
HXLINE( 351) _hx_tmp18 = HX_("",00,00,00,00);
}
else {
-HXLINE( 351) _hx_tmp18 = ( (::String)(::Reflect_obj::field(description->attr,HX_("media",e4,04,bc,05))) );
+HXLINE( 351) _hx_tmp18 = description->attr->get_string(HX_("media",e4,04,bc,05));
}
HXLINE( 349) return ::borogove::calls::Media_obj::__alloc( HX_CTX ,mid,_hx_tmp18,HX_("IN IP4 0.0.0.0",08,75,43,c4),HX_("9",39,00,00,00),HX_("UDP/TLS/RTP/SAVPF",1b,15,d1,42),mediaAttributes,mediaFormats);
}
diff --git a/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp b/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp
index eea39f2..84ba349 100644
--- a/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp
+++ b/Sources/c_borogove/src/borogove/calls/OutgoingProposedSession.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -71,36 +68,36 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_d2a3c174e5a36893_196_new,"borogove.calls.OutgoingProposedSession","new",0xf8b58fb0,"borogove.calls.OutgoingProposedSession.new","borogove/calls/Session.hx",196,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_224_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",224,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_213_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",213,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_237_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",237,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_234_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",234,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_252_retract,"borogove.calls.OutgoingProposedSession","retract",0xd2758951,"borogove.calls.OutgoingProposedSession.retract","borogove/calls/Session.hx",252,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_257_terminate,"borogove.calls.OutgoingProposedSession","terminate",0x77424db1,"borogove.calls.OutgoingProposedSession.terminate","borogove/calls/Session.hx",257,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_262_contentAdd,"borogove.calls.OutgoingProposedSession","contentAdd",0x0c853118,"borogove.calls.OutgoingProposedSession.contentAdd","borogove/calls/Session.hx",262,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_267_contentAccept,"borogove.calls.OutgoingProposedSession","contentAccept",0xb429c871,"borogove.calls.OutgoingProposedSession.contentAccept","borogove/calls/Session.hx",267,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_271_transportInfo,"borogove.calls.OutgoingProposedSession","transportInfo",0x89f74007,"borogove.calls.OutgoingProposedSession.transportInfo","borogove/calls/Session.hx",271,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_278_accept,"borogove.calls.OutgoingProposedSession","accept",0x39e745b8,"borogove.calls.OutgoingProposedSession.accept","borogove/calls/Session.hx",278,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_282_initiate,"borogove.calls.OutgoingProposedSession","initiate",0x8e062909,"borogove.calls.OutgoingProposedSession.initiate","borogove/calls/Session.hx",282,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_295_addMedia,"borogove.calls.OutgoingProposedSession","addMedia",0xad8fe9b3,"borogove.calls.OutgoingProposedSession.addMedia","borogove/calls/Session.hx",295,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_299_callStatus,"borogove.calls.OutgoingProposedSession","callStatus",0xf9d38920,"borogove.calls.OutgoingProposedSession.callStatus","borogove/calls/Session.hx",299,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_304_audioTracks,"borogove.calls.OutgoingProposedSession","audioTracks",0xde56ec4e,"borogove.calls.OutgoingProposedSession.audioTracks","borogove/calls/Session.hx",304,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_309_videoTracks,"borogove.calls.OutgoingProposedSession","videoTracks",0x884e51b3,"borogove.calls.OutgoingProposedSession.videoTracks","borogove/calls/Session.hx",309,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_314_dtmf,"borogove.calls.OutgoingProposedSession","dtmf",0x9f976199,"borogove.calls.OutgoingProposedSession.dtmf","borogove/calls/Session.hx",314,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_318_get_sid,"borogove.calls.OutgoingProposedSession","get_sid",0xfc880ef5,"borogove.calls.OutgoingProposedSession.get_sid","borogove/calls/Session.hx",318,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_322_get_chatId,"borogove.calls.OutgoingProposedSession","get_chatId",0x70a63f4c,"borogove.calls.OutgoingProposedSession.get_chatId","borogove/calls/Session.hx",322,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_196_boot,"borogove.calls.OutgoingProposedSession","boot",0x9e412ae2,"borogove.calls.OutgoingProposedSession.boot","borogove/calls/Session.hx",196,0x33a79030)
+HX_DEFINE_STACK_FRAME(_hx_pos_d2a3c174e5a36893_200_new,"borogove.calls.OutgoingProposedSession","new",0xf8b58fb0,"borogove.calls.OutgoingProposedSession.new","borogove/calls/Session.hx",200,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_228_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",228,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_217_propose,"borogove.calls.OutgoingProposedSession","propose",0xcfa5a64e,"borogove.calls.OutgoingProposedSession.propose","borogove/calls/Session.hx",217,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_241_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",241,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_238_hangup,"borogove.calls.OutgoingProposedSession","hangup",0xe6e084fd,"borogove.calls.OutgoingProposedSession.hangup","borogove/calls/Session.hx",238,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_256_retract,"borogove.calls.OutgoingProposedSession","retract",0xd2758951,"borogove.calls.OutgoingProposedSession.retract","borogove/calls/Session.hx",256,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_261_terminate,"borogove.calls.OutgoingProposedSession","terminate",0x77424db1,"borogove.calls.OutgoingProposedSession.terminate","borogove/calls/Session.hx",261,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_266_contentAdd,"borogove.calls.OutgoingProposedSession","contentAdd",0x0c853118,"borogove.calls.OutgoingProposedSession.contentAdd","borogove/calls/Session.hx",266,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_271_contentAccept,"borogove.calls.OutgoingProposedSession","contentAccept",0xb429c871,"borogove.calls.OutgoingProposedSession.contentAccept","borogove/calls/Session.hx",271,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_275_transportInfo,"borogove.calls.OutgoingProposedSession","transportInfo",0x89f74007,"borogove.calls.OutgoingProposedSession.transportInfo","borogove/calls/Session.hx",275,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_282_accept,"borogove.calls.OutgoingProposedSession","accept",0x39e745b8,"borogove.calls.OutgoingProposedSession.accept","borogove/calls/Session.hx",282,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_286_initiate,"borogove.calls.OutgoingProposedSession","initiate",0x8e062909,"borogove.calls.OutgoingProposedSession.initiate","borogove/calls/Session.hx",286,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_299_addMedia,"borogove.calls.OutgoingProposedSession","addMedia",0xad8fe9b3,"borogove.calls.OutgoingProposedSession.addMedia","borogove/calls/Session.hx",299,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_303_callStatus,"borogove.calls.OutgoingProposedSession","callStatus",0xf9d38920,"borogove.calls.OutgoingProposedSession.callStatus","borogove/calls/Session.hx",303,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_308_audioTracks,"borogove.calls.OutgoingProposedSession","audioTracks",0xde56ec4e,"borogove.calls.OutgoingProposedSession.audioTracks","borogove/calls/Session.hx",308,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_313_videoTracks,"borogove.calls.OutgoingProposedSession","videoTracks",0x884e51b3,"borogove.calls.OutgoingProposedSession.videoTracks","borogove/calls/Session.hx",313,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_318_dtmf,"borogove.calls.OutgoingProposedSession","dtmf",0x9f976199,"borogove.calls.OutgoingProposedSession.dtmf","borogove/calls/Session.hx",318,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_322_get_sid,"borogove.calls.OutgoingProposedSession","get_sid",0xfc880ef5,"borogove.calls.OutgoingProposedSession.get_sid","borogove/calls/Session.hx",322,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_326_get_chatId,"borogove.calls.OutgoingProposedSession","get_chatId",0x70a63f4c,"borogove.calls.OutgoingProposedSession.get_chatId","borogove/calls/Session.hx",326,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_d2a3c174e5a36893_200_boot,"borogove.calls.OutgoingProposedSession","boot",0x9e412ae2,"borogove.calls.OutgoingProposedSession.boot","borogove/calls/Session.hx",200,0x33a79030)
namespace borogove{
namespace calls{
void OutgoingProposedSession_obj::__construct( ::borogove::Client client, ::borogove::JID to){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_196_new)
-HXLINE( 203) this->video = false;
-HXLINE( 202) this->audio = false;
-HXLINE( 207) this->client = client;
-HXLINE( 208) this->to = to;
-HXLINE( 209) this->_sid = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_200_new)
+HXLINE( 207) this->video = false;
+HXLINE( 206) this->audio = false;
+HXLINE( 211) this->client = client;
+HXLINE( 212) this->to = to;
+HXLINE( 213) this->_sid = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
}
Dynamic OutgoingProposedSession_obj::__CreateEmpty() { return new OutgoingProposedSession_obj; }
@@ -153,38 +150,38 @@ void *OutgoingProposedSession_obj::_hx_getInterface(int inHash) {
void OutgoingProposedSession_obj::propose(bool audio,bool video){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::OutgoingProposedSession,_gthis, ::borogove::Stanza,event, ::borogove::ChatMessage,msg) HXARGC(1)
::borogove::EventResult _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_224_propose)
-HXLINE( 225) ::String stanza = _gthis->to->asString();
-HXDLIN( 225) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_228_propose)
+HXLINE( 229) ::String stanza = _gthis->to->asString();
+HXDLIN( 229) ::borogove::Stanza stanza1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),msg->localId)
->setFixed(1,HX_("to",7b,65,00,00),stanza)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe))));
-HXLINE( 228) _gthis->client->sendStanza(stanza1);
-HXLINE( 229) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),0);
-HXLINE( 230) return _gthis->client->trigger(HX_("call/ringing",81,75,54,f9),_gthis);
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe))),null());
+HXLINE( 232) _gthis->client->sendStanza(stanza1);
+HXLINE( 233) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),0);
+HXLINE( 234) return _gthis->client->trigger(HX_("call/ringing",81,75,54,f9),_gthis);
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_213_propose)
-HXDLIN( 213) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 214) this->audio = audio;
-HXLINE( 215) this->video = video;
-HXLINE( 216) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("propose",fe,fe,e9,f9), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_217_propose)
+HXDLIN( 217) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 218) this->audio = audio;
+HXLINE( 219) this->video = video;
+HXLINE( 220) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("propose",fe,fe,e9,f9), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 217) if (audio) {
-HXLINE( 218) event->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 221) if (audio) {
+HXLINE( 222) event->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("media",e4,04,bc,05),HX_("audio",d6,78,80,27))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))))->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))),null())->up();
}
-HXLINE( 220) if (video) {
-HXLINE( 221) event->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 224) if (video) {
+HXLINE( 225) event->tag(HX_("description",fc,08,1d,5f), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("media",e4,04,bc,05),HX_("video",7b,14,fc,36))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))))->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:apps:rtp:1",ea,41,fe,5c))),null())->up();
}
-HXLINE( 223) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client,event);
-HXLINE( 224) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
+HXLINE( 227) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client,event);
+HXLINE( 228) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
}
@@ -193,36 +190,36 @@ HX_DEFINE_DYNAMIC_FUNC2(OutgoingProposedSession_obj,propose,(void))
void OutgoingProposedSession_obj::hangup(){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::OutgoingProposedSession,_gthis, ::borogove::Stanza,event, ::borogove::ChatMessage,msg) HXARGC(1)
void _hx_run(::Array< ::Dynamic> stored){
- HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_237_hangup)
-HXLINE( 238) ::borogove::Client _gthis1 = _gthis->client;
-HXLINE( 239) ::String _hx_tmp = _gthis->to->asString();
-HXLINE( 238) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_241_hangup)
+HXLINE( 242) ::borogove::Client _gthis1 = _gthis->client;
+HXLINE( 243) ::String _hx_tmp = _gthis->to->asString();
+HXLINE( 242) _gthis1->sendStanza( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("message",c7,35,11,9a), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),msg->versions->__get(0).StaticCast< ::borogove::ChatMessage >()->localId)
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))))->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe)))));
-HXLINE( 243) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("chat",d8,5e,bf,41))),null())->addChild(event)->tag(HX_("store",e1,13,16,84), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hints",70,b3,d6,fe))),null()));
+HXLINE( 247) _gthis->client->notifyMessageHandlers(stored->__get(0).StaticCast< ::borogove::ChatMessage >(),1);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_234_hangup)
-HXDLIN( 234) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 235) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("retract",01,e2,b9,fc), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_238_hangup)
+HXDLIN( 238) ::borogove::calls::OutgoingProposedSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 239) ::borogove::Stanza event = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("retract",01,e2,b9,fc), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->get_sid())
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))));
-HXLINE( 236) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client,event);
-HXLINE( 237) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
-HXLINE( 245) {
-HXLINE( 245) ::borogove::Client tmp = this->client;
-HXDLIN( 245) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
-HXDLIN( 245) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 245) ::Dynamic this1 = tmp1->jingleSessions;
-HXDLIN( 245) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07))),null());
+HXLINE( 240) ::borogove::ChatMessage msg = ::borogove::calls::_Session::Session_Fields__obj::mkCallMessage(this->to,this->client,event);
+HXLINE( 241) ::thenshim::_Promise::Promise_Impl__obj::then(this->client->storeMessages(::Array_obj< ::Dynamic>::__new(1)->init(0,msg)), ::Dynamic(new _hx_Closure_0(_gthis,event,msg)),null());
+HXLINE( 249) {
+HXLINE( 249) ::borogove::Client tmp = this->client;
+HXDLIN( 249) ::borogove::Chat tmp1 = tmp->getChat(this->get_chatId());
+HXDLIN( 249) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 249) ::Dynamic this1 = tmp1->jingleSessions;
+HXDLIN( 249) ( ( ::haxe::ds::StringMap)(this1) )->remove(this->get_sid());
}
}
-HXLINE( 246) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 246) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 246) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 250) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 250) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 250) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
}
@@ -231,10 +228,10 @@ HXDLIN( 246) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,hangup,(void))
void OutgoingProposedSession_obj::retract(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_252_retract)
-HXDLIN( 252) ::borogove::Client _hx_tmp = this->client;
-HXDLIN( 252) ::String _hx_tmp1 = this->get_chatId();
-HXDLIN( 252) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_256_retract)
+HXDLIN( 256) ::borogove::Client _hx_tmp = this->client;
+HXDLIN( 256) ::String _hx_tmp1 = this->get_chatId();
+HXDLIN( 256) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
->setFixed(1,HX_("sid",0e,9f,57,00),this->get_sid())));
}
@@ -243,160 +240,160 @@ HXDLIN( 252) _hx_tmp->trigger(HX_("call/retract",50,bc,8d,db), ::Dynamic(::hx::
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,retract,(void))
void OutgoingProposedSession_obj::terminate(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_257_terminate)
-HXDLIN( 257) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 257) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
-HXDLIN( 257) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_261_terminate)
+HXDLIN( 261) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 261) ::String _hx_tmp1 = (HX_("Tried to terminate before session-initiate: ",a9,d4,f3,a4) + this->get_sid());
+HXDLIN( 261) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("terminate",61,32,d2,fd))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),257)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),261)));
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,terminate,(void))
void OutgoingProposedSession_obj::contentAdd( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_262_contentAdd)
-HXDLIN( 262) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 262) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
-HXDLIN( 262) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_266_contentAdd)
+HXDLIN( 266) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 266) ::String _hx_tmp1 = (HX_("Got content-add before session-initiate: ",10,d3,fa,8a) + this->get_sid());
+HXDLIN( 266) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("contentAdd",68,66,dd,43))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),262)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),266)));
}
HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAdd,(void))
void OutgoingProposedSession_obj::contentAccept( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_267_contentAccept)
-HXDLIN( 267) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 267) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
-HXDLIN( 267) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_271_contentAccept)
+HXDLIN( 271) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 271) ::String _hx_tmp1 = (HX_("Got content-accept before session-initiate: ",47,72,87,71) + this->get_sid());
+HXDLIN( 271) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("contentAccept",21,c5,01,e1))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),267)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),271)));
}
HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,contentAccept,(void))
::Dynamic OutgoingProposedSession_obj::transportInfo( ::borogove::Stanza _){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_271_transportInfo)
-HXLINE( 272) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 272) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
-HXDLIN( 272) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_275_transportInfo)
+HXLINE( 276) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 276) ::String _hx_tmp1 = (HX_("Got transport-info before session-initiate: ",bd,bd,9d,08) + this->get_sid());
+HXDLIN( 276) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("transportInfo",b7,3c,cf,b6))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),272)));
-HXLINE( 273) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),276)));
+HXLINE( 277) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,transportInfo,return )
void OutgoingProposedSession_obj::accept(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_278_accept)
-HXDLIN( 278) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
-HXDLIN( 278) ::String _hx_tmp1 = (HX_("Tried to accept before initiate: ",77,4a,a0,ec) + this->get_sid());
-HXDLIN( 278) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_282_accept)
+HXDLIN( 282) ::Dynamic _hx_tmp = ::haxe::Log_obj::trace;
+HXDLIN( 282) ::String _hx_tmp1 = (HX_("Tried to accept before initiate: ",77,4a,a0,ec) + this->get_sid());
+HXDLIN( 282) _hx_tmp(_hx_tmp1, ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.calls.OutgoingProposedSession",be,37,f0,b1))
->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,::hx::ObjectPtr<OBJ_>(this)))
->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("accept",08,93,06,0b))
->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/calls/Session.hx",30,90,a7,33))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),278)));
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),282)));
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,accept,(void))
::borogove::calls::OutgoingSession OutgoingProposedSession_obj::initiate( ::borogove::Stanza stanza){
- HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_282_initiate)
-HXLINE( 283) ::borogove::Stanza jmi = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
-HXLINE( 284) if (::hx::IsNull( jmi )) {
-HXLINE( 284) HX_STACK_DO_THROW((HX_("no jmi: ",4d,b1,bc,b7) + ::Std_obj::string(stanza)));
+ HX_GC_STACKFRAME(&_hx_pos_d2a3c174e5a36893_286_initiate)
+HXLINE( 287) ::borogove::Stanza jmi = stanza->getChild(HX_("proceed",2e,96,4a,f1),HX_("urn:xmpp:jingle-message:0",fd,20,a5,07));
+HXLINE( 288) if (::hx::IsNull( jmi )) {
+HXLINE( 288) HX_STACK_DO_THROW((HX_("no jmi: ",4d,b1,bc,b7) + ::Std_obj::string(stanza)));
}
-HXLINE( 285) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) );
-HXDLIN( 285) if ((_hx_tmp != this->get_sid())) {
-HXLINE( 285) ::String _hx_tmp1 = ((HX_("sid doesn't match: ",3b,d7,99,76) + ( (::String)(::Reflect_obj::field(jmi->attr,HX_("id",db,5b,00,00))) )) + HX_(" vs ",23,c2,80,15));
-HXDLIN( 285) HX_STACK_DO_THROW((_hx_tmp1 + this->get_sid()));
+HXLINE( 289) ::String _hx_tmp = jmi->attr->get_string(HX_("id",db,5b,00,00));
+HXDLIN( 289) if ((_hx_tmp != this->get_sid())) {
+HXLINE( 289) ::String _hx_tmp1 = ((HX_("sid doesn't match: ",3b,d7,99,76) + jmi->attr->get(HX_("id",db,5b,00,00))) + HX_(" vs ",23,c2,80,15));
+HXDLIN( 289) HX_STACK_DO_THROW((_hx_tmp1 + this->get_sid()));
}
-HXLINE( 286) ::borogove::Client _hx_tmp2 = this->client;
-HXDLIN( 286) _hx_tmp2->sendPresence(this->to->asString(),null());
-HXLINE( 287) ::borogove::Client session = this->client;
-HXDLIN( 287) ::borogove::JID session1 = ::borogove::JID_obj::parse(( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) ));
-HXDLIN( 287) ::borogove::calls::OutgoingSession session2 = ::borogove::calls::OutgoingSession_obj::__alloc( HX_CTX ,session,session1,this->get_sid());
-HXLINE( 288) this->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 290) ::borogove::Client _hx_tmp2 = this->client;
+HXDLIN( 290) _hx_tmp2->sendPresence(this->to->asString(),null());
+HXLINE( 291) ::borogove::Client session = this->client;
+HXDLIN( 291) ::borogove::JID session1 = ::borogove::JID_obj::parse(stanza->attr->get_string(HX_("from",6a,a5,c2,43)));
+HXDLIN( 291) ::borogove::calls::OutgoingSession session2 = ::borogove::calls::OutgoingSession_obj::__alloc( HX_CTX ,session,session1,this->get_sid());
+HXLINE( 292) this->client->trigger(HX_("call/media",73,5d,1d,c7), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("session",56,17,98,93),session2)
->setFixed(1,HX_("audio",d6,78,80,27),this->audio)
->setFixed(2,HX_("video",7b,14,fc,36),this->video)));
-HXLINE( 289) this->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 293) this->client->trigger(HX_("call/updateStatus",6c,f5,e6,ec), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("session",56,17,98,93),session2)));
-HXLINE( 290) return session2;
+HXLINE( 294) return session2;
}
HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,initiate,return )
void OutgoingProposedSession_obj::addMedia(::Array< ::Dynamic> _){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_295_addMedia)
-HXDLIN( 295) HX_STACK_DO_THROW(HX_("Cannot add media before call starts",aa,0a,79,d5));
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_299_addMedia)
+HXDLIN( 299) HX_STACK_DO_THROW(HX_("Cannot add media before call starts",aa,0a,79,d5));
}
HX_DEFINE_DYNAMIC_FUNC1(OutgoingProposedSession_obj,addMedia,(void))
int OutgoingProposedSession_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_299_callStatus)
-HXDLIN( 299) return 2;
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_303_callStatus)
+HXDLIN( 303) return 2;
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,callStatus,return )
::Array< ::Dynamic> OutgoingProposedSession_obj::audioTracks(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_304_audioTracks)
-HXDLIN( 304) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_308_audioTracks)
+HXDLIN( 308) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,audioTracks,return )
::Array< ::Dynamic> OutgoingProposedSession_obj::videoTracks(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_309_videoTracks)
-HXDLIN( 309) return ::Array_obj< ::Dynamic>::__new(0);
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_313_videoTracks)
+HXDLIN( 313) return ::Array_obj< ::Dynamic>::__new(0);
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,videoTracks,return )
::borogove::calls::DTMFSender OutgoingProposedSession_obj::dtmf(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_314_dtmf)
-HXDLIN( 314) return null();
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_318_dtmf)
+HXDLIN( 318) return null();
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,dtmf,return )
::String OutgoingProposedSession_obj::get_sid(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_318_get_sid)
-HXDLIN( 318) return this->_sid;
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_322_get_sid)
+HXDLIN( 322) return this->_sid;
}
HX_DEFINE_DYNAMIC_FUNC0(OutgoingProposedSession_obj,get_sid,return )
::String OutgoingProposedSession_obj::get_chatId(){
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_322_get_chatId)
-HXDLIN( 322) return this->to->asBare()->asString();
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_326_get_chatId)
+HXDLIN( 326) return this->to->asBare()->asString();
}
@@ -598,8 +595,8 @@ void OutgoingProposedSession_obj::__register()
void OutgoingProposedSession_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_196_boot)
-HXDLIN( 196) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_d2a3c174e5a36893_200_boot)
+HXDLIN( 200) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("videoTracks",63,c2,24,be), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
diff --git a/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp b/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp
index 433cef5..f266652 100644
--- a/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp
+++ b/Sources/c_borogove/src/borogove/calls/OutgoingSession.cpp
@@ -35,17 +35,17 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_1c185be5f9e73669_706_new,"borogove.calls.OutgoingSession","new",0x9e6d83b6,"borogove.calls.OutgoingSession.new","borogove/calls/Session.hx",706,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_710_onPeerConnection,"borogove.calls.OutgoingSession","onPeerConnection",0x5a3e20c9,"borogove.calls.OutgoingSession.onPeerConnection","borogove/calls/Session.hx",710,0x33a79030)
+HX_DEFINE_STACK_FRAME(_hx_pos_1c185be5f9e73669_710_new,"borogove.calls.OutgoingSession","new",0x9e6d83b6,"borogove.calls.OutgoingSession.new","borogove/calls/Session.hx",710,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_714_onPeerConnection,"borogove.calls.OutgoingSession","onPeerConnection",0x5a3e20c9,"borogove.calls.OutgoingSession.onPeerConnection","borogove/calls/Session.hx",714,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_721_initiate,"borogove.calls.OutgoingSession","initiate",0x4b1ddf43,"borogove.calls.OutgoingSession.initiate","borogove/calls/Session.hx",721,0x33a79030)
HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_717_initiate,"borogove.calls.OutgoingSession","initiate",0x4b1ddf43,"borogove.calls.OutgoingSession.initiate","borogove/calls/Session.hx",717,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_713_initiate,"borogove.calls.OutgoingSession","initiate",0x4b1ddf43,"borogove.calls.OutgoingSession.initiate","borogove/calls/Session.hx",713,0x33a79030)
-HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_722_callStatus,"borogove.calls.OutgoingSession","callStatus",0xf4f0c1da,"borogove.calls.OutgoingSession.callStatus","borogove/calls/Session.hx",722,0x33a79030)
+HX_LOCAL_STACK_FRAME(_hx_pos_1c185be5f9e73669_726_callStatus,"borogove.calls.OutgoingSession","callStatus",0xf4f0c1da,"borogove.calls.OutgoingSession.callStatus","borogove/calls/Session.hx",726,0x33a79030)
namespace borogove{
namespace calls{
void OutgoingSession_obj::__construct( ::borogove::Client client, ::borogove::JID counterpart,::String sid){
- HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_706_new)
-HXDLIN( 706) super::__construct(client,counterpart,sid,null());
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_710_new)
+HXDLIN( 710) super::__construct(client,counterpart,sid,null());
}
Dynamic OutgoingSession_obj::__CreateEmpty() { return new OutgoingSession_obj; }
@@ -68,47 +68,47 @@ bool OutgoingSession_obj::_hx_isInstanceOf(int inClassId) {
}
::Dynamic OutgoingSession_obj::onPeerConnection(){
- HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_710_onPeerConnection)
-HXDLIN( 710) return this->setupLocalDescription(HX_("session-initiate",70,2d,30,f7),null(),null(),null());
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_714_onPeerConnection)
+HXDLIN( 714) return this->setupLocalDescription(HX_("session-initiate",70,2d,30,f7),null(),null(),null());
}
::borogove::calls::OutgoingSession OutgoingSession_obj::initiate( ::borogove::Stanza stanza){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::calls::OutgoingSession,_gthis, ::borogove::Stanza,stanza) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_717_initiate)
-HXLINE( 717) return _gthis->transportInfo(stanza);
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_721_initiate)
+HXLINE( 721) return _gthis->transportInfo(stanza);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_713_initiate)
-HXDLIN( 713) ::borogove::calls::OutgoingSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 714) this->remoteDescription = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,true,null());
-HXLINE( 715) this->peerDtlsSetup = this->remoteDescription->getDtlsSetup();
-HXLINE( 716) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
-HXDLIN( 716) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_717_initiate)
+HXDLIN( 717) ::borogove::calls::OutgoingSession _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 718) this->remoteDescription = ::borogove::calls::SessionDescription_obj::fromStanza(stanza,true,null());
+HXLINE( 719) this->peerDtlsSetup = this->remoteDescription->getDtlsSetup();
+HXLINE( 720) ::borogove::calls::PeerConnection _hx_tmp = this->pc;
+HXDLIN( 720) ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->setRemoteDescription( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sdp",bf,9a,57,00),this->remoteDescription->toSdp())
->setFixed(1,HX_("type",ba,f2,08,4d),cpp::Struct(rtc::Description::Type::Answer)))), ::Dynamic(new _hx_Closure_0(_gthis,stanza)),null());
-HXLINE( 718) return ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 722) return ::hx::ObjectPtr<OBJ_>(this);
}
int OutgoingSession_obj::callStatus(){
- HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_722_callStatus)
-HXDLIN( 722) bool _hx_tmp;
-HXDLIN( 722) if (::hx::IsNotNull( this->pc )) {
-HXDLIN( 722) _hx_tmp = ::hx::IsNull( this->remoteDescription );
+ HX_STACKFRAME(&_hx_pos_1c185be5f9e73669_726_callStatus)
+HXDLIN( 726) bool _hx_tmp;
+HXDLIN( 726) if (::hx::IsNotNull( this->pc )) {
+HXDLIN( 726) _hx_tmp = ::hx::IsNull( this->remoteDescription );
}
else {
-HXDLIN( 722) _hx_tmp = true;
+HXDLIN( 726) _hx_tmp = true;
}
-HXDLIN( 722) if (_hx_tmp) {
-HXLINE( 723) return 2;
+HXDLIN( 726) if (_hx_tmp) {
+HXLINE( 727) return 2;
}
else {
-HXLINE( 725) return this->super::callStatus();
+HXLINE( 729) return this->super::callStatus();
}
-HXLINE( 722) return null();
+HXLINE( 726) return null();
}
diff --git a/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp b/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
index 2caa479..9c15730 100644
--- a/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
+++ b/Sources/c_borogove/src/borogove/calls/SessionDescription.cpp
@@ -22,6 +22,12 @@
#ifndef INCLUDED_borogove_calls_SessionDescription
#include <borogove/calls/SessionDescription.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_eabdb73125e41d9c_13_new,"borogove.calls.SessionDescription","new",0x8d2477fe,"borogove.calls.SessionDescription.new","borogove/calls/SessionDescription.hx",13,0xd9f63730)
HX_LOCAL_STACK_FRAME(_hx_pos_eabdb73125e41d9c_118_getUfragPwd,"borogove.calls.SessionDescription","getUfragPwd",0x17bd2eea,"borogove.calls.SessionDescription.getUfragPwd","borogove/calls/SessionDescription.hx",118,0xd9f63730)
@@ -324,11 +330,11 @@ HXLINE( 187) return (attr->key == HX_("group",3f,b3,f4,99));
HX_GC_STACKFRAME(&_hx_pos_eabdb73125e41d9c_184_toStanza)
HXLINE( 185) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
HXLINE( 186) ::borogove::Stanza jingle = iq->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("sid",0e,9f,57,00),sid)
->setFixed(1,HX_("action",b6,3b,46,16),action)
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))));
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))),null());
HXLINE( 187) ::borogove::calls::Attribute group = ( ( ::borogove::calls::Attribute)(::Lambda_obj::find(this->attributes, ::Dynamic(new _hx_Closure_0()))) );
HXLINE( 188) if (::hx::IsNotNull( group )) {
HXLINE( 189) jingle->addChild(::borogove::calls::Group_obj::parse(group->value)->toElement());
diff --git a/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp b/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
index bfc00d5..09db568 100644
--- a/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
+++ b/Sources/c_borogove/src/borogove/calls/TransportInfo.cpp
@@ -13,6 +13,12 @@
#ifndef INCLUDED_borogove_calls_TransportInfo
#include <borogove/calls/TransportInfo.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_0546eaa51ac16424_203_new,"borogove.calls.TransportInfo","new",0xf55f7c23,"borogove.calls.TransportInfo.new","borogove/calls/SessionDescription.hx",203,0xd9f63730)
HX_LOCAL_STACK_FRAME(_hx_pos_0546eaa51ac16424_208_toStanza,"borogove.calls.TransportInfo","toStanza",0x0e95d72d,"borogove.calls.TransportInfo.toStanza","borogove/calls/SessionDescription.hx",208,0xd9f63730)
@@ -43,11 +49,11 @@ bool TransportInfo_obj::_hx_isInstanceOf(int inClassId) {
::borogove::Stanza TransportInfo_obj::toStanza(bool initiator){
HX_GC_STACKFRAME(&_hx_pos_0546eaa51ac16424_208_toStanza)
HXLINE( 209) ::borogove::Stanza iq = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
HXLINE( 210) ::borogove::Stanza jingle = iq->tag(HX_("jingle",31,27,eb,1f), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("sid",0e,9f,57,00),this->sid)
->setFixed(1,HX_("action",b6,3b,46,16),HX_("transport-info",d2,9e,05,1c))
- ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))));
+ ->setFixed(2,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:jingle:1",44,c4,fe,f7))),null());
HXLINE( 211) ::borogove::Stanza _hx_tmp = this->media->contentElement(initiator);
HXDLIN( 211) jingle->addChild(_hx_tmp->addChild(this->media->toTransportElement(::Array_obj< ::Dynamic>::__new(0)))->up());
HXLINE( 212) jingle->up();
diff --git a/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp b/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
index 67ff62c..c16a01d 100644
--- a/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
+++ b/Sources/c_borogove/src/borogove/calls/_Session/Session_Fields_.cpp
@@ -1,12 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Date
-#include <Date.h>
-#endif
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
#include <_UUIDv7/UUIDv7_Fields_.h>
#endif
@@ -19,9 +13,6 @@
#ifndef INCLUDED_borogove_Client
#include <borogove/Client.h>
#endif
-#ifndef INCLUDED_borogove_Date
-#include <borogove/Date.h>
-#endif
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
@@ -37,6 +28,12 @@
#ifndef INCLUDED_borogove_calls__Session_Session_Fields_
#include <borogove/calls/_Session/Session_Fields_.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_d89d9de038d31b1d_54_mkCallMessage,"borogove.calls._Session.Session_Fields_","mkCallMessage",0x0fc9b2e9,"borogove.calls._Session.Session_Fields_.mkCallMessage","borogove/calls/Session.hx",54,0x33a79030)
namespace borogove{
@@ -71,15 +68,21 @@ HXLINE( 60) m->sender = m->from->asBare();
HXLINE( 61) m->replyTo = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->sender);
HXLINE( 62) m->direction = 1;
HXLINE( 63) m->setBody(::borogove::Html_obj::text((HX_("call ",c2,71,1b,41) + event->name)));
-HXLINE( 64) m->timestamp = ::borogove::Date_obj::format(::Date_obj::now());
-HXLINE( 65) m->payloads->push(event);
-HXLINE( 66) m->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
-HXLINE( 67) if ((event->name != HX_("propose",fe,fe,e9,f9))) {
-HXLINE( 68) m->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->build());
+HXLINE( 64) m->payloads->push(event);
+HXLINE( 65) m->localId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXLINE( 66) if ((event->name != HX_("propose",fe,fe,e9,f9))) {
+HXLINE( 67) m->versions = ::Array_obj< ::Dynamic>::__new(1)->init(0,m->build());
}
-HXLINE( 70) m->localId = ( (::String)(::Reflect_obj::field(event->attr,HX_("id",db,5b,00,00))) );
+HXLINE( 69) m->localId = event->attr->get_string(HX_("id",db,5b,00,00));
+HXLINE( 70) ::String lower = client->sortId;
HXLINE( 71) m->sortId = client->nextSortId();
-HXLINE( 72) return m->build();
+HXLINE( 72) m->debug = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("sortId",d9,7a,37,30), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("upper",62,19,3f,a8),null())
+ ->setFixed(1,HX_("method",e1,f6,5a,09),HX_("between",c8,91,b3,66))
+ ->setFixed(2,HX_("lower",01,fa,ff,78),lower)))
+ ->setFixed(1,HX_("source",db,b0,31,32),HX_("call",9e,18,ba,41)));
+HXLINE( 76) return m->build();
}
diff --git a/Sources/c_borogove/src/borogove/persistence/Dummy.cpp b/Sources/c_borogove/src/borogove/persistence/Dummy.cpp
index 1a20cf8..0bd3b27 100644
--- a/Sources/c_borogove/src/borogove/persistence/Dummy.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/Dummy.cpp
@@ -13,6 +13,9 @@
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_borogove_Member
#include <borogove/Member.h>
#endif
@@ -37,6 +40,9 @@
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_30_new,"borogove.persistence.Dummy","new",0x6443be1e,"borogove.persistence.Dummy.new","borogove/persistence/Dummy.hx",30,0x240ebe94)
HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_34_syncPoint,"borogove.persistence.Dummy","syncPoint",0x55a2d033,"borogove.persistence.Dummy.syncPoint","borogove/persistence/Dummy.hx",34,0x240ebe94)
@@ -47,28 +53,31 @@ HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_52_storeMemberUpdates,"borogove.pe
HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_57_clearMemberPresence,"borogove.persistence.Dummy","clearMemberPresence",0x022b66e0,"borogove.persistence.Dummy.clearMemberPresence","borogove/persistence/Dummy.hx",57,0x240ebe94)
HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_62_getMembers,"borogove.persistence.Dummy","getMembers",0x18da18e5,"borogove.persistence.Dummy.getMembers","borogove/persistence/Dummy.hx",62,0x240ebe94)
HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_67_getMemberDetails,"borogove.persistence.Dummy","getMemberDetails",0x38b2fe94,"borogove.persistence.Dummy.getMemberDetails","borogove/persistence/Dummy.hx",67,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_72_storeMessages,"borogove.persistence.Dummy","storeMessages",0xbccbb90b,"borogove.persistence.Dummy.storeMessages","borogove/persistence/Dummy.hx",72,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_76_updateMessage,"borogove.persistence.Dummy","updateMessage",0x388d61fc,"borogove.persistence.Dummy.updateMessage","borogove/persistence/Dummy.hx",76,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_81_getMessage,"borogove.persistence.Dummy","getMessage",0x987b21d3,"borogove.persistence.Dummy.getMessage","borogove/persistence/Dummy.hx",81,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_86_getMessagesBefore,"borogove.persistence.Dummy","getMessagesBefore",0x5f1a2fdf,"borogove.persistence.Dummy.getMessagesBefore","borogove/persistence/Dummy.hx",86,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_91_getMessagesAfter,"borogove.persistence.Dummy","getMessagesAfter",0xdd1516bc,"borogove.persistence.Dummy.getMessagesAfter","borogove/persistence/Dummy.hx",91,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_96_getMessagesAround,"borogove.persistence.Dummy","getMessagesAround",0x7aebd3ad,"borogove.persistence.Dummy.getMessagesAround","borogove/persistence/Dummy.hx",96,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_101_getChatsUnreadDetails,"borogove.persistence.Dummy","getChatsUnreadDetails",0x6c7f0a2c,"borogove.persistence.Dummy.getChatsUnreadDetails","borogove/persistence/Dummy.hx",101,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_106_storeReaction,"borogove.persistence.Dummy","storeReaction",0x7e82c7e8,"borogove.persistence.Dummy.storeReaction","borogove/persistence/Dummy.hx",106,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_111_updateMessageStatus,"borogove.persistence.Dummy","updateMessageStatus",0x6bfd624e,"borogove.persistence.Dummy.updateMessageStatus","borogove/persistence/Dummy.hx",111,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_116_hasMedia,"borogove.persistence.Dummy","hasMedia",0x1817d0ac,"borogove.persistence.Dummy.hasMedia","borogove/persistence/Dummy.hx",116,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_121_storeMedia,"borogove.persistence.Dummy","storeMedia",0xf2431745,"borogove.persistence.Dummy.storeMedia","borogove/persistence/Dummy.hx",121,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_126_removeMedia,"borogove.persistence.Dummy","removeMedia",0x7c40bdbe,"borogove.persistence.Dummy.removeMedia","borogove/persistence/Dummy.hx",126,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_130_storeCaps,"borogove.persistence.Dummy","storeCaps",0x5ae530e0,"borogove.persistence.Dummy.storeCaps","borogove/persistence/Dummy.hx",130,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_134_getCaps,"borogove.persistence.Dummy","getCaps",0xf9497095,"borogove.persistence.Dummy.getCaps","borogove/persistence/Dummy.hx",134,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_139_storeLogin,"borogove.persistence.Dummy","storeLogin",0x657aebca,"borogove.persistence.Dummy.storeLogin","borogove/persistence/Dummy.hx",139,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_144_getLogin,"borogove.persistence.Dummy","getLogin",0x5ece6a75,"borogove.persistence.Dummy.getLogin","borogove/persistence/Dummy.hx",144,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_149_removeAccount,"borogove.persistence.Dummy","removeAccount",0x4d222007,"borogove.persistence.Dummy.removeAccount","borogove/persistence/Dummy.hx",149,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_154_listAccounts,"borogove.persistence.Dummy","listAccounts",0xc457ec26,"borogove.persistence.Dummy.listAccounts","borogove/persistence/Dummy.hx",154,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_159_storeStreamManagement,"borogove.persistence.Dummy","storeStreamManagement",0x74dc5262,"borogove.persistence.Dummy.storeStreamManagement","borogove/persistence/Dummy.hx",159,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_164_getStreamManagement,"borogove.persistence.Dummy","getStreamManagement",0xc93bcd97,"borogove.persistence.Dummy.getStreamManagement","borogove/persistence/Dummy.hx",164,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_168_storeService,"borogove.persistence.Dummy","storeService",0x6c6648d6,"borogove.persistence.Dummy.storeService","borogove/persistence/Dummy.hx",168,0x240ebe94)
-HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_172_findServicesWithFeature,"borogove.persistence.Dummy","findServicesWithFeature",0x6b47cf57,"borogove.persistence.Dummy.findServicesWithFeature","borogove/persistence/Dummy.hx",172,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_72_storeVoiceRequest,"borogove.persistence.Dummy","storeVoiceRequest",0x3dcd477c,"borogove.persistence.Dummy.storeVoiceRequest","borogove/persistence/Dummy.hx",72,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_77_listVoiceRequests,"borogove.persistence.Dummy","listVoiceRequests",0x4e64f916,"borogove.persistence.Dummy.listVoiceRequests","borogove/persistence/Dummy.hx",77,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_82_storeMessages,"borogove.persistence.Dummy","storeMessages",0xbccbb90b,"borogove.persistence.Dummy.storeMessages","borogove/persistence/Dummy.hx",82,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_86_updateMessage,"borogove.persistence.Dummy","updateMessage",0x388d61fc,"borogove.persistence.Dummy.updateMessage","borogove/persistence/Dummy.hx",86,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_91_getMessage,"borogove.persistence.Dummy","getMessage",0x987b21d3,"borogove.persistence.Dummy.getMessage","borogove/persistence/Dummy.hx",91,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_96_getMessagesBefore,"borogove.persistence.Dummy","getMessagesBefore",0x5f1a2fdf,"borogove.persistence.Dummy.getMessagesBefore","borogove/persistence/Dummy.hx",96,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_101_getMessagesAfter,"borogove.persistence.Dummy","getMessagesAfter",0xdd1516bc,"borogove.persistence.Dummy.getMessagesAfter","borogove/persistence/Dummy.hx",101,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_106_getMessagesAround,"borogove.persistence.Dummy","getMessagesAround",0x7aebd3ad,"borogove.persistence.Dummy.getMessagesAround","borogove/persistence/Dummy.hx",106,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_111_getMessagesByStatus,"borogove.persistence.Dummy","getMessagesByStatus",0x7aa29fc9,"borogove.persistence.Dummy.getMessagesByStatus","borogove/persistence/Dummy.hx",111,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_116_getChatsUnreadDetails,"borogove.persistence.Dummy","getChatsUnreadDetails",0x6c7f0a2c,"borogove.persistence.Dummy.getChatsUnreadDetails","borogove/persistence/Dummy.hx",116,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_121_storeReaction,"borogove.persistence.Dummy","storeReaction",0x7e82c7e8,"borogove.persistence.Dummy.storeReaction","borogove/persistence/Dummy.hx",121,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_126_updateMessageStatus,"borogove.persistence.Dummy","updateMessageStatus",0x6bfd624e,"borogove.persistence.Dummy.updateMessageStatus","borogove/persistence/Dummy.hx",126,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_131_hasMedia,"borogove.persistence.Dummy","hasMedia",0x1817d0ac,"borogove.persistence.Dummy.hasMedia","borogove/persistence/Dummy.hx",131,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_136_storeMedia,"borogove.persistence.Dummy","storeMedia",0xf2431745,"borogove.persistence.Dummy.storeMedia","borogove/persistence/Dummy.hx",136,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_141_removeMedia,"borogove.persistence.Dummy","removeMedia",0x7c40bdbe,"borogove.persistence.Dummy.removeMedia","borogove/persistence/Dummy.hx",141,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_145_storeCaps,"borogove.persistence.Dummy","storeCaps",0x5ae530e0,"borogove.persistence.Dummy.storeCaps","borogove/persistence/Dummy.hx",145,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_149_getCaps,"borogove.persistence.Dummy","getCaps",0xf9497095,"borogove.persistence.Dummy.getCaps","borogove/persistence/Dummy.hx",149,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_154_storeLogin,"borogove.persistence.Dummy","storeLogin",0x657aebca,"borogove.persistence.Dummy.storeLogin","borogove/persistence/Dummy.hx",154,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_159_getLogin,"borogove.persistence.Dummy","getLogin",0x5ece6a75,"borogove.persistence.Dummy.getLogin","borogove/persistence/Dummy.hx",159,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_164_removeAccount,"borogove.persistence.Dummy","removeAccount",0x4d222007,"borogove.persistence.Dummy.removeAccount","borogove/persistence/Dummy.hx",164,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_169_listAccounts,"borogove.persistence.Dummy","listAccounts",0xc457ec26,"borogove.persistence.Dummy.listAccounts","borogove/persistence/Dummy.hx",169,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_174_storeStreamManagement,"borogove.persistence.Dummy","storeStreamManagement",0x74dc5262,"borogove.persistence.Dummy.storeStreamManagement","borogove/persistence/Dummy.hx",174,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_179_getStreamManagement,"borogove.persistence.Dummy","getStreamManagement",0xc93bcd97,"borogove.persistence.Dummy.getStreamManagement","borogove/persistence/Dummy.hx",179,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_183_storeService,"borogove.persistence.Dummy","storeService",0x6c6648d6,"borogove.persistence.Dummy.storeService","borogove/persistence/Dummy.hx",183,0x240ebe94)
+HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_187_findServicesWithFeature,"borogove.persistence.Dummy","findServicesWithFeature",0x6b47cf57,"borogove.persistence.Dummy.findServicesWithFeature","borogove/persistence/Dummy.hx",187,0x240ebe94)
HX_LOCAL_STACK_FRAME(_hx_pos_95dfb57bb5df11b7_24_boot,"borogove.persistence.Dummy","boot",0x4f1b9cb4,"borogove.persistence.Dummy.boot","borogove/persistence/Dummy.hx",24,0x240ebe94)
namespace borogove{
namespace persistence{
@@ -101,6 +110,8 @@ static ::borogove::Persistence_obj _hx_borogove_persistence_Dummy__hx_borogove_P
( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Dummy_obj::clearMemberPresence,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,bool))&::borogove::persistence::Dummy_obj::getMembers,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,::Array< ::String >))&::borogove::persistence::Dummy_obj::getMemberDetails,
+ ( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,::String,bool))&::borogove::persistence::Dummy_obj::storeVoiceRequest,
+ ( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat))&::borogove::persistence::Dummy_obj::listVoiceRequests,
( ::Dynamic (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Dummy_obj::getChatsUnreadDetails,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::ReactionUpdate))&::borogove::persistence::Dummy_obj::storeReaction,
( ::Dynamic (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Dummy_obj::storeMessages,
@@ -110,12 +121,13 @@ static ::borogove::Persistence_obj _hx_borogove_persistence_Dummy__hx_borogove_P
( ::Dynamic (::hx::Object::*)(::String,::String, ::borogove::ChatMessage))&::borogove::persistence::Dummy_obj::getMessagesBefore,
( ::Dynamic (::hx::Object::*)(::String,::String, ::borogove::ChatMessage))&::borogove::persistence::Dummy_obj::getMessagesAfter,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::ChatMessage))&::borogove::persistence::Dummy_obj::getMessagesAround,
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Dummy_obj::hasMedia,
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Dummy_obj::storeMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,int))&::borogove::persistence::Dummy_obj::getMessagesByStatus,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Hash))&::borogove::persistence::Dummy_obj::hasMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,::Dynamic))&::borogove::persistence::Dummy_obj::storeMedia,
( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Dummy_obj::removeMedia,
( void (::hx::Object::*)( ::borogove::Caps))&::borogove::persistence::Dummy_obj::storeCaps,
( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Dummy_obj::getCaps,
- ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::storeLogin,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String,::String))&::borogove::persistence::Dummy_obj::storeLogin,
( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Dummy_obj::getLogin,
( ::Dynamic (::hx::Object::*)(::String,bool))&::borogove::persistence::Dummy_obj::removeAccount,
( ::Dynamic (::hx::Object::*)())&::borogove::persistence::Dummy_obj::listAccounts,
@@ -199,163 +211,188 @@ HXDLIN( 67) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_ob
HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,getMemberDetails,return )
+::Dynamic Dummy_obj::storeVoiceRequest(::String accountId, ::borogove::Chat chat,::String jid,bool requesting){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_72_storeVoiceRequest)
+HXDLIN( 72) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,storeVoiceRequest,return )
+
+::Dynamic Dummy_obj::listVoiceRequests(::String accountId, ::borogove::Chat chat){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_77_listVoiceRequests)
+HXDLIN( 77) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,listVoiceRequests,return )
+
::Dynamic Dummy_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_72_storeMessages)
-HXDLIN( 72) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_82_storeMessages)
+HXDLIN( 82) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeMessages,return )
void Dummy_obj::updateMessage(::String accountId, ::borogove::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_76_updateMessage)
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_86_updateMessage)
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,updateMessage,(void))
::Dynamic Dummy_obj::getMessage(::String accountId,::String chatId,::String serverId,::String localId){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_81_getMessage)
-HXDLIN( 81) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_91_getMessage)
+HXDLIN( 91) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,getMessage,return )
::Dynamic Dummy_obj::getMessagesBefore(::String accountId,::String chatId, ::borogove::ChatMessage before){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_86_getMessagesBefore)
-HXDLIN( 86) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_96_getMessagesBefore)
+HXDLIN( 96) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,getMessagesBefore,return )
::Dynamic Dummy_obj::getMessagesAfter(::String accountId,::String chatId, ::borogove::ChatMessage after){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_91_getMessagesAfter)
-HXDLIN( 91) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_101_getMessagesAfter)
+HXDLIN( 101) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,getMessagesAfter,return )
::Dynamic Dummy_obj::getMessagesAround(::String accountId, ::borogove::ChatMessage around){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_96_getMessagesAround)
-HXDLIN( 96) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_106_getMessagesAround)
+HXDLIN( 106) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getMessagesAround,return )
+::Dynamic Dummy_obj::getMessagesByStatus(::String accountId,int status){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_111_getMessagesByStatus)
+HXDLIN( 111) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getMessagesByStatus,return )
+
::Dynamic Dummy_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_101_getChatsUnreadDetails)
-HXDLIN( 101) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_116_getChatsUnreadDetails)
+HXDLIN( 116) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,getChatsUnreadDetails,return )
::Dynamic Dummy_obj::storeReaction(::String accountId, ::borogove::ReactionUpdate update){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_106_storeReaction)
-HXDLIN( 106) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_121_storeReaction)
+HXDLIN( 121) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeReaction,return )
::Dynamic Dummy_obj::updateMessageStatus(::String accountId,::String localId,int status,::String statusText){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_111_updateMessageStatus)
-HXDLIN( 111) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Dummy cannot updateMessageStatus",0b,f6,b0,c2));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_126_updateMessageStatus)
+HXDLIN( 126) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Dummy cannot updateMessageStatus",0b,f6,b0,c2));
}
HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,updateMessageStatus,return )
-::Dynamic Dummy_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_116_hasMedia)
-HXDLIN( 116) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+::Dynamic Dummy_obj::hasMedia( ::borogove::Hash hash){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_131_hasMedia)
+HXDLIN( 131) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,hasMedia,return )
+HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,hasMedia,return )
-::Dynamic Dummy_obj::storeMedia(::String mime,::Array< unsigned char > bd){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_121_storeMedia)
-HXDLIN( 121) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+::Dynamic Dummy_obj::storeMedia(::String mime,::Dynamic source){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_136_storeMedia)
+HXDLIN( 136) return ::thenshim::_Promise::Promise_Impl__obj::reject(HX_("Dummy cannot storeMedia",28,ef,24,e4));
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,storeMedia,return )
::Dynamic Dummy_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_126_removeMedia)
-HXDLIN( 126) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_141_removeMedia)
+HXDLIN( 141) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeMedia,return )
void Dummy_obj::storeCaps( ::borogove::Caps caps){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_130_storeCaps)
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_145_storeCaps)
}
HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,storeCaps,(void))
::Dynamic Dummy_obj::getCaps(::String ver){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_134_getCaps)
-HXDLIN( 134) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_149_getCaps)
+HXDLIN( 149) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getCaps,return )
-::Dynamic Dummy_obj::storeLogin(::String login,::String clientId,::String displayName,::String token){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_139_storeLogin)
-HXDLIN( 139) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+::Dynamic Dummy_obj::storeLogin(::String login,::String clientId,::String displayName,::String rosterVer,::String token){
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_154_storeLogin)
+HXDLIN( 154) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
}
-HX_DEFINE_DYNAMIC_FUNC4(Dummy_obj,storeLogin,return )
+HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,storeLogin,return )
::Dynamic Dummy_obj::getLogin(::String login){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_144_getLogin)
-HXDLIN( 144) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic(::hx::Anon_obj::Create(4)
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_159_getLogin)
+HXDLIN( 159) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("fastCount",93,fc,67,a5),0)
->setFixed(1,HX_("token",f9,82,2b,14),null())
->setFixed(2,HX_("clientId",06,73,8f,15),null())
- ->setFixed(3,HX_("displayName",ad,11,f2,30),null())));
+ ->setFixed(3,HX_("displayName",ad,11,f2,30),null())
+ ->setFixed(4,HX_("rosterVer",98,f5,fe,3e),null())));
}
HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getLogin,return )
::Dynamic Dummy_obj::removeAccount(::String accountId,bool completely){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_149_removeAccount)
-HXDLIN( 149) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_164_removeAccount)
+HXDLIN( 164) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
}
HX_DEFINE_DYNAMIC_FUNC2(Dummy_obj,removeAccount,return )
::Dynamic Dummy_obj::listAccounts(){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_154_listAccounts)
-HXDLIN( 154) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::String >::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_169_listAccounts)
+HXDLIN( 169) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::String >::__new(0));
}
HX_DEFINE_DYNAMIC_FUNC0(Dummy_obj,listAccounts,return )
::Dynamic Dummy_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm,::String sortId){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_159_storeStreamManagement)
-HXDLIN( 159) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_174_storeStreamManagement)
+HXDLIN( 174) return ::thenshim::_Promise::Promise_Impl__obj::resolve(false);
}
HX_DEFINE_DYNAMIC_FUNC3(Dummy_obj,storeStreamManagement,return )
::Dynamic Dummy_obj::getStreamManagement(::String accountId){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_164_getStreamManagement)
-HXDLIN( 164) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_179_getStreamManagement)
+HXDLIN( 179) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sm",9a,64,00,00),null())
->setFixed(1,HX_("sortId",d9,7a,37,30),HX_("a ",9f,54,00,00))));
}
@@ -364,15 +401,15 @@ HXDLIN( 164) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::Dynamic
HX_DEFINE_DYNAMIC_FUNC1(Dummy_obj,getStreamManagement,return )
void Dummy_obj::storeService(::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_168_storeService)
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_183_storeService)
}
HX_DEFINE_DYNAMIC_FUNC5(Dummy_obj,storeService,(void))
::Dynamic Dummy_obj::findServicesWithFeature(::String accountId,::String feature){
- HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_172_findServicesWithFeature)
-HXDLIN( 172) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_187_findServicesWithFeature)
+HXDLIN( 187) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
}
@@ -437,6 +474,8 @@ Dummy_obj::Dummy_obj()
if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
break;
case 17:
+ if (HX_FIELD_EQ(inName,"storeVoiceRequest") ) { return ::hx::Val( storeVoiceRequest_dyn() ); }
+ if (HX_FIELD_EQ(inName,"listVoiceRequests") ) { return ::hx::Val( listVoiceRequests_dyn() ); }
if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
break;
@@ -445,6 +484,7 @@ Dummy_obj::Dummy_obj()
break;
case 19:
if (HX_FIELD_EQ(inName,"clearMemberPresence") ) { return ::hx::Val( clearMemberPresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessagesByStatus") ) { return ::hx::Val( getMessagesByStatus_dyn() ); }
if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
break;
@@ -472,12 +512,15 @@ static ::String Dummy_obj_sMemberFields[] = {
HX_("clearMemberPresence",22,9d,db,a5),
HX_("getMembers",e3,b2,d1,69),
HX_("getMemberDetails",12,2b,2f,b3),
+ HX_("storeVoiceRequest",3e,09,f8,ef),
+ HX_("listVoiceRequests",d8,ba,8f,00),
HX_("storeMessages",cd,f1,bd,e9),
HX_("updateMessage",be,9a,7f,65),
HX_("getMessage",d1,bb,72,e9),
HX_("getMessagesBefore",a1,f1,44,11),
HX_("getMessagesAfter",3a,43,91,57),
HX_("getMessagesAround",6f,95,16,2d),
+ HX_("getMessagesByStatus",0b,d6,52,1e),
HX_("getChatsUnreadDetails",ee,d4,5a,85),
HX_("storeReaction",aa,00,75,ab),
HX_("updateMessageStatus",90,98,ad,0f),
@@ -526,7 +569,7 @@ void Dummy_obj::__boot()
{
HX_STACKFRAME(&_hx_pos_95dfb57bb5df11b7_24_boot)
HXDLIN( 24) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(30)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(33)
->setFixed(0,HX_("storeChats",fa,4a,32,83), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
->setFixed(1,HX_("getChatsUnreadDetails",ee,d4,5a,85), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -561,31 +604,37 @@ HXDLIN( 24) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
->setFixed(16,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("storeVoiceRequest",3e,09,f8,ef), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(18,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(19,HX_("listVoiceRequests",d8,ba,8f,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(20,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(18,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(19,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(22,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(20,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(23,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(21,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(24,HX_("getMessagesByStatus",0b,d6,52,1e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(22,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(25,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(23,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(26,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(24,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(25,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(26,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(27,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(28,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(29,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp b/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
index 4965a52..ade067b 100644
--- a/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/MediaStore.cpp
@@ -1,6 +1,9 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_borogove_persistence_KeyValueStore
#include <borogove/persistence/KeyValueStore.h>
#endif
@@ -10,6 +13,9 @@
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_1afb41cf71539cf2_14_boot,"borogove.persistence.MediaStore","boot",0x109ff3e7,"borogove.persistence.MediaStore.boot","borogove/persistence/MediaStore.hx",14,0xf16bbcc3)
namespace borogove{
diff --git a/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp b/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp
index ab70bff..9fe0074 100644
--- a/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/MediaStoreFS.cpp
@@ -4,9 +4,15 @@
#ifndef INCLUDED__HaxeCBridge_Internal
#include <_HaxeCBridge/Internal.h>
#endif
+#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
+#include <_UUIDv7/UUIDv7_Fields_.h>
+#endif
#ifndef INCLUDED_borogove_Hash
#include <borogove/Hash.h>
#endif
+#ifndef INCLUDED_borogove_IncrementalHash
+#include <borogove/IncrementalHash.h>
+#endif
#ifndef INCLUDED_borogove_persistence_KeyValueStore
#include <borogove/persistence/KeyValueStore.h>
#endif
@@ -25,12 +31,18 @@
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
+#ifndef INCLUDED_haxe_io_Output
+#include <haxe/io/Output.h>
+#endif
#ifndef INCLUDED_sys_FileSystem
#include <sys/FileSystem.h>
#endif
#ifndef INCLUDED_sys_io_File
#include <sys/io/File.h>
#endif
+#ifndef INCLUDED_sys_io_FileOutput
+#include <sys/io/FileOutput.h>
+#endif
#ifndef INCLUDED_thenshim_PromiseTools
#include <thenshim/PromiseTools.h>
#endif
@@ -40,26 +52,56 @@
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_chunk_ChunkObject
+#include <tink/chunk/ChunkObject.h>
+#endif
+#ifndef INCLUDED_tink_core_LinkObject
+#include <tink/core/LinkObject.h>
+#endif
+#ifndef INCLUDED_tink_core__Future_FutureObject
+#include <tink/core/_Future/FutureObject.h>
+#endif
+#ifndef INCLUDED_tink_io_PipeResult
+#include <tink/io/PipeResult.h>
+#endif
+#ifndef INCLUDED_tink_io_SinkObject
+#include <tink/io/SinkObject.h>
+#endif
+#ifndef INCLUDED_tink_io__Sink_SinkYielding_Impl_
+#include <tink/io/_Sink/SinkYielding_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_io__Source_Source_Impl_
+#include <tink/io/_Source/Source_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
+#ifndef INCLUDED_tink_streams__Stream_Mapping_Impl_
+#include <tink/streams/_Stream/Mapping_Impl_.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_62805e222ed8ef0e_18_new,"borogove.persistence.MediaStoreFS","new",0x45ebbe58,"borogove.persistence.MediaStoreFS.new","borogove/persistence/MediaStoreFS.hx",18,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_33_setKV,"borogove.persistence.MediaStoreFS","setKV",0x4818e5c5,"borogove.persistence.MediaStoreFS.setKV","borogove/persistence/MediaStoreFS.hx",33,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_42_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",42,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_52_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",52,0xb4eb58d6)
+HX_DEFINE_STACK_FRAME(_hx_pos_62805e222ed8ef0e_20_new,"borogove.persistence.MediaStoreFS","new",0x45ebbe58,"borogove.persistence.MediaStoreFS.new","borogove/persistence/MediaStoreFS.hx",20,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_35_setKV,"borogove.persistence.MediaStoreFS","setKV",0x4818e5c5,"borogove.persistence.MediaStoreFS.setKV","borogove/persistence/MediaStoreFS.hx",35,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_44_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",44,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_54_getMediaPath,"borogove.persistence.MediaStoreFS","getMediaPath",0xc292883b,"borogove.persistence.MediaStoreFS.getMediaPath","borogove/persistence/MediaStoreFS.hx",54,0xb4eb58d6)
HX_LOCAL_STACK_FRAME(_hx_pos_959a077022e6b8e5_365_getMediaPath__fromC,"borogove.persistence.MediaStoreFS","getMediaPath__fromC",0xffdb359e,"borogove.persistence.MediaStoreFS.getMediaPath__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_66_hasMedia,"borogove.persistence.MediaStoreFS","hasMedia",0x6622be32,"borogove.persistence.MediaStoreFS.hasMedia","borogove/persistence/MediaStoreFS.hx",66,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_72_removeMedia,"borogove.persistence.MediaStoreFS","removeMedia",0x109a87f8,"borogove.persistence.MediaStoreFS.removeMedia","borogove/persistence/MediaStoreFS.hx",72,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_67_hasMedia,"borogove.persistence.MediaStoreFS","hasMedia",0x6622be32,"borogove.persistence.MediaStoreFS.hasMedia","borogove/persistence/MediaStoreFS.hx",67,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_73_removeMedia,"borogove.persistence.MediaStoreFS","removeMedia",0x109a87f8,"borogove.persistence.MediaStoreFS.removeMedia","borogove/persistence/MediaStoreFS.hx",73,0xb4eb58d6)
HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_87_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",87,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_79_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",79,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_90_set,"borogove.persistence.MediaStoreFS","set",0x45ef899a,"borogove.persistence.MediaStoreFS.set","borogove/persistence/MediaStoreFS.hx",90,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_96_get,"borogove.persistence.MediaStoreFS","get",0x45e66e8e,"borogove.persistence.MediaStoreFS.get","borogove/persistence/MediaStoreFS.hx",96,0xb4eb58d6)
-HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_18_boot,"borogove.persistence.MediaStoreFS","boot",0xe073cf3a,"borogove.persistence.MediaStoreFS.boot","borogove/persistence/MediaStoreFS.hx",18,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_91_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",91,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_105_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",105,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_97_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",97,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_80_storeMedia,"borogove.persistence.MediaStoreFS","storeMedia",0x0b08f24b,"borogove.persistence.MediaStoreFS.storeMedia","borogove/persistence/MediaStoreFS.hx",80,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_109_set,"borogove.persistence.MediaStoreFS","set",0x45ef899a,"borogove.persistence.MediaStoreFS.set","borogove/persistence/MediaStoreFS.hx",109,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_115_get,"borogove.persistence.MediaStoreFS","get",0x45e66e8e,"borogove.persistence.MediaStoreFS.get","borogove/persistence/MediaStoreFS.hx",115,0xb4eb58d6)
+HX_LOCAL_STACK_FRAME(_hx_pos_62805e222ed8ef0e_20_boot,"borogove.persistence.MediaStoreFS","boot",0xe073cf3a,"borogove.persistence.MediaStoreFS.boot","borogove/persistence/MediaStoreFS.hx",20,0xb4eb58d6)
namespace borogove{
namespace persistence{
void MediaStoreFS_obj::__construct(::String path){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_18_new)
-HXLINE( 20) this->kv = null();
-HXLINE( 28) this->blobpath = path;
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_20_new)
+HXLINE( 22) this->kv = null();
+HXLINE( 30) this->blobpath = path;
}
Dynamic MediaStoreFS_obj::__CreateEmpty() { return new MediaStoreFS_obj; }
@@ -78,9 +120,9 @@ bool MediaStoreFS_obj::_hx_isInstanceOf(int inClassId) {
}
static ::borogove::persistence::MediaStore_obj _hx_borogove_persistence_MediaStoreFS__hx_borogove_persistence_MediaStore= {
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::MediaStoreFS_obj::hasMedia,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Hash))&::borogove::persistence::MediaStoreFS_obj::hasMedia,
( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::MediaStoreFS_obj::removeMedia,
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::MediaStoreFS_obj::storeMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,::Dynamic))&::borogove::persistence::MediaStoreFS_obj::storeMedia,
( void (::hx::Object::*)(::Dynamic))&::borogove::persistence::MediaStoreFS_obj::setKV,
};
@@ -96,52 +138,52 @@ void *MediaStoreFS_obj::_hx_getInterface(int inHash) {
}
void MediaStoreFS_obj::setKV(::Dynamic kv){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_33_setKV)
-HXDLIN( 33) this->kv = kv;
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_35_setKV)
+HXDLIN( 35) this->kv = kv;
}
HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,setKV,(void))
::Dynamic MediaStoreFS_obj::getMediaPath(::String uri){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_42_getMediaPath)
-HXDLIN( 42) ::borogove::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 43) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
-HXLINE( 44) if ((hash->algorithm == HX_("sha-256",32,dd,04,3b))) {
-HXLINE( 45) ::String path = (this->blobpath + HX_("/f",57,29,00,00));
-HXDLIN( 45) ::String path1 = (path + hash->toHex());
-HXLINE( 46) if (::sys::FileSystem_obj::exists(path1)) {
-HXLINE( 47) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::sys::FileSystem_obj::absolutePath(path1));
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_44_getMediaPath)
+HXDLIN( 44) ::borogove::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 45) ::borogove::Hash hash = ::borogove::Hash_obj::fromUri(uri);
+HXLINE( 46) if ((hash->algorithm == HX_("sha-256",32,dd,04,3b))) {
+HXLINE( 47) ::String path = (this->blobpath + HX_("/f",57,29,00,00));
+HXDLIN( 47) ::String path1 = (path + hash->toHex());
+HXLINE( 48) if (::sys::FileSystem_obj::exists(path1)) {
+HXLINE( 49) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::sys::FileSystem_obj::absolutePath(path1));
}
else {
-HXLINE( 49) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 51) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
}
else {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::MediaStoreFS,_gthis) HXARGC(1)
::Dynamic _hx_run(::String sha256uri){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_52_getMediaPath)
-HXLINE( 53) ::borogove::Hash sha256;
-HXDLIN( 53) if (::hx::IsNull( sha256uri )) {
-HXLINE( 53) sha256 = null();
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_54_getMediaPath)
+HXLINE( 55) ::borogove::Hash sha256;
+HXDLIN( 55) if (::hx::IsNull( sha256uri )) {
+HXLINE( 55) sha256 = null();
}
else {
-HXLINE( 53) sha256 = ::borogove::Hash_obj::fromUri(sha256uri);
+HXLINE( 55) sha256 = ::borogove::Hash_obj::fromUri(sha256uri);
}
-HXLINE( 54) if (::hx::IsNull( sha256 )) {
-HXLINE( 55) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 56) if (::hx::IsNull( sha256 )) {
+HXLINE( 57) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
else {
-HXLINE( 57) ::borogove::persistence::MediaStoreFS _gthis1 = _gthis;
-HXDLIN( 57) return _gthis1->getMediaPath(sha256->toUri());
+HXLINE( 59) ::borogove::persistence::MediaStoreFS _gthis1 = _gthis;
+HXDLIN( 59) return _gthis1->getMediaPath(sha256->toUri());
}
-HXLINE( 54) return null();
+HXLINE( 56) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 52) return ::thenshim::_Promise::Promise_Impl__obj::then(this->get(hash->serializeUri()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
+HXLINE( 54) return ::thenshim::_Promise::Promise_Impl__obj::then(this->get(hash->serializeUri()), ::Dynamic(new _hx_Closure_0(_gthis)),null());
}
-HXLINE( 44) return null();
+HXLINE( 46) return null();
}
@@ -187,78 +229,120 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMediaPath(
}
-::Dynamic MediaStoreFS_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run(::String path){
- HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_66_hasMedia)
-HXDLIN( 66) return ::hx::IsNotNull( path );
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_66_hasMedia)
-HXDLIN( 66) return ::thenshim::_Promise::Promise_Impl__obj::then(this->getMediaPath( ::borogove::Hash_obj::__alloc( HX_CTX ,hashAlgorithm,hash)->toUri()), ::Dynamic(new _hx_Closure_0()),null());
+::Dynamic MediaStoreFS_obj::hasMedia( ::borogove::Hash hash){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_67_hasMedia)
+HXDLIN( 67) return this->getMediaPath(hash->toUri());
}
-HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,hasMedia,return )
+HX_DEFINE_DYNAMIC_FUNC1(MediaStoreFS_obj,hasMedia,return )
::Dynamic MediaStoreFS_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run(::String path){
- HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_72_removeMedia)
-HXLINE( 73) if (::hx::IsNotNull( path )) {
-HXLINE( 73) ::sys::FileSystem_obj::deleteFile(path);
+ HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_73_removeMedia)
+HXLINE( 74) if (::hx::IsNotNull( path )) {
+HXLINE( 74) ::sys::FileSystem_obj::deleteFile(path);
}
-HXLINE( 74) return true;
+HXLINE( 75) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_72_removeMedia)
-HXDLIN( 72) return ::thenshim::_Promise::Promise_Impl__obj::then(this->getMediaPath( ::borogove::Hash_obj::__alloc( HX_CTX ,hashAlgorithm,hash)->toUri()), ::Dynamic(new _hx_Closure_0()),null());
+ HX_GC_STACKFRAME(&_hx_pos_62805e222ed8ef0e_73_removeMedia)
+HXDLIN( 73) return ::thenshim::_Promise::Promise_Impl__obj::then(this->getMediaPath( ::borogove::Hash_obj::__alloc( HX_CTX ,hashAlgorithm,hash)->toUri()), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,removeMedia,return )
-::Dynamic MediaStoreFS_obj::storeMedia(::String mime,::Array< unsigned char > bd){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
- bool _hx_run(::Array< bool > _){
+::Dynamic MediaStoreFS_obj::storeMedia(::String mime,::Dynamic source){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2,::Dynamic,source, ::borogove::IncrementalHash,sha1, ::borogove::IncrementalHash,sha256, ::sys::io::FileOutput,tmpFile) HXARGC(2)
+ void _hx_run( ::Dynamic resolve, ::Dynamic reject){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::IncrementalHash,sha1, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run(::Dynamic chunk){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_87_storeMedia)
+HXLINE( 88) ::borogove::IncrementalHash sha11 = sha1;
+HXDLIN( 88) sha11->update(::tink::chunk::ChunkObject_obj::toBytes(chunk)->b);
+HXLINE( 89) ::borogove::IncrementalHash sha2561 = sha256;
+HXDLIN( 89) sha2561->update(::tink::chunk::ChunkObject_obj::toBytes(chunk)->b);
+HXLINE( 90) return chunk;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,resolve, ::Dynamic,reject, ::sys::io::FileOutput,tmpFile) HXARGC(1)
+ void _hx_run( ::tink::io::PipeResult o){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_91_storeMedia)
+HXLINE( 91) if ((o->_hx_getIndex() == 0)) {
+HXLINE( 93) tmpFile->close();
+HXLINE( 94) resolve(null());
+ }
+ else {
+HXLINE( 95) reject(o);
+ }
+ }
+ HX_END_LOCAL_FUNC1((void))
+
HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_87_storeMedia)
-HXLINE( 87) return true;
+HXLINE( 87) ::Dynamic this1 = ::tink::io::_Source::Source_Impl__obj::chunked(source);
+HXDLIN( 87) ::Dynamic this2 = ::tink::streams::StreamObject_obj::map(this1,::tink::streams::_Stream::Mapping_Impl__obj::ofPlain( ::Dynamic(new _hx_Closure_0(sha1,sha256))));
+HXDLIN( 87) ::tink::io::_Source::Source_Impl__obj::pipeTo(this2,::tink::io::_Sink::SinkYielding_Impl__obj::ofOutput(HX_("tmpPath",1c,2e,ac,1e),tmpFile,null()),null())->handle( ::Dynamic(new _hx_Closure_1(resolve,reject,tmpFile)));
+ }
+ HX_END_LOCAL_FUNC2((void))
+
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_4,::String,tmpPath1, ::borogove::persistence::MediaStoreFS,_gthis,::String,mime, ::borogove::IncrementalHash,sha1, ::borogove::IncrementalHash,sha256) HXARGC(1)
+ ::Dynamic _hx_run( ::Dynamic _){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_3,::String,path1) HXARGC(1)
+ ::String _hx_run(::Array< bool > _){
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_105_storeMedia)
+HXLINE( 105) return path1;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_97_storeMedia)
+HXLINE( 98) ::borogove::Hash sha1h = sha1->digest();
+HXLINE( 99) ::borogove::Hash sha256h = sha256->digest();
+HXLINE( 100) ::String path = (_gthis->blobpath + HX_("/f",57,29,00,00));
+HXDLIN( 100) ::String path1 = (path + sha256h->toHex());
+HXLINE( 101) ::sys::FileSystem_obj::rename(tmpPath1,path1);
+HXLINE( 103) ::borogove::persistence::MediaStoreFS _gthis1 = _gthis;
+HXDLIN( 103) ::String _hx_tmp = sha1h->serializeUri();
+HXDLIN( 103) ::Dynamic _hx_tmp1 = _gthis1->set(_hx_tmp,sha256h->serializeUri());
+HXLINE( 104) ::borogove::persistence::MediaStoreFS _gthis2 = _gthis;
+HXDLIN( 104) ::String _hx_tmp2 = (sha256h->serializeUri() + HX_("#contentType",50,39,a7,27));
+HXLINE( 102) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp1)->init(1,_gthis2->set(_hx_tmp2,mime))), ::Dynamic(new _hx_Closure_3(path1)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_79_storeMedia)
-HXLINE( 80) ::haxe::io::Bytes bytes = ::haxe::io::Bytes_obj::ofData(bd);
-HXLINE( 81) ::borogove::Hash sha1 = ::borogove::Hash_obj::sha1(bytes);
-HXLINE( 82) ::borogove::Hash sha256 = ::borogove::Hash_obj::sha256(bytes);
-HXLINE( 83) ::String _hx_tmp = (this->blobpath + HX_("/f",57,29,00,00));
-HXDLIN( 83) ::sys::io::File_obj::saveBytes((_hx_tmp + sha256->toHex()),bytes);
-HXLINE( 85) ::String _hx_tmp1 = sha1->serializeUri();
-HXDLIN( 85) ::Dynamic _hx_tmp2 = this->set(_hx_tmp1,sha256->serializeUri());
-HXLINE( 84) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp2)->init(1,this->set((sha256->serializeUri() + HX_("#contentType",50,39,a7,27)),mime))), ::Dynamic(new _hx_Closure_0()),null());
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_80_storeMedia)
+HXDLIN( 80) ::borogove::persistence::MediaStoreFS _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 81) ::borogove::IncrementalHash sha1 = ::borogove::Hash_obj::sha1incr();
+HXLINE( 82) ::borogove::IncrementalHash sha256 = ::borogove::Hash_obj::sha256incr();
+HXLINE( 83) ::String tmpPath = (this->blobpath + HX_("/tmp",08,6c,69,1f));
+HXDLIN( 83) ::String tmpPath1 = (tmpPath + ::_UUIDv7::UUIDv7_Fields__obj::uuidv7());
+HXLINE( 84) ::sys::io::FileOutput tmpFile = ::sys::io::File_obj::write(tmpPath1,null());
+HXLINE( 86) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(source,sha1,sha256,tmpFile))), ::Dynamic(new _hx_Closure_4(tmpPath1,_gthis,mime,sha1,sha256)),null());
}
HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,storeMedia,return )
::Dynamic MediaStoreFS_obj::set(::String k,::String v){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_90_set)
-HXLINE( 91) if (::hx::IsNull( this->kv )) {
-HXLINE( 91) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_109_set)
+HXLINE( 110) if (::hx::IsNull( this->kv )) {
+HXLINE( 110) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 93) return ::borogove::persistence::KeyValueStore_obj::set(this->kv,k,v);
+HXLINE( 112) return ::borogove::persistence::KeyValueStore_obj::set(this->kv,k,v);
}
HX_DEFINE_DYNAMIC_FUNC2(MediaStoreFS_obj,set,return )
::Dynamic MediaStoreFS_obj::get(::String k){
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_96_get)
-HXLINE( 97) if (::hx::IsNull( this->kv )) {
-HXLINE( 97) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_115_get)
+HXLINE( 116) if (::hx::IsNull( this->kv )) {
+HXLINE( 116) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE( 99) return ::borogove::persistence::KeyValueStore_obj::get(this->kv,k);
+HXLINE( 118) return ::borogove::persistence::KeyValueStore_obj::get(this->kv,k);
}
@@ -393,8 +477,8 @@ void MediaStoreFS_obj::__register()
void MediaStoreFS_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_18_boot)
-HXDLIN( 18) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_62805e222ed8ef0e_20_boot)
+HXDLIN( 20) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("hasMedia",2a,4f,14,92), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
diff --git a/Sources/c_borogove/src/borogove/persistence/MediaStore__Companion.cpp b/Sources/c_borogove/src/borogove/persistence/MediaStore__Companion.cpp
index 605a300..9ad1d69 100644
--- a/Sources/c_borogove/src/borogove/persistence/MediaStore__Companion.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/MediaStore__Companion.cpp
@@ -1,18 +1,33 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED__HaxeCBridge_Internal
+#include <_HaxeCBridge/Internal.h>
+#endif
+#ifndef INCLUDED_borogove_Hash
+#include <borogove/Hash.h>
+#endif
#ifndef INCLUDED_borogove_persistence_MediaStore
#include <borogove/persistence/MediaStore.h>
#endif
#ifndef INCLUDED_borogove_persistence_MediaStore__Companion
#include <borogove/persistence/MediaStore__Companion.h>
#endif
+#ifndef INCLUDED_cpp_Int64Map
+#include <cpp/Int64Map.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_thenshim_Thenable
#include <thenshim/Thenable.h>
#endif
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
HX_LOCAL_STACK_FRAME(_hx_pos_c575748a802f6ed4_365_hasMedia__fromC,"borogove.persistence.MediaStore__Companion","hasMedia__fromC",0x97101834,"borogove.persistence.MediaStore__Companion.hasMedia__fromC","HaxeCBridge.hx",365,0xa18550d8)
HX_LOCAL_STACK_FRAME(_hx_pos_c575748a802f6ed4_365_removeMedia__fromC,"borogove.persistence.MediaStore__Companion","removeMedia__fromC",0x96ebc5f4,"borogove.persistence.MediaStore__Companion.removeMedia__fromC","HaxeCBridge.hx",365,0xa18550d8)
@@ -38,49 +53,42 @@ bool MediaStore__Companion_obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x7855aec5;
}
-void MediaStore__Companion_obj::hasMedia__fromC(::Dynamic self,::String hashAlgorithm,::cpp::Pointer< unsigned char > hash,size_t hash__len,::cpp::Function< void (bool,void*) > handler,void* handler__context){
+void MediaStore__Companion_obj::hasMedia__fromC(::Dynamic self, ::borogove::Hash hash,::cpp::Function< void (const char*,void*) > handler,void* handler__context){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_hasMedia__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXLINE( 302) ::Array< unsigned char > _hx_tmp;
-HXDLIN( 302) if (::hx::IsNull( hash )) {
-HXLINE( 302) _hx_tmp = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this = hash->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp = _this;
-HXDLIN( 302) result->setUnmanagedData(tmp,( (int)(hash__len) ));
-HXDLIN( 302) _hx_tmp = result->copy();
- }
-HXLINE( 365) ::borogove::persistence::MediaStore_obj::hasMedia(self,hashAlgorithm,_hx_tmp);
+HXDLIN( 365) ::borogove::persistence::MediaStore_obj::hasMedia(self,hash);
}
else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run(bool v){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::String v){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_hasMedia__fromC)
-HXDLIN( 365) handler(v,handler__context);
+HXDLIN( 365) ::cpp::Function< void (const char*,void*) > handler1 = handler;
+HXLINE( 332) const char* cStrPtr = v.utf8_str();
+HXDLIN( 332) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 332) {
+HXLINE( 332) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 332) if (::hx::IsNull( store )) {
+HXLINE( 332) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),v));
+HXDLIN( 332) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 332) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 365) handler1(cStrPtr,handler__context);
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
void _hx_run( ::Dynamic e){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_hasMedia__fromC)
-HXDLIN( 365) handler(false,handler__context);
+HXDLIN( 365) handler(null(),handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 302) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 302) if (::hx::IsNull( hash )) {
-HXLINE( 302) _hx_tmp1 = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this1 = hash->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp1 = _this1;
-HXDLIN( 302) result1->setUnmanagedData(tmp1,( (int)(hash__len) ));
-HXDLIN( 302) _hx_tmp1 = result1->copy();
- }
-HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::persistence::MediaStore_obj::hasMedia(self,hashAlgorithm,_hx_tmp1), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::persistence::MediaStore_obj::hasMedia(self,hash), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
@@ -132,49 +140,42 @@ HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::persist
}
-void MediaStore__Companion_obj::storeMedia__fromC(::Dynamic self,::String mime,::cpp::Pointer< unsigned char > bytes,size_t bytes__len,::cpp::Function< void (bool,void*) > handler,void* handler__context){
+void MediaStore__Companion_obj::storeMedia__fromC(::Dynamic self,::String mime,::Dynamic source,::cpp::Function< void (const char*,void*) > handler,void* handler__context){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_storeMedia__fromC)
HXDLIN( 365) if (::hx::IsNull( handler )) {
-HXLINE( 302) ::Array< unsigned char > _hx_tmp;
-HXDLIN( 302) if (::hx::IsNull( bytes )) {
-HXLINE( 302) _hx_tmp = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this = bytes->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp = _this;
-HXDLIN( 302) result->setUnmanagedData(tmp,( (int)(bytes__len) ));
-HXDLIN( 302) _hx_tmp = result->copy();
- }
-HXLINE( 365) ::borogove::persistence::MediaStore_obj::storeMedia(self,mime,_hx_tmp);
+HXDLIN( 365) ::borogove::persistence::MediaStore_obj::storeMedia(self,mime,source);
}
else {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
- void _hx_run(bool v){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ void _hx_run(::String v){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_storeMedia__fromC)
-HXDLIN( 365) handler(v,handler__context);
+HXDLIN( 365) ::cpp::Function< void (const char*,void*) > handler1 = handler;
+HXLINE( 332) const char* cStrPtr = v.utf8_str();
+HXDLIN( 332) ::cpp::Int64 ptrInt64 = reinterpret_cast<int64_t>(cStrPtr);
+HXDLIN( 332) {
+HXLINE( 332) ::Dynamic store = ::_HaxeCBridge::Internal_obj::gcRetainMap->get(ptrInt64);
+HXDLIN( 332) if (::hx::IsNull( store )) {
+HXLINE( 332) store = ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("refCount",7c,2e,66,86),1)
+ ->setFixed(1,HX_("value",71,7f,b8,31),v));
+HXDLIN( 332) ::_HaxeCBridge::Internal_obj::gcRetainMap->set(ptrInt64,store);
+ }
+ else {
+HXLINE( 332) ::hx::FieldRef((store).mPtr,HX_("refCount",7c,2e,66,86))++;
+ }
+ }
+HXLINE( 365) handler1(cStrPtr,handler__context);
}
HX_END_LOCAL_FUNC1((void))
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (bool HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::cpp::Function< void (const char* HX_COMMA void*) >,handler,void*,handler__context) HXARGC(1)
void _hx_run( ::Dynamic e){
HX_STACKFRAME(&_hx_pos_c575748a802f6ed4_365_storeMedia__fromC)
-HXDLIN( 365) handler(false,handler__context);
+HXDLIN( 365) handler(null(),handler__context);
}
HX_END_LOCAL_FUNC1((void))
-HXLINE( 302) ::Array< unsigned char > _hx_tmp1;
-HXDLIN( 302) if (::hx::IsNull( bytes )) {
-HXLINE( 302) _hx_tmp1 = ::Array_obj< unsigned char >::__new(0);
- }
- else {
-HXLINE( 302) ::cpp::Pointer< unsigned char > _this1 = bytes->reinterpret();
-HXDLIN( 302) ::Array< unsigned char > result1 = ::Array_obj< unsigned char >::__new();
-HXDLIN( 302) ::cpp::Pointer< unsigned char > tmp1 = _this1;
-HXDLIN( 302) result1->setUnmanagedData(tmp1,( (int)(bytes__len) ));
-HXDLIN( 302) _hx_tmp1 = result1->copy();
- }
-HXLINE( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::persistence::MediaStore_obj::storeMedia(self,mime,_hx_tmp1), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
+HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(::borogove::persistence::MediaStore_obj::storeMedia(self,mime,source), ::Dynamic(new _hx_Closure_0(handler,handler__context)), ::Dynamic(new _hx_Closure_1(handler,handler__context)));
}
}
diff --git a/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp b/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp
index 6f4e526..e422bca 100644
--- a/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/Sqlite.cpp
@@ -49,15 +49,24 @@
#ifndef INCLUDED_borogove_Chat
#include <borogove/Chat.h>
#endif
+#ifndef INCLUDED_borogove_ChatAttachment
+#include <borogove/ChatAttachment.h>
+#endif
#ifndef INCLUDED_borogove_ChatMessage
#include <borogove/ChatMessage.h>
#endif
#ifndef INCLUDED_borogove_ChatMessageBuilder
#include <borogove/ChatMessageBuilder.h>
#endif
+#ifndef INCLUDED_borogove_ChatMessageCombiner
+#include <borogove/ChatMessageCombiner.h>
+#endif
#ifndef INCLUDED_borogove_CustomEmojiReaction
#include <borogove/CustomEmojiReaction.h>
#endif
+#ifndef INCLUDED_borogove_EncryptionInfo
+#include <borogove/EncryptionInfo.h>
+#endif
#ifndef INCLUDED_borogove_EventEmitter
#include <borogove/EventEmitter.h>
#endif
@@ -154,336 +163,418 @@
#ifndef INCLUDED_thenshim__Promise_Promise_Impl_
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_87_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",87,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_95_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",95,0x605e3eb4)
static const ::String _hx_array_data_99390348_2[] = {
HX_("CREATE TABLE messages (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tmam_id TEXT NOT NULL,\n\t\t\t\t\t\t\tmam_by TEXT NOT NULL,\n\t\t\t\t\t\t\tstanza_id TEXT NOT NULL,\n\t\t\t\t\t\t\tcorrection_id TEXT NOT NULL,\n\t\t\t\t\t\t\tsync_point INTEGER NOT NULL,\n\t\t\t\t\t\t\tchat_id TEXT NOT NULL,\n\t\t\t\t\t\t\tsender_id TEXT NOT NULL,\n\t\t\t\t\t\t\tcreated_at INTEGER NOT NULL,\n\t\t\t\t\t\t\tstatus INTEGER NOT NULL,\n\t\t\t\t\t\t\tdirection INTEGER NOT NULL,\n\t\t\t\t\t\t\ttype INTEGER NOT NULL,\n\t\t\t\t\t\t\tstanza TEXT NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, mam_id, mam_by, stanza_id)\n\t\t\t\t\t\t) STRICT",83,96,ac,55),HX_("CREATE INDEX messages_created_at ON messages (account_id, chat_id, created_at)",0a,a5,34,74),HX_("CREATE INDEX messages_correction_id ON messages (correction_id)",1d,cc,3a,55),HX_("CREATE TABLE chats (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tchat_id TEXT NOT NULL,\n\t\t\t\t\t\t\ttrusted INTEGER NOT NULL,\n\t\t\t\t\t\t\tavatar_sha1 BLOB,\n\t\t\t\t\t\t\tfn TEXT,\n\t\t\t\t\t\t\tui_state INTEGER NOT NULL,\n\t\t\t\t\t\t\tblocked INTEGER NOT NULL,\n\t\t\t\t\t\t\textensions TEXT,\n\t\t\t\t\t\t\tread_up_to_id TEXT,\n\t\t\t\t\t\t\tread_up_to_by TEXT,\n\t\t\t\t\t\t\tcaps_ver BLOB,\n\t\t\t\t\t\t\tpresence BLOB NOT NULL,\n\t\t\t\t\t\t\tclass TEXT NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, chat_id)\n\t\t\t\t\t\t) STRICT",d7,57,b5,98),HX_("CREATE TABLE keyvaluepairs (\n\t\t\t\t\t\t\tk TEXT NOT NULL PRIMARY KEY,\n\t\t\t\t\t\t\tv TEXT NOT NULL\n\t\t\t\t\t\t) STRICT",7d,57,c4,25),HX_("CREATE TABLE caps (\n\t\t\t\t\t\t\tsha1 BLOB NOT NULL PRIMARY KEY,\n\t\t\t\t\t\t\tcaps BLOB NOT NULL\n\t\t\t\t\t\t) STRICT",82,72,8b,39),HX_("CREATE TABLE services (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tservice_id TEXT NOT NULL,\n\t\t\t\t\t\t\tname TEXT,\n\t\t\t\t\t\t\tnode TEXT,\n\t\t\t\t\t\t\tcaps BLOB NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, service_id)\n\t\t\t\t\t\t) STRICT",e9,e5,5a,93),HX_("CREATE TABLE accounts (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tclient_id TEXT NOT NULL,\n\t\t\t\t\t\t\tdisplay_name TEXT,\n\t\t\t\t\t\t\ttoken TEXT,\n\t\t\t\t\t\t\tfast_count INTEGER NOT NULL DEFAULT 0,\n\t\t\t\t\t\t\tsm_state BLOB,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id)\n\t\t\t\t\t\t) STRICT",e5,e4,e8,18),HX_("CREATE TABLE reactions (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tupdate_id TEXT NOT NULL,\n\t\t\t\t\t\t\tmam_id TEXT,\n\t\t\t\t\t\t\tmam_by TEXT,\n\t\t\t\t\t\t\tstanza_id TEXT,\n\t\t\t\t\t\t\tchat_id TEXT NOT NULL,\n\t\t\t\t\t\t\tsender_id TEXT NOT NULL,\n\t\t\t\t\t\t\tcreated_at INTEGER NOT NULL,\n\t\t\t\t\t\t\treactions BLOB NOT NULL,\n\t\t\t\t\t\t\tkind INTEGER NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, chat_id, sender_id, update_id)\n\t\t\t\t\t\t) STRICT",f2,b7,82,71),HX_("PRAGMA user_version = 1",36,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_164_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",164,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_172_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",172,0x605e3eb4)
static const ::String _hx_array_data_99390348_4[] = {
HX_("ALTER TABLE chats ADD COLUMN notifications_filtered INTEGER",96,4b,fd,cd),HX_("ALTER TABLE chats ADD COLUMN notify_mention INTEGER NOT NULL DEFAULT 0",c9,7b,58,0e),HX_("ALTER TABLE chats ADD COLUMN notify_reply INTEGER NOT NULL DEFAULT 0",89,06,a6,fc),HX_("PRAGMA user_version = 2",37,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_172_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",172,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_180_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",180,0x605e3eb4)
static const ::String _hx_array_data_99390348_6[] = {
HX_("ALTER TABLE messages ADD COLUMN status_text TEXT",26,26,af,2d),HX_("PRAGMA user_version = 3",38,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_178_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",178,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_186_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",186,0x605e3eb4)
static const ::String _hx_array_data_99390348_8[] = {
HX_("CREATE INDEX messages_stanza_id on messages (account_id, stanza_id)",5e,17,3a,20),HX_("PRAGMA user_version = 4",39,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_184_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",184,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_192_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",192,0x605e3eb4)
static const ::String _hx_array_data_99390348_10[] = {
HX_("CREATE INDEX messages_mam_id on messages (account_id, chat_id, mam_id)",ea,dd,5f,aa),HX_("PRAGMA user_version = 5",3a,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_190_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",190,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_198_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",198,0x605e3eb4)
static const ::String _hx_array_data_99390348_12[] = {
HX_("ALTER TABLE chats ADD COLUMN bookmarked INTEGER NOT NULL DEFAULT 0",08,c6,d1,b9),HX_("PRAGMA user_version = 6",3b,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_196_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",196,0x605e3eb4)
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_203_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",203,0x605e3eb4)
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_207_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",207,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_204_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",204,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_211_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",211,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_215_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",215,0x605e3eb4)
static const ::String _hx_array_data_99390348_16[] = {
HX_("SELECT ROWID FROM messages ORDER BY created_at",14,94,7d,7f),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_220_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",220,0x605e3eb4)
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_208_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",208,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_228_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",228,0x605e3eb4)
HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_216_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",216,0x605e3eb4)
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_222_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",222,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_224_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",224,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_230_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",230,0x605e3eb4)
static const ::String _hx_array_data_99390348_21[] = {
HX_("PRAGMA user_version = 8",3d,cd,bd,7c),
};
static const ::String _hx_array_data_99390348_22[] = {
HX_("ALTER TABLE messages ADD COLUMN sort_id TEXT NOT NULL DEFAULT 'a '",90,4a,7e,63),HX_("CREATE INDEX messages_sort_id ON messages (account_id, chat_id, sort_id)",92,70,88,c2),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_226_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",226,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_234_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",234,0x605e3eb4)
static const ::String _hx_array_data_99390348_24[] = {
HX_("ALTER TABLE chats ADD COLUMN meta BLOB NOT NULL DEFAULT X'0C'",0c,0c,a1,c8),HX_("PRAGMA user_version = 9",3e,cd,bd,7c),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_233_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",233,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_241_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",241,0x605e3eb4)
static const ::String _hx_array_data_99390348_26[] = {
HX_("ALTER TABLE accounts ADD COLUMN sort_id TEXT NOT NULL DEFAULT 'a '",6a,de,fe,aa),HX_("PRAGMA user_version = 10",3a,c2,55,a9),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_239_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",239,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_247_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",247,0x605e3eb4)
static const ::String _hx_array_data_99390348_28[] = {
HX_("CREATE TABLE members (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tchat_id TEXT NOT NULL,\n\t\t\t\t\t\t\tmember_id TEXT NOT NULL,\n\t\t\t\t\t\t\tdisplay_name TEXT,\n\t\t\t\t\t\t\tphoto_uri TEXT,\n\t\t\t\t\t\t\tis_self INTEGER NOT NULL,\n\t\t\t\t\t\t\tchat TEXT,\n\t\t\t\t\t\t\troles BLOB NOT NULL,\n\t\t\t\t\t\t\tpresence BLOB NOT NULL,\n\t\t\t\t\t\t\tjid TEXT,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, member_id)\n\t\t\t\t\t\t) STRICT",a0,1c,e3,3e),HX_("CREATE INDEX members_chats ON members (account_id, chat_id, is_self, jid)",01,f5,76,e5),HX_("ALTER TABLE chats DROP COLUMN presence",15,e1,b4,ae),HX_("PRAGMA user_version = 11",3b,c2,55,a9),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_259_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",259,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_267_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",267,0x605e3eb4)
static const ::String _hx_array_data_99390348_30[] = {
HX_("CREATE INDEX messages_sync_point ON messages (account_id, mam_by, sort_id DESC) WHERE sync_point",e5,a4,cc,f3),HX_("PRAGMA user_version = 12",3c,c2,55,a9),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_85_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",85,0x605e3eb4)
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_84_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",84,0x605e3eb4)
-static const ::String _hx_array_data_99390348_33[] = {
- HX_("PRAGMA user_version",c8,0f,11,60),
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_273_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",273,0x605e3eb4)
+static const ::String _hx_array_data_99390348_32[] = {
+ HX_("ALTER TABLE accounts ADD COLUMN roster_ver TEXT",91,5b,c8,da),HX_("PRAGMA user_version = 13",3d,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_279_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",279,0x605e3eb4)
+static const ::String _hx_array_data_99390348_34[] = {
+ HX_("CREATE TABLE omemo_identity_keys (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL PRIMARY KEY,\n\t\t\t\t\t\t\tprivate_key BLOB NOT NULL,\n\t\t\t\t\t\t\tpublic_key BLOB NOT NULL\n\t\t\t\t\t\t) STRICT",b3,0e,19,99),HX_("PRAGMA user_version = 14",3e,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_289_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",289,0x605e3eb4)
+static const ::String _hx_array_data_99390348_36[] = {
+ HX_("CREATE TABLE omemo_devices (\n\t\t\t\t\t\t\tidentifier TEXT NOT NULL,\n\t\t\t\t\t\t\tdevice_id INTEGER NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (identifier, device_id)\n\t\t\t\t\t\t) STRICT",15,d8,e7,43),HX_("PRAGMA user_version = 15",3f,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_299_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",299,0x605e3eb4)
+static const ::String _hx_array_data_99390348_38[] = {
+ HX_("CREATE TABLE omemo_prekeys (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tkey_id INTEGER NOT NULL,\n\t\t\t\t\t\t\tprivate_key BLOB NOT NULL,\n\t\t\t\t\t\t\tpublic_key BLOB NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, key_id)\n\t\t\t\t\t\t) STRICT",01,51,a7,50),HX_("PRAGMA user_version = 16",40,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_311_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",311,0x605e3eb4)
+static const ::String _hx_array_data_99390348_40[] = {
+ HX_("CREATE TABLE omemo_signed_prekeys (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\tkey_id INTEGER NOT NULL,\n\t\t\t\t\t\t\tprivate_key BLOB NOT NULL,\n\t\t\t\t\t\t\tpublic_key BLOB NOT NULL,\n\t\t\t\t\t\t\tsignature BLOB NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, key_id)\n\t\t\t\t\t\t) STRICT",10,b1,b8,53),HX_("PRAGMA user_version = 17",41,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_324_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",324,0x605e3eb4)
+static const ::String _hx_array_data_99390348_42[] = {
+ HX_("CREATE TABLE omemo_contact_identity_keys (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\taddress TEXT NOT NULL,\n\t\t\t\t\t\t\tidentity_key BLOB NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, address)\n\t\t\t\t\t\t) STRICT",4b,4c,7d,3c),HX_("PRAGMA user_version = 18",42,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_335_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",335,0x605e3eb4)
+static const ::String _hx_array_data_99390348_44[] = {
+ HX_("CREATE TABLE omemo_sessions (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\taddress TEXT NOT NULL,\n\t\t\t\t\t\t\tsession TEXT NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, address)\n\t\t\t\t\t\t) STRICT",30,35,75,4d),HX_("PRAGMA user_version = 19",43,c2,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_346_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",346,0x605e3eb4)
+static const ::String _hx_array_data_99390348_46[] = {
+ HX_("CREATE TABLE omemo_sessions_meta (\n\t\t\t\t\t\t\taccount_id TEXT NOT NULL,\n\t\t\t\t\t\t\taddress TEXT NOT NULL,\n\t\t\t\t\t\t\treceived_session_message_ok INTEGER NOT NULL,\n\t\t\t\t\t\t\tlast_message_decrypted_ok INTEGER NOT NULL,\n\t\t\t\t\t\t\tsent_key_exchange INTEGER NOT NULL,\n\t\t\t\t\t\t\tPRIMARY KEY (account_id, address)\n\t\t\t\t\t\t) STRICT",30,e8,dc,93),HX_("PRAGMA user_version = 20",19,c3,55,a9),
};
-HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_34_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",34,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_272_get,"borogove.persistence.Sqlite","get",0xf1069870,"borogove.persistence.Sqlite.get","borogove/persistence/Sqlite.hx",272,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_282_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",282,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_283_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",283,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_285_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",285,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_301_syncPoint,"borogove.persistence.Sqlite","syncPoint",0xba3f774f,"borogove.persistence.Sqlite.syncPoint","borogove/persistence/Sqlite.hx",301,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_290_syncPoint,"borogove.persistence.Sqlite","syncPoint",0xba3f774f,"borogove.persistence.Sqlite.syncPoint","borogove/persistence/Sqlite.hx",290,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_317_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",317,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_359_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",359,0x605e3eb4)
+static const ::String _hx_array_data_99390348_48[] = {
+ HX_("ALTER TABLE messages ADD COLUMN encryption BLOB",c7,e9,47,4b),HX_("PRAGMA user_version = 21",1a,c3,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_365_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",365,0x605e3eb4)
static const ::String _hx_array_data_99390348_50[] = {
+ HX_("ALTER TABLE messages ADD COLUMN debug BLOB",bd,29,22,12),HX_("PRAGMA user_version = 22",1b,c3,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_371_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",371,0x605e3eb4)
+static const ::String _hx_array_data_99390348_52[] = {
+ HX_("CREATE INDEX messages_status ON messages (account_id, status, created_at)",50,ac,5e,ef),HX_("PRAGMA user_version = 23",1c,c3,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_377_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",377,0x605e3eb4)
+static const ::String _hx_array_data_99390348_54[] = {
+ HX_("DROP INDEX messages_created_at",9e,6c,54,c0),HX_("DROP INDEX messages_status",a6,b3,68,ad),HX_("ALTER TABLE messages RENAME COLUMN created_at TO time_sent",3b,4a,6f,59),HX_("ALTER TABLE messages ADD COLUMN time_received INTEGER",be,52,88,b1),HX_("CREATE INDEX messages_time_received ON messages (account_id, chat_id, time_received)",64,f4,ad,37),HX_("CREATE INDEX messages_status ON messages (account_id, status, time_received)",05,65,0f,37),HX_("UPDATE messages SET time_received=time_sent",45,fc,fb,e2),HX_("PRAGMA user_version = 24",1d,c3,55,a9),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_93_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",93,0x605e3eb4)
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_92_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",92,0x605e3eb4)
+static const ::String _hx_array_data_99390348_57[] = {
+ HX_("PRAGMA user_version",c8,0f,11,60),
+};
+HX_DEFINE_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_42_new,"borogove.persistence.Sqlite","new",0xf10be83a,"borogove.persistence.Sqlite.new","borogove/persistence/Sqlite.hx",42,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_396_get,"borogove.persistence.Sqlite","get",0xf1069870,"borogove.persistence.Sqlite.get","borogove/persistence/Sqlite.hx",396,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_406_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",406,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_407_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",407,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_409_set,"borogove.persistence.Sqlite","set",0xf10fb37c,"borogove.persistence.Sqlite.set","borogove/persistence/Sqlite.hx",409,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_430_syncPoint,"borogove.persistence.Sqlite","syncPoint",0xba3f774f,"borogove.persistence.Sqlite.syncPoint","borogove/persistence/Sqlite.hx",430,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_414_syncPoint,"borogove.persistence.Sqlite","syncPoint",0xba3f774f,"borogove.persistence.Sqlite.syncPoint","borogove/persistence/Sqlite.hx",414,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_446_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",446,0x605e3eb4)
+static const ::String _hx_array_data_99390348_74[] = {
HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4),
};
-static const ::String _hx_array_data_99390348_51[] = {
+static const ::String _hx_array_data_99390348_75[] = {
HX_(",",2c,00,00,00),
};
-static const ::String _hx_array_data_99390348_52[] = {
+static const ::String _hx_array_data_99390348_76[] = {
HX_("(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,jsonb(?))",f9,da,31,c1),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_343_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",343,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_308_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",308,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_356_serializePresenceMap,"borogove.persistence.Sqlite","serializePresenceMap",0x1aed0007,"borogove.persistence.Sqlite.serializePresenceMap","borogove/persistence/Sqlite.hx",356,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_367_hydratePresenceMap,"borogove.persistence.Sqlite","hydratePresenceMap",0xdd91e2b4,"borogove.persistence.Sqlite.hydratePresenceMap","borogove/persistence/Sqlite.hx",367,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_379_hydrateStoredMember,"borogove.persistence.Sqlite","hydrateStoredMember",0x227dd92a,"borogove.persistence.Sqlite.hydrateStoredMember","borogove/persistence/Sqlite.hx",379,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_425_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",425,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_446_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",446,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_460_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",460,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_468_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",468,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_407_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",407,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_507_storeMembers,"borogove.persistence.Sqlite","storeMembers",0x5eb10bde,"borogove.persistence.Sqlite.storeMembers","borogove/persistence/Sqlite.hx",507,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_480_storeMembers,"borogove.persistence.Sqlite","storeMembers",0x5eb10bde,"borogove.persistence.Sqlite.storeMembers","borogove/persistence/Sqlite.hx",480,0x605e3eb4)
-static const ::String _hx_array_data_99390348_73[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_472_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",472,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_437_storeChats,"borogove.persistence.Sqlite","storeChats",0xd6b04260,"borogove.persistence.Sqlite.storeChats","borogove/persistence/Sqlite.hx",437,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_485_serializePresenceMap,"borogove.persistence.Sqlite","serializePresenceMap",0x1aed0007,"borogove.persistence.Sqlite.serializePresenceMap","borogove/persistence/Sqlite.hx",485,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_496_hydratePresenceMap,"borogove.persistence.Sqlite","hydratePresenceMap",0xdd91e2b4,"borogove.persistence.Sqlite.hydratePresenceMap","borogove/persistence/Sqlite.hx",496,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_508_hydrateStoredMember,"borogove.persistence.Sqlite","hydrateStoredMember",0x227dd92a,"borogove.persistence.Sqlite.hydrateStoredMember","borogove/persistence/Sqlite.hx",508,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_554_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",554,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_575_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",575,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_589_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",589,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_597_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",597,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_536_chatPresenceAndMembersForName,"borogove.persistence.Sqlite","chatPresenceAndMembersForName",0x57ea40f9,"borogove.persistence.Sqlite.chatPresenceAndMembersForName","borogove/persistence/Sqlite.hx",536,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_636_storeMembers,"borogove.persistence.Sqlite","storeMembers",0x5eb10bde,"borogove.persistence.Sqlite.storeMembers","borogove/persistence/Sqlite.hx",636,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_609_storeMembers,"borogove.persistence.Sqlite","storeMembers",0x5eb10bde,"borogove.persistence.Sqlite.storeMembers","borogove/persistence/Sqlite.hx",609,0x605e3eb4)
+static const ::String _hx_array_data_99390348_97[] = {
HX_("INSERT OR REPLACE INTO members VALUES ",f9,ed,eb,41),
};
-static const ::String _hx_array_data_99390348_74[] = {
+static const ::String _hx_array_data_99390348_98[] = {
HX_(",",2c,00,00,00),
};
-static const ::String _hx_array_data_99390348_75[] = {
+static const ::String _hx_array_data_99390348_99[] = {
HX_("(?,?,?,?,?,?,?,jsonb(?),jsonb(?),?)",cd,39,fd,64),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_537_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",537,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_535_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",535,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_538_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",538,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_546_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",546,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_553_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",553,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_555_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",555,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_511_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",511,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_526_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",526,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_519_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",519,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_528_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",528,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_518_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",518,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_578_clearMemberPresence,"borogove.persistence.Sqlite","clearMemberPresence",0xf21288fc,"borogove.persistence.Sqlite.clearMemberPresence","borogove/persistence/Sqlite.hx",578,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_573_clearMemberPresence,"borogove.persistence.Sqlite","clearMemberPresence",0xf21288fc,"borogove.persistence.Sqlite.clearMemberPresence","borogove/persistence/Sqlite.hx",573,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_600_getMembers,"borogove.persistence.Sqlite","getMembers",0xbd4faa49,"borogove.persistence.Sqlite.getMembers","borogove/persistence/Sqlite.hx",600,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_582_getMembers,"borogove.persistence.Sqlite","getMembers",0xbd4faa49,"borogove.persistence.Sqlite.getMembers","borogove/persistence/Sqlite.hx",582,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_622_getMemberDetails,"borogove.persistence.Sqlite","getMemberDetails",0x098db2f8,"borogove.persistence.Sqlite.getMemberDetails","borogove/persistence/Sqlite.hx",622,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_614_getMemberDetails,"borogove.persistence.Sqlite","getMemberDetails",0x098db2f8,"borogove.persistence.Sqlite.getMemberDetails","borogove/persistence/Sqlite.hx",614,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_640_searchMessages,"borogove.persistence.Sqlite","searchMessages",0x6d157eba,"borogove.persistence.Sqlite.searchMessages","borogove/persistence/Sqlite.hx",640,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_633_searchMessages,"borogove.persistence.Sqlite","searchMessages",0x6d157eba,"borogove.persistence.Sqlite.searchMessages","borogove/persistence/Sqlite.hx",633,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_649_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",649,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_650_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",650,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_648_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",648,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_644_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",644,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_713_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",713,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_715_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",715,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_717_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",717,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_699_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",699,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_672_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",672,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_726_updateMessage,"borogove.persistence.Sqlite","updateMessage",0x2541c718,"borogove.persistence.Sqlite.updateMessage","borogove/persistence/Sqlite.hx",726,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_760_fetchFromStub,"borogove.persistence.Sqlite","fetchFromStub",0x727b8a6c,"borogove.persistence.Sqlite.fetchFromStub","borogove/persistence/Sqlite.hx",760,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_729_fetchFromStub,"borogove.persistence.Sqlite","fetchFromStub",0x727b8a6c,"borogove.persistence.Sqlite.fetchFromStub","borogove/persistence/Sqlite.hx",729,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_787_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",787,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_794_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",794,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_788_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",788,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_793_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",793,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_776_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",776,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_666_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",666,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_664_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",664,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_667_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",667,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_675_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",675,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_682_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",682,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_684_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",684,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_640_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",640,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_655_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",655,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_648_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",648,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_657_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",657,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_647_storeMemberUpdates,"borogove.persistence.Sqlite","storeMemberUpdates",0x3224d7d5,"borogove.persistence.Sqlite.storeMemberUpdates","borogove/persistence/Sqlite.hx",647,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_707_clearMemberPresence,"borogove.persistence.Sqlite","clearMemberPresence",0xf21288fc,"borogove.persistence.Sqlite.clearMemberPresence","borogove/persistence/Sqlite.hx",707,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_702_clearMemberPresence,"borogove.persistence.Sqlite","clearMemberPresence",0xf21288fc,"borogove.persistence.Sqlite.clearMemberPresence","borogove/persistence/Sqlite.hx",702,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_731_getMembers,"borogove.persistence.Sqlite","getMembers",0xbd4faa49,"borogove.persistence.Sqlite.getMembers","borogove/persistence/Sqlite.hx",731,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_711_getMembers,"borogove.persistence.Sqlite","getMembers",0xbd4faa49,"borogove.persistence.Sqlite.getMembers","borogove/persistence/Sqlite.hx",711,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_753_getMemberDetails,"borogove.persistence.Sqlite","getMemberDetails",0x098db2f8,"borogove.persistence.Sqlite.getMemberDetails","borogove/persistence/Sqlite.hx",753,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_745_getMemberDetails,"borogove.persistence.Sqlite","getMemberDetails",0x098db2f8,"borogove.persistence.Sqlite.getMemberDetails","borogove/persistence/Sqlite.hx",745,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_765_storeVoiceRequest,"borogove.persistence.Sqlite","storeVoiceRequest",0x2c506a98,"borogove.persistence.Sqlite.storeVoiceRequest","borogove/persistence/Sqlite.hx",765,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_773_listVoiceRequests,"borogove.persistence.Sqlite","listVoiceRequests",0x3ce81c32,"borogove.persistence.Sqlite.listVoiceRequests","borogove/persistence/Sqlite.hx",773,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_769_listVoiceRequests,"borogove.persistence.Sqlite","listVoiceRequests",0x3ce81c32,"borogove.persistence.Sqlite.listVoiceRequests","borogove/persistence/Sqlite.hx",769,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_796_searchMessages,"borogove.persistence.Sqlite","searchMessages",0x6d157eba,"borogove.persistence.Sqlite.searchMessages","borogove/persistence/Sqlite.hx",796,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_784_searchMessages,"borogove.persistence.Sqlite","searchMessages",0x6d157eba,"borogove.persistence.Sqlite.searchMessages","borogove/persistence/Sqlite.hx",784,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_805_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",805,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_806_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",806,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_804_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",804,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_800_getChats,"borogove.persistence.Sqlite","getChats",0x78ebe00b,"borogove.persistence.Sqlite.getChats","borogove/persistence/Sqlite.hx",800,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_855_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",855,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_862_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",862,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_828_storeMessages,"borogove.persistence.Sqlite","storeMessages",0xa9801e27,"borogove.persistence.Sqlite.storeMessages","borogove/persistence/Sqlite.hx",828,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_871_updateMessage,"borogove.persistence.Sqlite","updateMessage",0x2541c718,"borogove.persistence.Sqlite.updateMessage","borogove/persistence/Sqlite.hx",871,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_898_fetchFromStub,"borogove.persistence.Sqlite","fetchFromStub",0x727b8a6c,"borogove.persistence.Sqlite.fetchFromStub","borogove/persistence/Sqlite.hx",898,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_874_fetchFromStub,"borogove.persistence.Sqlite","fetchFromStub",0x727b8a6c,"borogove.persistence.Sqlite.fetchFromStub","borogove/persistence/Sqlite.hx",874,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_930_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",930,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_914_getMessage,"borogove.persistence.Sqlite","getMessage",0x3cf0b337,"borogove.persistence.Sqlite.getMessage","borogove/persistence/Sqlite.hx",914,0x605e3eb4)
HX_LOCAL_STACK_FRAME(_hx_pos_e0e41eef74e41160_365_getMessage__fromC,"borogove.persistence.Sqlite","getMessage__fromC",0x419ea222,"borogove.persistence.Sqlite.getMessage__fromC","HaxeCBridge.hx",365,0xa18550d8)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_842_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",842,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_865_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",865,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_869_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",869,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_888_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",888,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_899_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",899,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_798_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",798,0x605e3eb4)
-static const ::String _hx_array_data_99390348_147[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_971_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",971,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_999_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",999,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1003_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",1003,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1022_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",1022,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_933_getMessages,"borogove.persistence.Sqlite","getMessages",0x15ac1d5c,"borogove.persistence.Sqlite.getMessages","borogove/persistence/Sqlite.hx",933,0x605e3eb4)
+static const ::String _hx_array_data_99390348_163[] = {
HX_("WITH page AS (SELECT stanza_id, mam_id FROM messages where account_id=? AND chat_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND type<>?",1a,43,cb,8f),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_904_getMessagesBefore,"borogove.persistence.Sqlite","getMessagesBefore",0x4d9d52fb,"borogove.persistence.Sqlite.getMessagesBefore","borogove/persistence/Sqlite.hx",904,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_909_getMessagesAfter,"borogove.persistence.Sqlite","getMessagesAfter",0xadefcb20,"borogove.persistence.Sqlite.getMessagesAfter","borogove/persistence/Sqlite.hx",909,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_918_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",918,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_913_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",913,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_925_getChatUnreadDetails,"borogove.persistence.Sqlite","getChatUnreadDetails",0x2c7619cb,"borogove.persistence.Sqlite.getChatUnreadDetails","borogove/persistence/Sqlite.hx",925,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_921_getChatUnreadDetails,"borogove.persistence.Sqlite","getChatUnreadDetails",0x2c7619cb,"borogove.persistence.Sqlite.getChatUnreadDetails","borogove/persistence/Sqlite.hx",921,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_933_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",933,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_951_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",951,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_942_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",942,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_962_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",962,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_967_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",967,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_969_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",969,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_958_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",958,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_956_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",956,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_978_hasMedia,"borogove.persistence.Sqlite","hasMedia",0x65758110,"borogove.persistence.Sqlite.hasMedia","borogove/persistence/Sqlite.hx",978,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_983_removeMedia,"borogove.persistence.Sqlite","removeMedia",0xbeaa63da,"borogove.persistence.Sqlite.removeMedia","borogove/persistence/Sqlite.hx",983,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_988_storeMedia,"borogove.persistence.Sqlite","storeMedia",0x96b8a8a9,"borogove.persistence.Sqlite.storeMedia","borogove/persistence/Sqlite.hx",988,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_992_storeCaps,"borogove.persistence.Sqlite","storeCaps",0xbf81d7fc,"borogove.persistence.Sqlite.storeCaps","borogove/persistence/Sqlite.hx",992,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_998_storeCapsSet,"borogove.persistence.Sqlite","storeCapsSet",0xeacfa106,"borogove.persistence.Sqlite.storeCapsSet","borogove/persistence/Sqlite.hx",998,0x605e3eb4)
-static const ::String _hx_array_data_99390348_175[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1032_getMessagesBefore,"borogove.persistence.Sqlite","getMessagesBefore",0x4d9d52fb,"borogove.persistence.Sqlite.getMessagesBefore","borogove/persistence/Sqlite.hx",1032,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1037_getMessagesAfter,"borogove.persistence.Sqlite","getMessagesAfter",0xadefcb20,"borogove.persistence.Sqlite.getMessagesAfter","borogove/persistence/Sqlite.hx",1037,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1046_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",1046,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1041_getMessagesAround,"borogove.persistence.Sqlite","getMessagesAround",0x696ef6c9,"borogove.persistence.Sqlite.getMessagesAround","borogove/persistence/Sqlite.hx",1041,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1060_getMessagesByStatus,"borogove.persistence.Sqlite","getMessagesByStatus",0x6a89c1e5,"borogove.persistence.Sqlite.getMessagesByStatus","borogove/persistence/Sqlite.hx",1060,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1050_getMessagesByStatus,"borogove.persistence.Sqlite","getMessagesByStatus",0x6a89c1e5,"borogove.persistence.Sqlite.getMessagesByStatus","borogove/persistence/Sqlite.hx",1050,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1084_getChatUnreadDetails,"borogove.persistence.Sqlite","getChatUnreadDetails",0x2c7619cb,"borogove.persistence.Sqlite.getChatUnreadDetails","borogove/persistence/Sqlite.hx",1084,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1063_getChatUnreadDetails,"borogove.persistence.Sqlite","getChatUnreadDetails",0x2c7619cb,"borogove.persistence.Sqlite.getChatUnreadDetails","borogove/persistence/Sqlite.hx",1063,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1092_getChatsUnreadDetails,"borogove.persistence.Sqlite","getChatsUnreadDetails",0x7e07eb48,"borogove.persistence.Sqlite.getChatsUnreadDetails","borogove/persistence/Sqlite.hx",1092,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1110_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",1110,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1101_storeReaction,"borogove.persistence.Sqlite","storeReaction",0x6b372d04,"borogove.persistence.Sqlite.storeReaction","borogove/persistence/Sqlite.hx",1101,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1131_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",1131,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1133_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",1133,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1117_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",1117,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1115_updateMessageStatus,"borogove.persistence.Sqlite","updateMessageStatus",0x5be4846a,"borogove.persistence.Sqlite.updateMessageStatus","borogove/persistence/Sqlite.hx",1115,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1140_hasMedia,"borogove.persistence.Sqlite","hasMedia",0x65758110,"borogove.persistence.Sqlite.hasMedia","borogove/persistence/Sqlite.hx",1140,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1145_removeMedia,"borogove.persistence.Sqlite","removeMedia",0xbeaa63da,"borogove.persistence.Sqlite.removeMedia","borogove/persistence/Sqlite.hx",1145,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1150_storeMedia,"borogove.persistence.Sqlite","storeMedia",0x96b8a8a9,"borogove.persistence.Sqlite.storeMedia","borogove/persistence/Sqlite.hx",1150,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1154_storeCaps,"borogove.persistence.Sqlite","storeCaps",0xbf81d7fc,"borogove.persistence.Sqlite.storeCaps","borogove/persistence/Sqlite.hx",1154,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1160_storeCapsSet,"borogove.persistence.Sqlite","storeCapsSet",0xeacfa106,"borogove.persistence.Sqlite.storeCapsSet","borogove/persistence/Sqlite.hx",1160,0x605e3eb4)
+static const ::String _hx_array_data_99390348_189[] = {
HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf),
};
-static const ::String _hx_array_data_99390348_176[] = {
+static const ::String _hx_array_data_99390348_190[] = {
HX_(",",2c,00,00,00),
};
-static const ::String _hx_array_data_99390348_177[] = {
+static const ::String _hx_array_data_99390348_191[] = {
HX_("(?,jsonb(?))",1c,61,06,9e),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1024_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",1024,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1015_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",1015,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1056_storeLogin,"borogove.persistence.Sqlite","storeLogin",0x09f07d2e,"borogove.persistence.Sqlite.storeLogin","borogove/persistence/Sqlite.hx",1056,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1034_storeLogin,"borogove.persistence.Sqlite","storeLogin",0x09f07d2e,"borogove.persistence.Sqlite.storeLogin","borogove/persistence/Sqlite.hx",1034,0x605e3eb4)
-static const ::String _hx_array_data_99390348_183[] = {
- HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b),
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1186_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",1186,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1177_getCaps,"borogove.persistence.Sqlite","getCaps",0x7da6d8b1,"borogove.persistence.Sqlite.getCaps","borogove/persistence/Sqlite.hx",1177,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1220_storeLogin,"borogove.persistence.Sqlite","storeLogin",0x09f07d2e,"borogove.persistence.Sqlite.storeLogin","borogove/persistence/Sqlite.hx",1220,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1196_storeLogin,"borogove.persistence.Sqlite","storeLogin",0x09f07d2e,"borogove.persistence.Sqlite.storeLogin","borogove/persistence/Sqlite.hx",1196,0x605e3eb4)
+static const ::String _hx_array_data_99390348_197[] = {
+ HX_("INSERT INTO accounts (account_id, client_id, display_name, roster_ver",66,1e,c0,f8),
};
-static const ::String _hx_array_data_99390348_184[] = {
+static const ::String _hx_array_data_99390348_198[] = {
HX_(", token, fast_count",a5,56,e4,ae),
};
-static const ::String _hx_array_data_99390348_185[] = {
- HX_(") VALUES (?,?,?",c4,1c,e3,67),
+static const ::String _hx_array_data_99390348_199[] = {
+ HX_(") VALUES (?,?,?,?",57,fc,76,7c),
};
-static const ::String _hx_array_data_99390348_186[] = {
+static const ::String _hx_array_data_99390348_200[] = {
HX_(",?",93,26,00,00),
};
-static const ::String _hx_array_data_99390348_187[] = {
+static const ::String _hx_array_data_99390348_201[] = {
HX_(",0",84,26,00,00),
};
-static const ::String _hx_array_data_99390348_188[] = {
+static const ::String _hx_array_data_99390348_202[] = {
HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96),
};
-static const ::String _hx_array_data_99390348_189[] = {
+static const ::String _hx_array_data_99390348_203[] = {
HX_(", display_name=?",7e,ad,5b,0f),
};
-static const ::String _hx_array_data_99390348_190[] = {
+static const ::String _hx_array_data_99390348_204[] = {
+ HX_(", roster_ver=?",05,aa,1f,92),
+};
+static const ::String _hx_array_data_99390348_205[] = {
HX_(", token=?",a7,78,19,80),
};
-static const ::String _hx_array_data_99390348_191[] = {
+static const ::String _hx_array_data_99390348_206[] = {
HX_(", fast_count=0",73,a8,4f,82),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1064_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",1064,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1060_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",1060,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1085_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1085,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1093_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1093,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1084_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1084,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1105_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",1105,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1104_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",1104,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1113_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1113,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1121_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1121,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1125_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1125,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1134_getStreamManagement,"borogove.persistence.Sqlite","getStreamManagement",0xb922efb3,"borogove.persistence.Sqlite.getStreamManagement","borogove/persistence/Sqlite.hx",1134,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1144_storeService,"borogove.persistence.Sqlite","storeService",0x466dfb3a,"borogove.persistence.Sqlite.storeService","borogove/persistence/Sqlite.hx",1144,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1159_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",1159,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1154_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",1154,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1178_hydrateReactions,"borogove.persistence.Sqlite","hydrateReactions",0x7d654d7d,"borogove.persistence.Sqlite.hydrateReactions","borogove/persistence/Sqlite.hx",1178,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1206_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",1206,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1190_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",1190,0x605e3eb4)
-static const ::String _hx_array_data_99390348_226[] = {
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1228_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",1228,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1224_getLogin,"borogove.persistence.Sqlite","getLogin",0xac2c1ad9,"borogove.persistence.Sqlite.getLogin","borogove/persistence/Sqlite.hx",1224,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1249_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1249,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1257_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1257,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1248_removeAccount,"borogove.persistence.Sqlite","removeAccount",0x39d68523,"borogove.persistence.Sqlite.removeAccount","borogove/persistence/Sqlite.hx",1248,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1269_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",1269,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1268_listAccounts,"borogove.persistence.Sqlite","listAccounts",0x9e5f9e8a,"borogove.persistence.Sqlite.listAccounts","borogove/persistence/Sqlite.hx",1268,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1277_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1277,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1285_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1285,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1289_storeStreamManagement,"borogove.persistence.Sqlite","storeStreamManagement",0x8665337e,"borogove.persistence.Sqlite.storeStreamManagement","borogove/persistence/Sqlite.hx",1289,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1298_getStreamManagement,"borogove.persistence.Sqlite","getStreamManagement",0xb922efb3,"borogove.persistence.Sqlite.getStreamManagement","borogove/persistence/Sqlite.hx",1298,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1308_storeService,"borogove.persistence.Sqlite","storeService",0x466dfb3a,"borogove.persistence.Sqlite.storeService","borogove/persistence/Sqlite.hx",1308,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1323_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",1323,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1318_findServicesWithFeature,"borogove.persistence.Sqlite","findServicesWithFeature",0x99a02f73,"borogove.persistence.Sqlite.findServicesWithFeature","borogove/persistence/Sqlite.hx",1318,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1342_hydrateReactions,"borogove.persistence.Sqlite","hydrateReactions",0x7d654d7d,"borogove.persistence.Sqlite.hydrateReactions","borogove/persistence/Sqlite.hx",1342,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1370_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",1370,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1354_fetchReactions,"borogove.persistence.Sqlite","fetchReactions",0x688fe376,"borogove.persistence.Sqlite.fetchReactions","borogove/persistence/Sqlite.hx",1354,0x605e3eb4)
+static const ::String _hx_array_data_99390348_241[] = {
HX_("SELECT kind, chat_id, mam_id, mam_by, stanza_id, sender_id, json(reactions) AS reactions FROM reactions WHERE 1=0",d2,04,de,a3),
};
-static const ::String _hx_array_data_99390348_227[] = {
+static const ::String _hx_array_data_99390348_242[] = {
HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5),
};
-static const ::String _hx_array_data_99390348_228[] = {
+static const ::String _hx_array_data_99390348_243[] = {
HX_(" OR stanza_id=?",6a,1d,f2,5b),
};
-static const ::String _hx_array_data_99390348_229[] = {
+static const ::String _hx_array_data_99390348_244[] = {
HX_(" ORDER BY created_at, ROWID",00,65,8d,0e),
};
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1274_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1274,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1276_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1276,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1243_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1243,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1288_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1288,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1291_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1291,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1323_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1323,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1313_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1313,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1331_hydrateCaps,"borogove.persistence.Sqlite","hydrateCaps",0x4e204c2e,"borogove.persistence.Sqlite.hydrateCaps","borogove/persistence/Sqlite.hx",1331,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_41_prepare,"borogove.persistence.Sqlite","prepare",0xa1479e61,"borogove.persistence.Sqlite.prepare","borogove/persistence/Sqlite.hx",41,0x605e3eb4)
-HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_34_boot,"borogove.persistence.Sqlite","boot",0xf1784b18,"borogove.persistence.Sqlite.boot","borogove/persistence/Sqlite.hx",34,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1443_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1443,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1445_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1445,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1407_hydrateReplyTo,"borogove.persistence.Sqlite","hydrateReplyTo",0xa56a0758,"borogove.persistence.Sqlite.hydrateReplyTo","borogove/persistence/Sqlite.hx",1407,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1463_hydrateEncryption,"borogove.persistence.Sqlite","hydrateEncryption",0xcefb1450,"borogove.persistence.Sqlite.hydrateEncryption","borogove/persistence/Sqlite.hx",1463,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1496_hydrateMessagesAndLoadMeta,"borogove.persistence.Sqlite","hydrateMessagesAndLoadMeta",0xd81f0329,"borogove.persistence.Sqlite.hydrateMessagesAndLoadMeta","borogove/persistence/Sqlite.hx",1496,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1511_messagesLoadMeta,"borogove.persistence.Sqlite","messagesLoadMeta",0xabfee4dd,"borogove.persistence.Sqlite.messagesLoadMeta","borogove/persistence/Sqlite.hx",1511,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1512_messagesLoadMeta,"borogove.persistence.Sqlite","messagesLoadMeta",0xabfee4dd,"borogove.persistence.Sqlite.messagesLoadMeta","borogove/persistence/Sqlite.hx",1512,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1499_messagesLoadMeta,"borogove.persistence.Sqlite","messagesLoadMeta",0xabfee4dd,"borogove.persistence.Sqlite.messagesLoadMeta","borogove/persistence/Sqlite.hx",1499,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1535_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1535,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1538_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1538,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1582_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1582,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1569_hydrateMessages,"borogove.persistence.Sqlite","hydrateMessages",0x24719359,"borogove.persistence.Sqlite.hydrateMessages","borogove/persistence/Sqlite.hx",1569,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1590_hydrateCaps,"borogove.persistence.Sqlite","hydrateCaps",0x4e204c2e,"borogove.persistence.Sqlite.hydrateCaps","borogove/persistence/Sqlite.hx",1590,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1902_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1902,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1904_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1904,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1911_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1911,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1914_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1914,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1915_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1915,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1898_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1898,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1899_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1899,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1900_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1900,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1901_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1901,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1903_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1903,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1905_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1905,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1906_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1906,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1907_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1907,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1908_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1908,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1909_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1909,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1910_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1910,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1912_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1912,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1913_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1913,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1896_insertMessages,"borogove.persistence.Sqlite","insertMessages",0x81ecdb8b,"borogove.persistence.Sqlite.insertMessages","borogove/persistence/Sqlite.hx",1896,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_49_prepare,"borogove.persistence.Sqlite","prepare",0xa1479e61,"borogove.persistence.Sqlite.prepare","borogove/persistence/Sqlite.hx",49,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1819_col,"borogove.persistence.Sqlite","col",0xf103981a,"borogove.persistence.Sqlite.col","borogove/persistence/Sqlite.hx",1819,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1823_messageColumnsString,"borogove.persistence.Sqlite","messageColumnsString",0xa5c40a2d,"borogove.persistence.Sqlite.messageColumnsString","borogove/persistence/Sqlite.hx",1823,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1827_messageColumns,"borogove.persistence.Sqlite","messageColumns",0xecb5983c,"borogove.persistence.Sqlite.messageColumns","borogove/persistence/Sqlite.hx",1827,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1844_messageColumns,"borogove.persistence.Sqlite","messageColumns",0xecb5983c,"borogove.persistence.Sqlite.messageColumns","borogove/persistence/Sqlite.hx",1844,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1889_insertCol,"borogove.persistence.Sqlite","insertCol",0x3b1975e1,"borogove.persistence.Sqlite.insertCol","borogove/persistence/Sqlite.hx",1889,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_1893_originalMessage,"borogove.persistence.Sqlite","originalMessage",0x21883c50,"borogove.persistence.Sqlite.originalMessage","borogove/persistence/Sqlite.hx",1893,0x605e3eb4)
+HX_LOCAL_STACK_FRAME(_hx_pos_4648627e4fbfb4d7_42_boot,"borogove.persistence.Sqlite","boot",0xf1784b18,"borogove.persistence.Sqlite.boot","borogove/persistence/Sqlite.hx",42,0x605e3eb4)
namespace borogove{
namespace persistence{
void Sqlite_obj::__construct(::String dbfile,::Dynamic media){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_18) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_30) HXARGC(1)
::Dynamic _hx_run( ::Dynamic exec){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_17, ::Dynamic,exec) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_29, ::Dynamic,exec) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator iter){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_87_new)
-HXLINE( 88) if ((version < 1)) {
-HXLINE( 89) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_2,10));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_95_new)
+HXLINE( 96) if ((version < 1)) {
+HXLINE( 97) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_2,10));
}
-HXLINE( 163) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 171) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_164_new)
-HXLINE( 165) if ((version < 2)) {
-HXLINE( 166) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_4,4));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_172_new)
+HXLINE( 173) if ((version < 2)) {
+HXLINE( 174) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_4,4));
}
-HXLINE( 171) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 179) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_172_new)
-HXLINE( 173) if ((version < 3)) {
-HXLINE( 174) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_6,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_180_new)
+HXLINE( 181) if ((version < 3)) {
+HXLINE( 182) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_6,2));
}
-HXLINE( 177) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 185) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_178_new)
-HXLINE( 179) if ((version < 4)) {
-HXLINE( 180) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_8,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_186_new)
+HXLINE( 187) if ((version < 4)) {
+HXLINE( 188) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_8,2));
}
-HXLINE( 183) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 191) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_184_new)
-HXLINE( 185) if ((version < 5)) {
-HXLINE( 186) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_10,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_192_new)
+HXLINE( 193) if ((version < 5)) {
+HXLINE( 194) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_10,2));
}
-HXLINE( 189) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 197) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_5, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_190_new)
-HXLINE( 191) if ((version < 6)) {
-HXLINE( 192) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_12,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_198_new)
+HXLINE( 199) if ((version < 6)) {
+HXLINE( 200) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_12,2));
}
-HXLINE( 195) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 203) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_6, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_196_new)
-HXLINE( 197) if ((version < 7)) {
-HXLINE( 198) return exec(::Array_obj< ::String >::__new(3)->init(0,HX_("DELETE FROM messages WHERE rowid IN (SELECT rowid FROM (select rowid, ROW_NUMBER() OVER (PARTITION BY account_id, stanza_id ORDER BY (mam_id <> '') DESC, rowid DESC) AS rn FROM messages WHERE direction=1 AND stanza_id<>'') WHERE rn<>1)",a7,3d,cf,20))->init(1,(HX_("CREATE UNIQUE INDEX messages_stanza_id_sent_unique ON messages (account_id, stanza_id) WHERE stanza_id<>'' AND direction=",9b,b1,a7,f0) + HX_("1",31,00,00,00)))->init(2,HX_("PRAGMA user_version = 7",3c,cd,bd,7c)));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_204_new)
+HXLINE( 205) if ((version < 7)) {
+HXLINE( 206) return exec(::Array_obj< ::String >::__new(3)->init(0,HX_("DELETE FROM messages WHERE rowid IN (SELECT rowid FROM (select rowid, ROW_NUMBER() OVER (PARTITION BY account_id, stanza_id ORDER BY (mam_id <> '') DESC, rowid DESC) AS rn FROM messages WHERE direction=1 AND stanza_id<>'') WHERE rn<>1)",a7,3d,cf,20))->init(1,(HX_("CREATE UNIQUE INDEX messages_stanza_id_sent_unique ON messages (account_id, stanza_id) WHERE stanza_id<>'' AND direction=",9b,b1,a7,f0) + HX_("1",31,00,00,00)))->init(2,HX_("PRAGMA user_version = 7",3c,cd,bd,7c)));
}
-HXLINE( 202) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 210) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_12, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_203_new)
-HXLINE( 204) if ((version < 8)) {
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_211_new)
+HXLINE( 212) if ((version < 8)) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7, ::Dynamic,exec) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_207_new)
-HXLINE( 207) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_16,1));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_215_new)
+HXLINE( 215) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_16,1));
}
HX_END_LOCAL_FUNC1(return)
@@ -491,131 +582,252 @@ HXLINE( 207) return exec(::Array_obj< ::String >::fromData( _hx_array_data
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator rows){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_9, ::Dynamic,exec,::Array< ::Dynamic>,toInsert) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_220_new)
-HXLINE( 220) if ((toInsert->__get(0).StaticCast< ::Array< ::String > >()->length < 1)) {
-HXLINE( 220) return null();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_228_new)
+HXLINE( 228) if ((toInsert->__get(0).StaticCast< ::Array< ::String > >()->length < 1)) {
+HXLINE( 228) return null();
}
else {
-HXLINE( 220) return exec(toInsert->__get(0).StaticCast< ::Array< ::String > >());
+HXLINE( 228) return exec(toInsert->__get(0).StaticCast< ::Array< ::String > >());
}
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_208_new)
-HXLINE( 209) ::Dynamic promise = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
-HXLINE( 210) ::Array< ::Dynamic> toInsert = ::Array_obj< ::Dynamic>::__new(1)->init(0,::Array_obj< ::String >::__new(0));
-HXLINE( 211) ::String sortId = HX_("a ",9f,54,00,00);
-HXLINE( 212) while((rows->current < rows->array->get_length())){
-HXLINE( 212) ::Dynamic row = rows->array->__get(rows->current++);
-HXLINE( 213) sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
-HXLINE( 214) ::Array< ::String > toInsert1 = toInsert->__get(0).StaticCast< ::Array< ::String > >();
-HXDLIN( 214) ::String _hx_tmp = ((HX_("UPDATE messages SET sort_id='",6b,00,c7,78) + ::StringTools_obj::replace(sortId,HX_("'",27,00,00,00),HX_("''",20,22,00,00))) + HX_("' WHERE ROWID=",1a,f5,65,79));
-HXDLIN( 214) toInsert1->push( ::Dynamic((_hx_tmp + row->__Field(HX_("rowid",75,78,67,ed),::hx::paccDynamic))));
-HXLINE( 215) if ((toInsert->__get(0).StaticCast< ::Array< ::String > >()->length >= 10000)) {
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_216_new)
+HXLINE( 217) ::Dynamic promise = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 218) ::Array< ::Dynamic> toInsert = ::Array_obj< ::Dynamic>::__new(1)->init(0,::Array_obj< ::String >::__new(0));
+HXLINE( 219) ::String sortId = HX_("a ",9f,54,00,00);
+HXLINE( 220) while((rows->current < rows->array->get_length())){
+HXLINE( 220) ::Dynamic row = rows->array->__get(rows->current++);
+HXLINE( 221) sortId = ::_FractionalIndexing::FractionalIndexing_Fields__obj::between(sortId,null(),HX_(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",6f,61,48,0a));
+HXLINE( 222) ::Array< ::String > toInsert1 = toInsert->__get(0).StaticCast< ::Array< ::String > >();
+HXDLIN( 222) ::String _hx_tmp = ((HX_("UPDATE messages SET sort_id='",6b,00,c7,78) + ::StringTools_obj::replace(sortId,HX_("'",27,00,00,00),HX_("''",20,22,00,00))) + HX_("' WHERE ROWID=",1a,f5,65,79));
+HXDLIN( 222) toInsert1->push( ::Dynamic((_hx_tmp + row->__Field(HX_("rowid",75,78,67,ed),::hx::paccDynamic))));
+HXLINE( 223) if ((toInsert->__get(0).StaticCast< ::Array< ::String > >()->length >= 10000)) {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_8, ::Dynamic,exec,::Array< ::Dynamic>,toInsert) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_216_new)
-HXLINE( 216) return exec(toInsert->__get(0).StaticCast< ::Array< ::String > >());
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_224_new)
+HXLINE( 224) return exec(toInsert->__get(0).StaticCast< ::Array< ::String > >());
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 216) promise = ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_8(exec,toInsert)),null());
-HXLINE( 217) toInsert[0] = ::Array_obj< ::String >::__new(0);
+HXLINE( 224) promise = ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_8(exec,toInsert)),null());
+HXLINE( 225) toInsert[0] = ::Array_obj< ::String >::__new(0);
}
}
-HXLINE( 220) return ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_9(exec,toInsert)),null());
+HXLINE( 228) return ::thenshim::_Promise::Promise_Impl__obj::then(promise, ::Dynamic(new _hx_Closure_9(exec,toInsert)),null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_11, ::Dynamic,exec) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_222_new)
-HXLINE( 222) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_21,1));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_230_new)
+HXLINE( 230) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_21,1));
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 205) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_22,2)), ::Dynamic(new _hx_Closure_7(exec)),null()), ::Dynamic(new _hx_Closure_10(exec)),null()), ::Dynamic(new _hx_Closure_11(exec)),null());
+HXLINE( 213) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_22,2)), ::Dynamic(new _hx_Closure_7(exec)),null()), ::Dynamic(new _hx_Closure_10(exec)),null()), ::Dynamic(new _hx_Closure_11(exec)),null());
}
-HXLINE( 225) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 233) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_13, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_226_new)
-HXLINE( 227) if ((version < 9)) {
-HXLINE( 229) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_24,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_234_new)
+HXLINE( 235) if ((version < 9)) {
+HXLINE( 237) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_24,2));
}
-HXLINE( 232) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 240) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_14, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_233_new)
-HXLINE( 234) if ((version < 10)) {
-HXLINE( 235) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_26,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_241_new)
+HXLINE( 242) if ((version < 10)) {
+HXLINE( 243) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_26,2));
}
-HXLINE( 238) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 246) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_15, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_239_new)
-HXLINE( 240) if ((version < 11)) {
-HXLINE( 241) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_28,4));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_247_new)
+HXLINE( 248) if ((version < 11)) {
+HXLINE( 249) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_28,4));
}
-HXLINE( 258) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 266) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_16, ::Dynamic,exec,int,version) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_259_new)
-HXLINE( 260) if ((version < 12)) {
-HXLINE( 261) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_30,2));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_267_new)
+HXLINE( 268) if ((version < 12)) {
+HXLINE( 269) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_30,2));
+ }
+HXLINE( 272) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_17, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_273_new)
+HXLINE( 274) if ((version < 13)) {
+HXLINE( 275) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_32,2));
+ }
+HXLINE( 278) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_18, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_279_new)
+HXLINE( 280) if ((version < 14)) {
+HXLINE( 281) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_34,2));
+ }
+HXLINE( 288) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_19, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_289_new)
+HXLINE( 290) if ((version < 15)) {
+HXLINE( 291) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_36,2));
+ }
+HXLINE( 298) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_20, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_299_new)
+HXLINE( 300) if ((version < 16)) {
+HXLINE( 301) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_38,2));
+ }
+HXLINE( 310) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_21, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_311_new)
+HXLINE( 312) if ((version < 17)) {
+HXLINE( 313) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_40,2));
}
-HXLINE( 264) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 323) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_85_new)
-HXLINE( 86) int version;
-HXDLIN( 86) ::Dynamic tmp = iter->array->__get(iter->current++);
-HXDLIN( 86) ::Dynamic tmp1;
-HXDLIN( 86) if (::hx::IsNotNull( tmp )) {
-HXLINE( 86) tmp1 = ::Dynamic(tmp->__Field(HX_("user_version",e4,95,f3,73),::hx::paccDynamic));
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_22, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_324_new)
+HXLINE( 325) if ((version < 18)) {
+HXLINE( 326) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_42,2));
+ }
+HXLINE( 334) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_23, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_335_new)
+HXLINE( 336) if ((version < 19)) {
+HXLINE( 337) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_44,2));
+ }
+HXLINE( 345) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_24, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_346_new)
+HXLINE( 347) if ((version < 20)) {
+HXLINE( 348) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_46,2));
+ }
+HXLINE( 358) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_25, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_359_new)
+HXLINE( 360) if ((version < 21)) {
+HXLINE( 361) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_48,2));
+ }
+HXLINE( 364) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_26, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_365_new)
+HXLINE( 366) if ((version < 22)) {
+HXLINE( 367) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_50,2));
+ }
+HXLINE( 370) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_27, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_371_new)
+HXLINE( 372) if ((version < 23)) {
+HXLINE( 373) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_52,2));
+ }
+HXLINE( 376) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_28, ::Dynamic,exec,int,version) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_377_new)
+HXLINE( 378) if ((version < 24)) {
+HXLINE( 379) return exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_54,8));
+ }
+HXLINE( 388) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_93_new)
+HXLINE( 94) int version;
+HXDLIN( 94) ::Dynamic tmp = iter->array->__get(iter->current++);
+HXDLIN( 94) ::Dynamic tmp1;
+HXDLIN( 94) if (::hx::IsNotNull( tmp )) {
+HXLINE( 94) tmp1 = ::Dynamic(tmp->__Field(HX_("user_version",e4,95,f3,73),::hx::paccDynamic));
}
else {
-HXLINE( 86) tmp1 = null();
+HXLINE( 94) tmp1 = null();
}
-HXDLIN( 86) ::Dynamic tmp2 = ::Std_obj::parseInt(( (::String)(tmp1) ));
-HXDLIN( 86) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 86) version = ( (int)(tmp2) );
+HXDLIN( 94) ::Dynamic tmp2 = ::Std_obj::parseInt(( (::String)(tmp1) ));
+HXDLIN( 94) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 94) version = ( (int)(tmp2) );
}
else {
-HXLINE( 86) version = 0;
+HXLINE( 94) version = 0;
}
-HXLINE( 87) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::resolve(null()), ::Dynamic(new _hx_Closure_0(exec,version)),null()), ::Dynamic(new _hx_Closure_1(exec,version)),null()), ::Dynamic(new _hx_Closure_2(exec,version)),null()), ::Dynamic(new _hx_Closure_3(exec,version)),null()), ::Dynamic(new _hx_Closure_4(exec,version)),null()), ::Dynamic(new _hx_Closure_5(exec,version)),null()), ::Dynamic(new _hx_Closure_6(exec,version)),null()), ::Dynamic(new _hx_Closure_12(exec,version)),null()), ::Dynamic(new _hx_Closure_13(exec,version)),null()), ::Dynamic(new _hx_Closure_14(exec,version)),null()), ::Dynamic(new _hx_Closure_15(exec,version)),null()), ::Dynamic(new _hx_Closure_16(exec,version)),null());
+HXLINE( 95) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::resolve(null()), ::Dynamic(new _hx_Closure_0(exec,version)),null()), ::Dynamic(new _hx_Closure_1(exec,version)),null()), ::Dynamic(new _hx_Closure_2(exec,version)),null()), ::Dynamic(new _hx_Closure_3(exec,version)),null()), ::Dynamic(new _hx_Closure_4(exec,version)),null()), ::Dynamic(new _hx_Closure_5(exec,version)),null()), ::Dynamic(new _hx_Closure_6(exec,version)),null()), ::Dynamic(new _hx_Closure_12(exec,version)),null()), ::Dynamic(new _hx_Closure_13(exec,version)),null()), ::Dynamic(new _hx_Closure_14(exec,version)),null()), ::Dynamic(new _hx_Closure_15(exec,version)),null()), ::Dynamic(new _hx_Closure_16(exec,version)),null()), ::Dynamic(new _hx_Closure_17(exec,version)),null()), ::Dynamic(new _hx_Closure_18(exec,version)),null()), ::Dynamic(new _hx_Closure_19(exec,version)),null()), ::Dynamic(new _hx_Closure_20(exec,version)),null()), ::Dynamic(new _hx_Closure_21(exec,version)),null()), ::Dynamic(new _hx_Closure_22(exec,version)),null()), ::Dynamic(new _hx_Closure_23(exec,version)),null()), ::Dynamic(new _hx_Closure_24(exec,version)),null()), ::Dynamic(new _hx_Closure_25(exec,version)),null()), ::Dynamic(new _hx_Closure_26(exec,version)),null()), ::Dynamic(new _hx_Closure_27(exec,version)),null()), ::Dynamic(new _hx_Closure_28(exec,version)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_84_new)
-HXLINE( 84) return ::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_33,1)), ::Dynamic(new _hx_Closure_17(exec)),null());
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_92_new)
+HXLINE( 92) return ::thenshim::_Promise::Promise_Impl__obj::then(exec(::Array_obj< ::String >::fromData( _hx_array_data_99390348_57,1)), ::Dynamic(new _hx_Closure_29(exec)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_34_new)
-HXLINE(1111) this->smStoreIdNext = HX_("a ",9f,54,00,00);
-HXLINE(1110) this->smStoreNext = null();
-HXLINE(1109) this->smStoreInProgress = false;
-HXLINE( 305) this->storeChatTimer = null();
-HXLINE( 304) this->storeChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 37) this->storeMessagesSerialized = ::borogove::AsyncLock_obj::__alloc( HX_CTX );
-HXLINE( 82) this->media = media;
-HXLINE( 83) ::borogove::persistence::MediaStore_obj::setKV(media,::hx::ObjectPtr<OBJ_>(this));
-HXLINE( 84) this->db = ::borogove::persistence::SqliteDriver_obj::__alloc( HX_CTX ,dbfile, ::Dynamic(new _hx_Closure_18()));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_42_new)
+HXLINE(1851) this->versionedMessageColumns = HX_("\n\t\tcorrection_id AS stanza_id,\n\t\tjson_group_object(\n\t\t\tCASE\n\t\t\t\tWHEN versions.mam_id IS NULL OR versions.mam_id=''\n\t\t\t\tTHEN versions.stanza_id\n\t\t\t\tELSE versions.mam_id\n\t\t\tEND,\n\t\t\tjson_object(\n\t\t\t\t'time_sent', strftime('%FT%H:%M:%fZ', versions.time_sent / 1000.0, 'unixepoch'),\n\t\t\t\t'time_received', strftime('%FT%H:%M:%fZ', versions.time_received / 1000.0, 'unixepoch'),\n\t\t\t\t'sort_id', versions.sort_id,\n\t\t\t\t'stanza', versions.stanza,\n\t\t\t\t'encryption', json(versions.encryption),\n\t\t\t\t'debug', json(versions.debug)\n\t\t\t)\n\t\t) AS versions,\n\t\tmessages.direction,\n\t\tmessages.type,\n\t\tmessages.status,\n\t\tmessages.status_text,\n\t\tstrftime('%FT%H:%M:%fZ', messages.time_sent / 1000.0, 'unixepoch') AS time_sent,\n\t\tstrftime('%FT%H:%M:%fZ', messages.time_received / 1000.0, 'unixepoch') AS time_received,\n\t\tmessages.sender_id,\n\t\tmessages.mam_id,\n\t\tmessages.mam_by,\n\t\tmessages.sort_id,\n\t\tmessages.sync_point,\n\t\tMAX(versions.time_received),\n\t\tjson(versions.encryption) AS encryption,\n\t\tjson(versions.debug) AS debug,\n\t\tversions.stanza",6d,c6,20,2f);
+HXLINE(1275) this->smStoreIdNext = HX_("a ",9f,54,00,00);
+HXLINE(1274) this->smStoreNext = null();
+HXLINE(1273) this->smStoreInProgress = false;
+HXLINE( 434) this->storeChatTimer = null();
+HXLINE( 433) this->storeChatBuffer = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 45) this->storeMessagesSerialized = ::borogove::AsyncLock_obj::__alloc( HX_CTX );
+HXLINE( 90) this->media = media;
+HXLINE( 91) ::borogove::persistence::MediaStore_obj::setKV(media,::hx::ObjectPtr<OBJ_>(this));
+HXLINE( 92) this->db = ::borogove::persistence::SqliteDriver_obj::__alloc( HX_CTX ,dbfile, ::Dynamic(new _hx_Closure_30()));
}
Dynamic Sqlite_obj::__CreateEmpty() { return new Sqlite_obj; }
@@ -642,6 +854,8 @@ static ::borogove::Persistence_obj _hx_borogove_persistence_Sqlite__hx_borogove_
( ::Dynamic (::hx::Object::*)(::String,::String))&::borogove::persistence::Sqlite_obj::clearMemberPresence,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,bool))&::borogove::persistence::Sqlite_obj::getMembers,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,::Array< ::String >))&::borogove::persistence::Sqlite_obj::getMemberDetails,
+ ( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat,::String,bool))&::borogove::persistence::Sqlite_obj::storeVoiceRequest,
+ ( ::Dynamic (::hx::Object::*)(::String, ::borogove::Chat))&::borogove::persistence::Sqlite_obj::listVoiceRequests,
( ::Dynamic (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Sqlite_obj::getChatsUnreadDetails,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::ReactionUpdate))&::borogove::persistence::Sqlite_obj::storeReaction,
( ::Dynamic (::hx::Object::*)(::String,::Array< ::Dynamic>))&::borogove::persistence::Sqlite_obj::storeMessages,
@@ -651,12 +865,13 @@ static ::borogove::Persistence_obj _hx_borogove_persistence_Sqlite__hx_borogove_
( ::Dynamic (::hx::Object::*)(::String,::String, ::borogove::ChatMessage))&::borogove::persistence::Sqlite_obj::getMessagesBefore,
( ::Dynamic (::hx::Object::*)(::String,::String, ::borogove::ChatMessage))&::borogove::persistence::Sqlite_obj::getMessagesAfter,
( ::Dynamic (::hx::Object::*)(::String, ::borogove::ChatMessage))&::borogove::persistence::Sqlite_obj::getMessagesAround,
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Sqlite_obj::hasMedia,
- ( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Sqlite_obj::storeMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,int))&::borogove::persistence::Sqlite_obj::getMessagesByStatus,
+ ( ::Dynamic (::hx::Object::*)( ::borogove::Hash))&::borogove::persistence::Sqlite_obj::hasMedia,
+ ( ::Dynamic (::hx::Object::*)(::String,::Dynamic))&::borogove::persistence::Sqlite_obj::storeMedia,
( ::Dynamic (::hx::Object::*)(::String,::Array< unsigned char >))&::borogove::persistence::Sqlite_obj::removeMedia,
( void (::hx::Object::*)( ::borogove::Caps))&::borogove::persistence::Sqlite_obj::storeCaps,
( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::getCaps,
- ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::storeLogin,
+ ( ::Dynamic (::hx::Object::*)(::String,::String,::String,::String,::String))&::borogove::persistence::Sqlite_obj::storeLogin,
( ::Dynamic (::hx::Object::*)(::String))&::borogove::persistence::Sqlite_obj::getLogin,
( ::Dynamic (::hx::Object::*)(::String,bool))&::borogove::persistence::Sqlite_obj::removeAccount,
( ::Dynamic (::hx::Object::*)())&::borogove::persistence::Sqlite_obj::listAccounts,
@@ -686,44 +901,44 @@ void *Sqlite_obj::_hx_getInterface(int inHash) {
::Dynamic Sqlite_obj::get(::String k){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator iter){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_272_get)
-HXLINE( 273) while((iter->current < iter->array->get_length())){
-HXLINE( 274) return ::Dynamic(iter->array->__get(iter->current++)->__Field(HX_("v",76,00,00,00),::hx::paccDynamic));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_396_get)
+HXLINE( 397) while((iter->current < iter->array->get_length())){
+HXLINE( 398) return ::Dynamic(iter->array->__get(iter->current++)->__Field(HX_("v",76,00,00,00),::hx::paccDynamic));
}
-HXLINE( 276) return null();
+HXLINE( 400) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_272_get)
-HXDLIN( 272) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT v FROM keyvaluepairs WHERE k=? LIMIT 1",5f,f1,14,07),::cpp::VirtualArray_obj::__new(1)->init(0,k)), ::Dynamic(new _hx_Closure_0()),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_396_get)
+HXDLIN( 396) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT v FROM keyvaluepairs WHERE k=? LIMIT 1",5f,f1,14,07),::cpp::VirtualArray_obj::__new(1)->init(0,k)), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,get,return )
::Dynamic Sqlite_obj::set(::String k,::String v){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_282_set)
-HXDLIN( 282) if (::hx::IsNull( v )) {
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_406_set)
+HXDLIN( 406) if (::hx::IsNull( v )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_283_set)
-HXLINE( 283) return true;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_407_set)
+HXLINE( 407) return true;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 283) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("DELETE FROM keyvaluepairs WHERE k=?",1a,ab,19,78),::cpp::VirtualArray_obj::__new(1)->init(0,k)), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE( 407) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("DELETE FROM keyvaluepairs WHERE k=?",1a,ab,19,78),::cpp::VirtualArray_obj::__new(1)->init(0,k)), ::Dynamic(new _hx_Closure_0()),null());
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_285_set)
-HXLINE( 285) return true;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_409_set)
+HXLINE( 409) return true;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 285) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("INSERT OR REPLACE INTO keyvaluepairs VALUES (?,?)",18,81,b5,d3),::cpp::VirtualArray_obj::__new(2)->init(0,k)->init(1,v)), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE( 409) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("INSERT OR REPLACE INTO keyvaluepairs VALUES (?,?)",18,81,b5,d3),::cpp::VirtualArray_obj::__new(2)->init(0,k)->init(1,v)), ::Dynamic(new _hx_Closure_1()),null());
}
-HXLINE( 282) return null();
+HXLINE( 406) return null();
}
@@ -732,25 +947,25 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,set,return )
::Dynamic Sqlite_obj::syncPoint(::String accountId,::String chatId){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::borogove::ChatMessage _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_301_syncPoint)
-HXLINE( 301) return _gthis->hydrateMessages(accountId,result)->__get(0).StaticCast< ::borogove::ChatMessage >();
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_430_syncPoint)
+HXLINE( 430) return _gthis->hydrateMessages(accountId,result)->__get(0).StaticCast< ::borogove::ChatMessage >();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_290_syncPoint)
-HXDLIN( 290) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 291) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
-HXLINE( 292) ::String q = HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point, sort_id FROM messages WHERE mam_id IS NOT NULL AND mam_id<>'' AND sync_point AND account_id=?",a9,47,05,54);
-HXLINE( 293) if (::hx::IsNull( chatId )) {
-HXLINE( 294) q = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point, sort_id FROM messages WHERE mam_id IS NOT NULL AND mam_id<>'' AND sync_point AND account_id=?",a9,47,05,54) + HX_(" AND mam_by=?",48,20,9b,c4));
-HXLINE( 295) params->push(accountId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_414_syncPoint)
+HXDLIN( 414) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 415) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
+HXLINE( 416) ::String q = ((HX_("\n\t\t\tSELECT\n\t\t\t\t",4f,6c,f2,53) + ::borogove::persistence::Sqlite_obj::messageColumnsString(null())) + HX_("\n\t\t\tFROM messages\n\t\t\tWHERE mam_id IS NOT NULL AND mam_id<>'' AND sync_point AND account_id=?\n\t\t",81,9a,e7,72));
+HXLINE( 422) if (::hx::IsNull( chatId )) {
+HXLINE( 423) q = (q + HX_(" AND mam_by=?",48,20,9b,c4));
+HXLINE( 424) params->push(accountId);
}
else {
-HXLINE( 297) q = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sync_point, sort_id FROM messages WHERE mam_id IS NOT NULL AND mam_id<>'' AND sync_point AND account_id=?",a9,47,05,54) + HX_(" AND mam_by=?",48,20,9b,c4));
-HXLINE( 298) params->push(chatId);
+HXLINE( 426) q = (q + HX_(" AND mam_by=?",48,20,9b,c4));
+HXLINE( 427) params->push(chatId);
}
-HXLINE( 300) q = (q + HX_(" ORDER BY sort_id DESC LIMIT 1",78,bf,6d,71));
-HXLINE( 301) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
+HXLINE( 429) q = (q + HX_(" ORDER BY sort_id DESC LIMIT 1",78,bf,6d,71));
+HXLINE( 430) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
}
@@ -759,362 +974,362 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,syncPoint,return )
void Sqlite_obj::storeChats(::String accountId,::Array< ::Dynamic> chats){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_317_storeChats)
-HXLINE( 318) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 319) {
-HXLINE( 319) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 319) q->flush();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_446_storeChats)
+HXLINE( 447) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 448) {
+HXLINE( 448) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 448) q->flush();
}
-HXDLIN( 319) if (::hx::IsNull( q->b )) {
-HXLINE( 319) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_50,1);
+HXDLIN( 448) if (::hx::IsNull( q->b )) {
+HXLINE( 448) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_74,1);
}
else {
-HXLINE( 319) q->b->push(HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4));
+HXLINE( 448) q->b->push(HX_("INSERT OR REPLACE INTO chats VALUES ",3b,7d,10,d4));
}
}
-HXLINE( 320) bool first = true;
-HXLINE( 321) {
-HXLINE( 321) ::Dynamic _ = _gthis->storeChatBuffer->iterator();
-HXDLIN( 321) while(( (bool)(_->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 321) _->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXLINE( 322) if (!(first)) {
-HXLINE( 322) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 322) q->flush();
+HXLINE( 449) bool first = true;
+HXLINE( 450) {
+HXLINE( 450) ::Dynamic _ = _gthis->storeChatBuffer->iterator();
+HXDLIN( 450) while(( (bool)(_->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 450) _->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXLINE( 451) if (!(first)) {
+HXLINE( 451) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 451) q->flush();
}
-HXDLIN( 322) if (::hx::IsNull( q->b )) {
-HXLINE( 322) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_51,1);
+HXDLIN( 451) if (::hx::IsNull( q->b )) {
+HXLINE( 451) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_75,1);
}
else {
-HXLINE( 322) q->b->push(HX_(",",2c,00,00,00));
+HXLINE( 451) q->b->push(HX_(",",2c,00,00,00));
}
}
-HXLINE( 323) first = false;
-HXLINE( 324) {
-HXLINE( 324) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 324) q->flush();
+HXLINE( 452) first = false;
+HXLINE( 453) {
+HXLINE( 453) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 453) q->flush();
}
-HXDLIN( 324) if (::hx::IsNull( q->b )) {
-HXLINE( 324) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_52,1);
+HXDLIN( 453) if (::hx::IsNull( q->b )) {
+HXLINE( 453) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_76,1);
}
else {
-HXLINE( 324) q->b->push(HX_("(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,jsonb(?))",f9,da,31,c1));
+HXLINE( 453) q->b->push(HX_("(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,jsonb(?))",f9,da,31,c1));
}
}
}
}
-HXLINE( 326) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 327) ::String _hx_tmp = q->toString();
-HXLINE( 328) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 328) {
-HXLINE( 328) ::Dynamic x = _gthis->storeChatBuffer->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 328) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 328) ::borogove::Chat x1 = ( ( ::borogove::Chat)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 329) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(x1,::hx::ClassOf< ::borogove::Channel >())) );
-HXLINE( 330) if (::hx::IsNotNull( channel )) {
-HXLINE( 330) _gthis->storeCaps(channel->disco);
+HXLINE( 455) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE( 456) ::String _hx_tmp = q->toString();
+HXLINE( 457) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 457) {
+HXLINE( 457) ::Dynamic x = _gthis->storeChatBuffer->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 457) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 457) ::borogove::Chat x1 = ( ( ::borogove::Chat)(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE( 458) ::borogove::Channel channel = ( ( ::borogove::Channel)(::Std_obj::downcast(x1,::hx::ClassOf< ::borogove::Channel >())) );
+HXLINE( 459) if (::hx::IsNotNull( channel )) {
+HXLINE( 459) _gthis->storeCaps(channel->disco);
}
-HXLINE( 332) ::String accountId1 = accountId;
-HXDLIN( 332) ::String x2 = x1->chatId;
-HXDLIN( 332) bool row = x1->isTrusted();
-HXDLIN( 332) ::Array< unsigned char > x3 = x1->avatarSha1;
-HXLINE( 333) ::String row1 = x1->getDisplayName();
-HXDLIN( 333) int x4 = x1->uiState;
-HXDLIN( 333) bool x5 = x1->isBlocked;
-HXLINE( 334) ::String row2 = x1->extensions->toString();
-HXDLIN( 334) ::String x6 = x1->readUpToId;
-HXDLIN( 334) ::String x7 = x1->readUpToBy;
-HXLINE( 335) ::borogove::Caps tmp;
-HXDLIN( 335) if (::hx::IsNotNull( channel )) {
-HXLINE( 335) tmp = channel->disco;
+HXLINE( 461) ::String accountId1 = accountId;
+HXDLIN( 461) ::String x2 = x1->chatId;
+HXDLIN( 461) bool row = x1->isTrusted();
+HXDLIN( 461) ::Array< unsigned char > x3 = x1->avatarSha1;
+HXLINE( 462) ::String row1 = x1->getDisplayName();
+HXDLIN( 462) int x4 = x1->uiState;
+HXDLIN( 462) bool x5 = x1->isBlocked;
+HXLINE( 463) ::String row2 = x1->extensions->toString();
+HXDLIN( 463) ::String x6 = x1->readUpToId;
+HXDLIN( 463) ::String x7 = x1->readUpToBy;
+HXLINE( 464) ::borogove::Caps tmp;
+HXDLIN( 464) if (::hx::IsNotNull( channel )) {
+HXLINE( 464) tmp = channel->disco;
}
else {
-HXLINE( 335) tmp = null();
+HXLINE( 464) tmp = null();
}
-HXDLIN( 335) ::Array< unsigned char > row3;
-HXDLIN( 335) if (::hx::IsNotNull( tmp )) {
-HXLINE( 335) row3 = tmp->verRaw()->hash;
+HXDLIN( 464) ::Array< unsigned char > row3;
+HXDLIN( 464) if (::hx::IsNotNull( tmp )) {
+HXLINE( 464) row3 = tmp->verRaw()->hash;
}
else {
-HXLINE( 335) row3 = null();
+HXLINE( 464) row3 = null();
}
-HXLINE( 336) ::String row4 = ( (::String)(::Type_obj::getClassName(::Type_obj::getClass(x1)).split(HX_(".",2e,00,00,00))->pop()) );
-HXLINE( 337) bool row5 = x1->notificationsFiltered();
-HXDLIN( 337) bool row6 = x1->notifyMention();
-HXDLIN( 337) bool row7 = x1->notifyReply();
-HXLINE( 338) bool x8 = x1->isBookmarked;
-HXLINE( 339) ::Dynamic row8 = ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 465) ::String row4 = ( (::String)(::Type_obj::getClassName(::Type_obj::getClass(x1)).split(HX_(".",2e,00,00,00))->pop()) );
+HXLINE( 466) bool row5 = x1->notificationsFiltered();
+HXDLIN( 466) bool row6 = x1->notifyMention();
+HXDLIN( 466) bool row7 = x1->notifyReply();
+HXLINE( 467) bool x8 = x1->isBookmarked;
+HXLINE( 468) ::Dynamic row8 = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("text",ad,cc,f9,4c),x1->status->text)
->setFixed(1,HX_("emoji",86,6f,d9,6f),x1->status->emoji));
-HXLINE( 340) ::String row9;
-HXDLIN( 340) if (::hx::IsNotNull( channel )) {
-HXLINE( 340) row9 = channel->mavUntil;
+HXLINE( 469) ::String row9;
+HXDLIN( 469) if (::hx::IsNotNull( channel )) {
+HXLINE( 469) row9 = channel->mavUntil;
}
else {
-HXLINE( 340) row9 = null();
+HXLINE( 469) row9 = null();
}
-HXLINE( 342) ::Dynamic t = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 343) {
+HXLINE( 471) ::Dynamic t = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 472) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,iter_keys) HXARGC(0)
bool _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_343_storeChats)
-HXLINE( 343) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_472_storeChats)
+HXLINE( 472) return ( (bool)(iter_keys->__get(0)->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) );
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,iter_map,::Array< ::Dynamic>,iter_keys) HXARGC(0)
::Dynamic _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_343_storeChats)
-HXLINE( 343) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 343) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_472_storeChats)
+HXLINE( 472) ::String key = ( (::String)(iter_keys->__get(0)->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 472) ::Dynamic v = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),key)
->setFixed(1,HX_("value",71,7f,b8,31),( (::String)(::haxe::IMap_obj::get(iter_map->__get(0),key)) )));
-HXDLIN( 343) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
-HXLINE( 343) return ::Dynamic(::hx::Anon_obj::Create(2)
+HXDLIN( 472) if (::hx::IsEq( v->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic),::borogove::_Chat::Chat_Fields__obj::nullSentinel )) {
+HXLINE( 472) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("key",9f,89,51,00),null())
->setFixed(1,HX_("value",71,7f,b8,31), ::Dynamic(v->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic))));
}
else {
-HXLINE( 343) return v;
+HXLINE( 472) return v;
}
-HXDLIN( 343) return null();
+HXDLIN( 472) return null();
}
HX_END_LOCAL_FUNC0(return)
-HXLINE( 343) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 343) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 343) ::Dynamic map = x1->threads;
-HXDLIN( 343) iter_map[0] = map;
-HXDLIN( 343) iter_keys[0] = ::haxe::IMap_obj::keys(map);
-HXDLIN( 343) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_0(iter_keys));
-HXDLIN( 343) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_1(iter_map,iter_keys));
-HXDLIN( 343) while(( (bool)(_g_hasNext()) )){
-HXLINE( 343) ::Dynamic _g1 = _g_next();
-HXDLIN( 343) ::String id = ( (::String)(_g1->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
-HXDLIN( 343) {
-HXLINE( 343) ::String row10;
-HXDLIN( 343) if (::hx::IsNotNull( id )) {
-HXLINE( 343) row10 = id;
+HXLINE( 472) ::Array< ::Dynamic> iter_map = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 472) ::Array< ::Dynamic> iter_keys = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 472) ::Dynamic map = x1->threads;
+HXDLIN( 472) iter_map[0] = map;
+HXDLIN( 472) iter_keys[0] = ::haxe::IMap_obj::keys(map);
+HXDLIN( 472) ::Dynamic _g_hasNext = ::Dynamic(new _hx_Closure_0(iter_keys));
+HXDLIN( 472) ::Dynamic _g_next = ::Dynamic(new _hx_Closure_1(iter_map,iter_keys));
+HXDLIN( 472) while(( (bool)(_g_hasNext()) )){
+HXLINE( 472) ::Dynamic _g1 = _g_next();
+HXDLIN( 472) ::String id = ( (::String)(_g1->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) );
+HXDLIN( 472) {
+HXLINE( 472) ::String row10;
+HXDLIN( 472) if (::hx::IsNotNull( id )) {
+HXLINE( 472) row10 = id;
}
else {
-HXLINE( 343) row10 = HX_("",00,00,00,00);
+HXLINE( 472) row10 = HX_("",00,00,00,00);
}
-HXDLIN( 343) ::Reflect_obj::setField(t,row10, ::Dynamic(_g1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)));
+HXDLIN( 472) ::Reflect_obj::setField(t,row10, ::Dynamic(_g1->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)));
}
}
}
-HXLINE( 328) _g->push(::cpp::VirtualArray_obj::__new(17)->init(0,accountId1)->init(1,x2)->init(2,row)->init(3,x3)->init(4,row1)->init(5,x4)->init(6,x5)->init(7,row2)->init(8,x6)->init(9,x7)->init(10,row3)->init(11,row4)->init(12,row5)->init(13,row6)->init(14,row7)->init(15,x8)->init(16,::borogove::JsonPrinter_obj::print( ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 457) _g->push(::cpp::VirtualArray_obj::__new(17)->init(0,accountId1)->init(1,x2)->init(2,row)->init(3,x3)->init(4,row1)->init(5,x4)->init(6,x5)->init(7,row2)->init(8,x6)->init(9,x7)->init(10,row3)->init(11,row4)->init(12,row5)->init(13,row6)->init(14,row7)->init(15,x8)->init(16,::borogove::JsonPrinter_obj::print( ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("mavUntil",9c,52,56,84),row9)
->setFixed(1,HX_("status",32,e7,fb,05),row8)
->setFixed(2,HX_("threads",69,f6,91,53),t)),null(),null())));
}
}
-HXDLIN( 328) ::cpp::VirtualArray _g2 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 328) {
-HXLINE( 328) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 328) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 328) ::Dynamic x9 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 328) while(( (bool)(x9->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 328) _g2->push(x9->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+HXDLIN( 457) ::cpp::VirtualArray _g2 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN( 457) {
+HXLINE( 457) ::Dynamic e = _g->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 457) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 457) ::Dynamic x9 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN( 457) while(( (bool)(x9->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 457) _g2->push(x9->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
-HXLINE( 326) _gthis1->exec(_hx_tmp,_g2);
-HXLINE( 351) _gthis->storeChatTimer = null();
-HXLINE( 352) _gthis->storeChatBuffer->clear();
+HXLINE( 455) _gthis1->exec(_hx_tmp,_g2);
+HXLINE( 480) _gthis->storeChatTimer = null();
+HXLINE( 481) _gthis->storeChatBuffer->clear();
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_308_storeChats)
-HXDLIN( 308) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 309) if (::hx::IsNotNull( this->storeChatTimer )) {
-HXLINE( 310) this->storeChatTimer->stop();
- }
-HXLINE( 313) {
-HXLINE( 313) int _g = 0;
-HXDLIN( 313) while((_g < chats->length)){
-HXLINE( 313) ::borogove::Chat chat = chats->__get(_g).StaticCast< ::borogove::Chat >();
-HXDLIN( 313) _g = (_g + 1);
-HXLINE( 314) this->storeChatBuffer->set(((accountId + HX_("\n",0a,00,00,00)) + chat->chatId),chat);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_437_storeChats)
+HXDLIN( 437) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 438) if (::hx::IsNotNull( this->storeChatTimer )) {
+HXLINE( 439) this->storeChatTimer->stop();
+ }
+HXLINE( 442) {
+HXLINE( 442) int _g = 0;
+HXDLIN( 442) while((_g < chats->length)){
+HXLINE( 442) ::borogove::Chat chat = chats->__get(_g).StaticCast< ::borogove::Chat >();
+HXDLIN( 442) _g = (_g + 1);
+HXLINE( 443) this->storeChatBuffer->set(((accountId + HX_("\n",0a,00,00,00)) + chat->chatId),chat);
}
}
-HXLINE( 317) this->storeChatTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_2(_gthis,accountId)),100);
+HXLINE( 446) this->storeChatTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_2(_gthis,accountId)),100);
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeChats,(void))
::String Sqlite_obj::serializePresenceMap( ::haxe::ds::StringMap presence){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_356_serializePresenceMap)
-HXLINE( 357) ::Dynamic storePresence = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 358) if (::hx::IsNull( presence )) {
-HXLINE( 358) return ::borogove::JsonPrinter_obj::print(storePresence,null(),null());
- }
-HXLINE( 360) {
-HXLINE( 360) ::Dynamic map = presence;
-HXDLIN( 360) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 360) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 360) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE( 361) {
-HXLINE( 361) ::String value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(map,key)) )->toString();
-HXDLIN( 361) ::String _hx_tmp;
-HXDLIN( 361) if (::hx::IsNotNull( key )) {
-HXLINE( 361) _hx_tmp = key;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_485_serializePresenceMap)
+HXLINE( 486) ::Dynamic storePresence = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 487) if (::hx::IsNull( presence )) {
+HXLINE( 487) return ::borogove::JsonPrinter_obj::print(storePresence,null(),null());
+ }
+HXLINE( 489) {
+HXLINE( 489) ::Dynamic map = presence;
+HXDLIN( 489) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 489) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 489) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE( 490) {
+HXLINE( 490) ::String value = ( ( ::borogove::Stanza)(::haxe::IMap_obj::get(map,key)) )->toString();
+HXDLIN( 490) ::String _hx_tmp;
+HXDLIN( 490) if (::hx::IsNotNull( key )) {
+HXLINE( 490) _hx_tmp = key;
}
else {
-HXLINE( 361) _hx_tmp = HX_("",00,00,00,00);
+HXLINE( 490) _hx_tmp = HX_("",00,00,00,00);
}
-HXDLIN( 361) ::Reflect_obj::setField(storePresence,_hx_tmp,value);
+HXDLIN( 490) ::Reflect_obj::setField(storePresence,_hx_tmp,value);
}
}
}
-HXLINE( 364) return ::borogove::JsonPrinter_obj::print(storePresence,null(),null());
+HXLINE( 493) return ::borogove::JsonPrinter_obj::print(storePresence,null(),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,serializePresenceMap,return )
::haxe::ds::StringMap Sqlite_obj::hydratePresenceMap(::String raw){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_367_hydratePresenceMap)
-HXLINE( 368) ::haxe::ds::StringMap map = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 369) bool _hx_tmp;
-HXDLIN( 369) if (::hx::IsNotNull( raw )) {
-HXLINE( 369) _hx_tmp = (raw == HX_("",00,00,00,00));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_496_hydratePresenceMap)
+HXLINE( 497) ::haxe::ds::StringMap map = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 498) bool _hx_tmp;
+HXDLIN( 498) if (::hx::IsNotNull( raw )) {
+HXLINE( 498) _hx_tmp = (raw == HX_("",00,00,00,00));
}
else {
-HXLINE( 369) _hx_tmp = true;
- }
-HXDLIN( 369) if (_hx_tmp) {
-HXLINE( 369) return map;
- }
-HXLINE( 371) ::Dynamic parsed = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,raw)->doParse();
-HXLINE( 372) {
-HXLINE( 372) ::Array< ::String > _g_keys = ::Reflect_obj::fields(parsed);
-HXDLIN( 372) int _g_index = 0;
-HXDLIN( 372) while((_g_index < _g_keys->length)){
-HXLINE( 372) _g_index = (_g_index + 1);
-HXDLIN( 372) ::String key = _g_keys->__get((_g_index - 1));
-HXLINE( 373) {
-HXLINE( 373) ::borogove::Stanza v = ::borogove::Stanza_obj::parse(( (::String)(::Reflect_obj::field(parsed,key)) ));
-HXDLIN( 373) ::String _hx_tmp1;
-HXDLIN( 373) if ((key == HX_("",00,00,00,00))) {
-HXLINE( 373) _hx_tmp1 = null();
+HXLINE( 498) _hx_tmp = true;
+ }
+HXDLIN( 498) if (_hx_tmp) {
+HXLINE( 498) return map;
+ }
+HXLINE( 500) ::Dynamic parsed = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,raw)->doParse();
+HXLINE( 501) {
+HXLINE( 501) ::Array< ::String > _g_keys = ::Reflect_obj::fields(parsed);
+HXDLIN( 501) int _g_index = 0;
+HXDLIN( 501) while((_g_index < _g_keys->length)){
+HXLINE( 501) _g_index = (_g_index + 1);
+HXDLIN( 501) ::String key = _g_keys->__get((_g_index - 1));
+HXLINE( 502) {
+HXLINE( 502) ::borogove::Stanza v = ::borogove::Stanza_obj::parse(( (::String)(::Reflect_obj::field(parsed,key)) ));
+HXDLIN( 502) ::String _hx_tmp1;
+HXDLIN( 502) if ((key == HX_("",00,00,00,00))) {
+HXLINE( 502) _hx_tmp1 = null();
}
else {
-HXLINE( 373) _hx_tmp1 = key;
+HXLINE( 502) _hx_tmp1 = key;
}
-HXDLIN( 373) map->set(_hx_tmp1,v);
+HXDLIN( 502) map->set(_hx_tmp1,v);
}
}
}
-HXLINE( 376) return map;
+HXLINE( 505) return map;
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,hydratePresenceMap,return )
::borogove::Member Sqlite_obj::hydrateStoredMember( ::borogove::Chat chat, ::Dynamic row){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_379_hydrateStoredMember)
-HXLINE( 380) bool _hx_tmp;
-HXDLIN( 380) bool _hx_tmp1;
-HXDLIN( 380) bool _hx_tmp2;
-HXDLIN( 380) bool _hx_tmp3;
-HXDLIN( 380) bool _hx_tmp4;
-HXDLIN( 380) bool _hx_tmp5;
-HXDLIN( 380) if (::hx::IsNotNull( row )) {
-HXLINE( 380) _hx_tmp5 = ::hx::IsNull( row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_508_hydrateStoredMember)
+HXLINE( 509) bool _hx_tmp;
+HXDLIN( 509) bool _hx_tmp1;
+HXDLIN( 509) bool _hx_tmp2;
+HXDLIN( 509) bool _hx_tmp3;
+HXDLIN( 509) bool _hx_tmp4;
+HXDLIN( 509) bool _hx_tmp5;
+HXDLIN( 509) if (::hx::IsNotNull( row )) {
+HXLINE( 509) _hx_tmp5 = ::hx::IsNull( row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic) );
}
else {
-HXLINE( 380) _hx_tmp5 = true;
+HXLINE( 509) _hx_tmp5 = true;
}
-HXDLIN( 380) if (!(_hx_tmp5)) {
-HXLINE( 380) _hx_tmp4 = ::hx::IsEq( row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXDLIN( 509) if (!(_hx_tmp5)) {
+HXLINE( 509) _hx_tmp4 = ::hx::IsEq( row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE( 380) _hx_tmp4 = true;
+HXLINE( 509) _hx_tmp4 = true;
}
-HXDLIN( 380) if (!(_hx_tmp4)) {
-HXLINE( 380) _hx_tmp3 = ::hx::IsNull( row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic) );
+HXDLIN( 509) if (!(_hx_tmp4)) {
+HXLINE( 509) _hx_tmp3 = ::hx::IsNull( row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic) );
}
else {
-HXLINE( 380) _hx_tmp3 = true;
+HXLINE( 509) _hx_tmp3 = true;
}
-HXDLIN( 380) if (!(_hx_tmp3)) {
-HXLINE( 380) _hx_tmp2 = ::hx::IsEq( row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXDLIN( 509) if (!(_hx_tmp3)) {
+HXLINE( 509) _hx_tmp2 = ::hx::IsEq( row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE( 380) _hx_tmp2 = true;
+HXLINE( 509) _hx_tmp2 = true;
}
-HXDLIN( 380) if (!(_hx_tmp2)) {
-HXLINE( 380) _hx_tmp1 = ::hx::IsNull( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
+HXDLIN( 509) if (!(_hx_tmp2)) {
+HXLINE( 509) _hx_tmp1 = ::hx::IsNull( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) );
}
else {
-HXLINE( 380) _hx_tmp1 = true;
+HXLINE( 509) _hx_tmp1 = true;
}
-HXDLIN( 380) if (!(_hx_tmp1)) {
-HXLINE( 380) _hx_tmp = ::hx::IsEq( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXDLIN( 509) if (!(_hx_tmp1)) {
+HXLINE( 509) _hx_tmp = ::hx::IsEq( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE( 380) _hx_tmp = true;
+HXLINE( 509) _hx_tmp = true;
}
-HXDLIN( 380) if (_hx_tmp) {
-HXLINE( 381) return null();
+HXDLIN( 509) if (_hx_tmp) {
+HXLINE( 510) return null();
}
-HXLINE( 384) ::cpp::VirtualArray rolesData;
-HXDLIN( 384) if (::hx::IsNull( row->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic) )) {
-HXLINE( 384) rolesData = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 513) ::cpp::VirtualArray rolesData;
+HXDLIN( 513) if (::hx::IsNull( row->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic) )) {
+HXLINE( 513) rolesData = ::cpp::VirtualArray_obj::__new(0);
}
else {
-HXLINE( 384) rolesData = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ))->doParse()) );
- }
-HXLINE( 385) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(rolesData->get_length());
-HXDLIN( 385) {
-HXLINE( 385) int _g = 0;
-HXDLIN( 385) int _g1 = rolesData->get_length();
-HXDLIN( 385) while((_g < _g1)){
-HXLINE( 385) _g = (_g + 1);
-HXDLIN( 385) int i = (_g - 1);
-HXDLIN( 385) {
-HXLINE( 385) ::Dynamic r = _hx_array_unsafe_get(rolesData,i);
-HXDLIN( 385) result->__unsafe_set(i, ::borogove::Role_obj::__alloc( HX_CTX ,( (::String)(r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) ),( (::String)(r->__Field(HX_("title",98,15,3b,10),::hx::paccDynamic)) )));
+HXLINE( 513) rolesData = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ))->doParse()) );
+ }
+HXLINE( 514) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(rolesData->get_length());
+HXDLIN( 514) {
+HXLINE( 514) int _g = 0;
+HXDLIN( 514) int _g1 = rolesData->get_length();
+HXDLIN( 514) while((_g < _g1)){
+HXLINE( 514) _g = (_g + 1);
+HXDLIN( 514) int i = (_g - 1);
+HXDLIN( 514) {
+HXLINE( 514) ::Dynamic r = _hx_array_unsafe_get(rolesData,i);
+HXDLIN( 514) result->__unsafe_set(i, ::borogove::Role_obj::__alloc( HX_CTX ,( (::String)(r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) ),( (::String)(r->__Field(HX_("title",98,15,3b,10),::hx::paccDynamic)) )));
}
}
}
-HXLINE( 386) ::haxe::ds::StringMap presence = this->hydratePresenceMap(( (::String)(row->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
-HXLINE( 387) ::String chatId = ( (::String)(row->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic)) );
-HXLINE( 388) ::borogove::AvailableChat availableChat;
-HXDLIN( 388) bool availableChat1;
-HXDLIN( 388) if (::hx::IsNotNull( chatId )) {
-HXLINE( 388) availableChat1 = (chatId == HX_("",00,00,00,00));
+HXLINE( 515) ::haxe::ds::StringMap presence = this->hydratePresenceMap(( (::String)(row->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
+HXLINE( 516) ::String chatId = ( (::String)(row->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic)) );
+HXLINE( 517) ::borogove::AvailableChat availableChat;
+HXDLIN( 517) bool availableChat1;
+HXDLIN( 517) if (::hx::IsNotNull( chatId )) {
+HXLINE( 517) availableChat1 = (chatId == HX_("",00,00,00,00));
}
else {
-HXLINE( 388) availableChat1 = true;
+HXLINE( 517) availableChat1 = true;
}
-HXDLIN( 388) if (availableChat1) {
-HXLINE( 388) availableChat = null();
+HXDLIN( 517) if (availableChat1) {
+HXLINE( 517) availableChat = null();
}
else {
-HXLINE( 390) ::Dynamic row1 = ::Dynamic(row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic));
-HXLINE( 391) ::String availableChat2;
-HXDLIN( 391) if (::hx::IsNull( chat )) {
-HXLINE( 391) availableChat2 = chatId;
+HXLINE( 519) ::Dynamic row1 = ::Dynamic(row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic));
+HXLINE( 520) ::String availableChat2;
+HXDLIN( 520) if (::hx::IsNull( chat )) {
+HXLINE( 520) availableChat2 = chatId;
}
else {
-HXLINE( 391) availableChat2 = (((chatId + HX_(" (via ",9a,ee,c1,21)) + chat->getDisplayName()) + HX_(")",29,00,00,00));
+HXLINE( 520) availableChat2 = (((chatId + HX_(" (via ",9a,ee,c1,21)) + chat->getDisplayName()) + HX_(")",29,00,00,00));
}
-HXLINE( 388) availableChat = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chatId,( (::String)(row1) ),availableChat2,::borogove::CapsRepo_obj::empty);
+HXLINE( 517) availableChat = ::borogove::AvailableChat_obj::__alloc( HX_CTX ,chatId,( (::String)(row1) ),availableChat2,::borogove::CapsRepo_obj::empty,null());
}
-HXLINE( 396) ::Dynamic row2 = ::Dynamic(row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic));
-HXLINE( 397) ::Dynamic row3 = ::Dynamic(row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic));
-HXLINE( 398) ::Dynamic row4 = ::Dynamic(row->__Field(HX_("photo_uri",1f,7a,ef,17),::hx::paccDynamic));
-HXLINE( 399) bool _hx_tmp6 = ::hx::IsNotEq( row->__Field(HX_("is_self",41,db,b9,08),::hx::paccDynamic),0 );
-HXLINE( 401) ::borogove::JID _hx_tmp7;
-HXDLIN( 401) if (::hx::IsNull( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) )) {
-HXLINE( 401) _hx_tmp7 = null();
+HXLINE( 525) ::Dynamic row2 = ::Dynamic(row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic));
+HXLINE( 526) ::Dynamic row3 = ::Dynamic(row->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic));
+HXLINE( 527) ::Dynamic row4 = ::Dynamic(row->__Field(HX_("photo_uri",1f,7a,ef,17),::hx::paccDynamic));
+HXLINE( 528) bool _hx_tmp6 = ::hx::IsNotEq( row->__Field(HX_("is_self",41,db,b9,08),::hx::paccDynamic),0 );
+HXLINE( 530) ::borogove::JID _hx_tmp7;
+HXDLIN( 530) if (::hx::IsNull( row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic) )) {
+HXLINE( 530) _hx_tmp7 = null();
}
else {
-HXLINE( 401) _hx_tmp7 = ::borogove::JID_obj::parse(( (::String)(row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
+HXLINE( 530) _hx_tmp7 = ::borogove::JID_obj::parse(( (::String)(row->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ));
}
-HXLINE( 395) return ::borogove::Member_obj::__alloc( HX_CTX ,( (::String)(row2) ),( (::String)(row3) ),( (::String)(row4) ),_hx_tmp6,result,_hx_tmp7,presence,availableChat);
+HXLINE( 524) return ::borogove::Member_obj::__alloc( HX_CTX ,( (::String)(row2) ),( (::String)(row3) ),( (::String)(row4) ),_hx_tmp6,result,_hx_tmp7,presence,availableChat);
}
@@ -1123,115 +1338,115 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateStoredMember,return )
::Dynamic Sqlite_obj::chatPresenceAndMembersForName(::String accountId,::cpp::VirtualArray rawChats){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::Sqlite,_gthis,::cpp::VirtualArray,rawChats) HXARGC(1)
::haxe::ds::StringMap _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_425_chatPresenceAndMembersForName)
-HXLINE( 426) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 428) ::haxe::ds::StringMap chatRows = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 429) while((rows->current < rows->array->get_length())){
-HXLINE( 429) ::Dynamic row = rows->array->__get(rows->current++);
-HXLINE( 430) if (!(chatRows->exists(( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) )))) {
-HXLINE( 430) chatRows->set(( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) ),::cpp::VirtualArray_obj::__new(0));
- }
-HXLINE( 431) ( (::cpp::VirtualArray)(chatRows->get( ::Dynamic(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)))) )->push(row);
- }
-HXLINE( 434) {
-HXLINE( 434) int _g = 0;
-HXDLIN( 434) while((_g < rawChats->get_length())){
-HXLINE( 434) ::Dynamic rawChat = rawChats->__get(_g);
-HXDLIN( 434) _g = (_g + 1);
-HXLINE( 435) ::String cid = ( (::String)(rawChat->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
-HXLINE( 436) ::cpp::VirtualArray members = ( (::cpp::VirtualArray)(chatRows->get(cid)) );
-HXLINE( 437) if (::hx::IsNull( members )) {
-HXLINE( 438) result->set(cid, ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_554_chatPresenceAndMembersForName)
+HXLINE( 555) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 557) ::haxe::ds::StringMap chatRows = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 558) while((rows->current < rows->array->get_length())){
+HXLINE( 558) ::Dynamic row = rows->array->__get(rows->current++);
+HXLINE( 559) if (!(chatRows->exists(( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) )))) {
+HXLINE( 559) chatRows->set(( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) ),::cpp::VirtualArray_obj::__new(0));
+ }
+HXLINE( 560) ( (::cpp::VirtualArray)(chatRows->get( ::Dynamic(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)))) )->push(row);
+ }
+HXLINE( 563) {
+HXLINE( 563) int _g = 0;
+HXDLIN( 563) while((_g < rawChats->get_length())){
+HXLINE( 563) ::Dynamic rawChat = rawChats->__get(_g);
+HXDLIN( 563) _g = (_g + 1);
+HXLINE( 564) ::String cid = ( (::String)(rawChat->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
+HXLINE( 565) ::cpp::VirtualArray members = ( (::cpp::VirtualArray)(chatRows->get(cid)) );
+HXLINE( 566) if (::hx::IsNull( members )) {
+HXLINE( 567) result->set(cid, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("membersForName",1b,56,f2,d2),null())
->setFixed(1,HX_("presence",3b,52,d7,66), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ))));
-HXLINE( 439) continue;
+HXLINE( 568) continue;
}
-HXLINE( 442) ::haxe::ds::StringMap presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 443) ::Array< ::Dynamic> membersForName = null();
-HXLINE( 445) if (::hx::IsEq( ::Reflect_obj::field(rawChat,HX_("class",38,78,58,48)),HX_("DirectChat",c1,22,a3,05) )) {
+HXLINE( 571) ::haxe::ds::StringMap presence = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 572) ::Array< ::Dynamic> membersForName = null();
+HXLINE( 574) if (::hx::IsEq( ::Reflect_obj::field(rawChat,HX_("class",38,78,58,48)),HX_("DirectChat",c1,22,a3,05) )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::String,cid) HXARGC(1)
bool _hx_run( ::Dynamic r){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_446_chatPresenceAndMembersForName)
-HXLINE( 446) return ::hx::IsEq( r->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),cid );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_575_chatPresenceAndMembersForName)
+HXLINE( 575) return ::hx::IsEq( r->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),cid );
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 446) ::Dynamic selfRow = ::Lambda_obj::find(members, ::Dynamic(new _hx_Closure_0(cid)));
-HXLINE( 447) if (::hx::IsNotNull( selfRow )) {
-HXLINE( 447) presence = _gthis->hydratePresenceMap(( (::String)(selfRow->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
+HXLINE( 575) ::Dynamic selfRow = ::Lambda_obj::find(members, ::Dynamic(new _hx_Closure_0(cid)));
+HXLINE( 576) if (::hx::IsNotNull( selfRow )) {
+HXLINE( 576) presence = _gthis->hydratePresenceMap(( (::String)(selfRow->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
}
}
else {
-HXLINE( 449) membersForName = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 451) {
-HXLINE( 451) int _g1 = 0;
-HXDLIN( 451) while((_g1 < members->get_length())){
+HXLINE( 578) membersForName = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 580) {
+HXLINE( 580) int _g1 = 0;
+HXDLIN( 580) while((_g1 < members->get_length())){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::Dynamic r){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_460_chatPresenceAndMembersForName)
-HXLINE( 460) if (::hx::IsNotEq( r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),HX_("none",b8,12,0a,49) )) {
-HXLINE( 460) return ::hx::IsEq( r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),HX_("outcast",4d,1e,c5,db) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_589_chatPresenceAndMembersForName)
+HXLINE( 589) if (::hx::IsNotEq( r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),HX_("none",b8,12,0a,49) )) {
+HXLINE( 589) return ::hx::IsEq( r->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic),HX_("outcast",4d,1e,c5,db) );
}
else {
-HXLINE( 460) return true;
+HXLINE( 589) return true;
}
-HXDLIN( 460) return false;
+HXDLIN( 589) return false;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 451) ::Dynamic row1 = members->__get(_g1);
-HXDLIN( 451) _g1 = (_g1 + 1);
-HXLINE( 452) if (::hx::IsNotEq( row1->__Field(HX_("is_self",41,db,b9,08),::hx::paccDynamic),0 )) {
-HXLINE( 453) presence = _gthis->hydratePresenceMap(( (::String)(row1->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
-HXLINE( 454) continue;
+HXLINE( 580) ::Dynamic row1 = members->__get(_g1);
+HXDLIN( 580) _g1 = (_g1 + 1);
+HXLINE( 581) if (::hx::IsNotEq( row1->__Field(HX_("is_self",41,db,b9,08),::hx::paccDynamic),0 )) {
+HXLINE( 582) presence = _gthis->hydratePresenceMap(( (::String)(row1->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ));
+HXLINE( 583) continue;
}
-HXLINE( 457) if (::hx::IsEq( row1->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),cid )) {
-HXLINE( 457) continue;
+HXLINE( 586) if (::hx::IsEq( row1->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic),cid )) {
+HXLINE( 586) continue;
}
-HXLINE( 459) ::cpp::VirtualArray rolesData;
-HXDLIN( 459) if (::hx::IsNotNull( row1->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic) )) {
-HXLINE( 459) rolesData = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row1->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ))->doParse()) );
+HXLINE( 588) ::cpp::VirtualArray rolesData;
+HXDLIN( 588) if (::hx::IsNotNull( row1->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic) )) {
+HXLINE( 588) rolesData = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row1->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ))->doParse()) );
}
else {
-HXLINE( 459) rolesData = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 588) rolesData = ::cpp::VirtualArray_obj::__new(0);
}
-HXLINE( 460) if (::Lambda_obj::exists(rolesData, ::Dynamic(new _hx_Closure_1()))) {
-HXLINE( 460) continue;
+HXLINE( 589) if (::Lambda_obj::exists(rolesData, ::Dynamic(new _hx_Closure_1()))) {
+HXLINE( 589) continue;
}
-HXLINE( 462) membersForName->push( ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 591) membersForName->push( ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),( (::String)(row1->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic)) ))
->setFixed(1,HX_("displayName",ad,11,f2,30),( (::String)(row1->__Field(HX_("display_name",a8,f4,3b,75),::hx::paccDynamic)) ))));
}
}
-HXLINE( 465) if ((membersForName->length > 20)) {
-HXLINE( 466) membersForName = null();
+HXLINE( 594) if ((membersForName->length > 20)) {
+HXLINE( 595) membersForName = null();
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
int _hx_run( ::Dynamic a, ::Dynamic b){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_468_chatPresenceAndMembersForName)
-HXLINE( 468) return ::Reflect_obj::compare( ::Dynamic(a->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)), ::Dynamic(b->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_597_chatPresenceAndMembersForName)
+HXLINE( 597) return ::Reflect_obj::compare( ::Dynamic(a->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)), ::Dynamic(b->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
}
HX_END_LOCAL_FUNC2(return)
-HXLINE( 468) membersForName->sort( ::Dynamic(new _hx_Closure_2()));
+HXLINE( 597) membersForName->sort( ::Dynamic(new _hx_Closure_2()));
}
}
-HXLINE( 472) result->set(cid, ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE( 601) result->set(cid, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("membersForName",1b,56,f2,d2),membersForName)
->setFixed(1,HX_("presence",3b,52,d7,66),presence)));
}
}
-HXLINE( 475) return result;
+HXLINE( 604) return result;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_407_chatPresenceAndMembersForName)
-HXDLIN( 407) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 408) if ((rawChats->get_length() < 1)) {
-HXLINE( 408) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_536_chatPresenceAndMembersForName)
+HXDLIN( 536) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 537) if ((rawChats->get_length() < 1)) {
+HXLINE( 537) return ::thenshim::_Promise::Promise_Impl__obj::resolve( ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
}
-HXLINE( 425) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("\n\t\t\tSELECT chat_id, member_id, display_name, is_self, json(roles) AS roles, json(presence) AS presence\n\t\t\tFROM (\n\t\t\t\tSELECT chat_id, member_id, display_name, is_self, roles, presence,\n\t\t\t\t\tCASE WHEN is_self OR member_id=chat_id THEN 0\n\t\t\t\t\t\tELSE ROW_NUMBER() OVER(PARTITION BY chat_id ORDER BY display_name)\n\t\t\t\t\tEND as rn\n\t\t\t\tFROM members\n\t\t\t\tWHERE account_id = ?\n\t\t\t\t\tAND (is_self OR (display_name IS NOT NULL AND display_name<>''))\n\t\t\t) sub\n\t\t\tWHERE rn <= 23\n\t\t\tORDER BY chat_id, display_name\n\t\t",ac,2b,f6,05),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_3(_gthis,rawChats)),null());
+HXLINE( 554) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("\n\t\t\tSELECT chat_id, member_id, display_name, is_self, json(roles) AS roles, json(presence) AS presence\n\t\t\tFROM (\n\t\t\t\tSELECT chat_id, member_id, display_name, is_self, roles, presence,\n\t\t\t\t\tCASE WHEN is_self OR member_id=chat_id THEN 0\n\t\t\t\t\t\tELSE ROW_NUMBER() OVER(PARTITION BY chat_id ORDER BY display_name)\n\t\t\t\t\tEND as rn\n\t\t\t\tFROM members\n\t\t\t\tWHERE account_id = ?\n\t\t\t\t\tAND (is_self OR (display_name IS NOT NULL AND display_name<>''))\n\t\t\t) sub\n\t\t\tWHERE rn <= 23\n\t\t\tORDER BY chat_id, display_name\n\t\t",ac,2b,f6,05),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_3(_gthis,rawChats)),null());
}
@@ -1240,88 +1455,88 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,chatPresenceAndMembersForName,return )
::Dynamic Sqlite_obj::storeMembers(::String accountId,::String chatId,::Array< ::Dynamic> membersArg){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_507_storeMembers)
-HXLINE( 507) return true;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_636_storeMembers)
+HXLINE( 636) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_480_storeMembers)
-HXLINE( 481) if ((membersArg->length < 1)) {
-HXLINE( 481) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_609_storeMembers)
+HXLINE( 610) if ((membersArg->length < 1)) {
+HXLINE( 610) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
}
-HXLINE( 484) ::cpp::VirtualArray members = membersArg;
-HXLINE( 486) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE( 487) {
-HXLINE( 487) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 487) q->flush();
+HXLINE( 613) ::cpp::VirtualArray members = membersArg;
+HXLINE( 615) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE( 616) {
+HXLINE( 616) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 616) q->flush();
}
-HXDLIN( 487) if (::hx::IsNull( q->b )) {
-HXLINE( 487) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_73,1);
+HXDLIN( 616) if (::hx::IsNull( q->b )) {
+HXLINE( 616) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_97,1);
}
else {
-HXLINE( 487) q->b->push(HX_("INSERT OR REPLACE INTO members VALUES ",f9,ed,eb,41));
- }
- }
-HXLINE( 488) bool first = true;
-HXLINE( 489) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
-HXLINE( 491) {
-HXLINE( 491) int _g = 0;
-HXDLIN( 491) while((_g < members->get_length())){
-HXLINE( 491) ::Dynamic member = members->__get(_g);
-HXDLIN( 491) _g = (_g + 1);
-HXLINE( 492) if (!(first)) {
-HXLINE( 492) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 492) q->flush();
+HXLINE( 616) q->b->push(HX_("INSERT OR REPLACE INTO members VALUES ",f9,ed,eb,41));
+ }
+ }
+HXLINE( 617) bool first = true;
+HXLINE( 618) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 620) {
+HXLINE( 620) int _g = 0;
+HXDLIN( 620) while((_g < members->get_length())){
+HXLINE( 620) ::Dynamic member = members->__get(_g);
+HXDLIN( 620) _g = (_g + 1);
+HXLINE( 621) if (!(first)) {
+HXLINE( 621) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 621) q->flush();
}
-HXDLIN( 492) if (::hx::IsNull( q->b )) {
-HXLINE( 492) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_74,1);
+HXDLIN( 621) if (::hx::IsNull( q->b )) {
+HXLINE( 621) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_98,1);
}
else {
-HXLINE( 492) q->b->push(HX_(",",2c,00,00,00));
+HXLINE( 621) q->b->push(HX_(",",2c,00,00,00));
}
}
-HXLINE( 493) first = false;
-HXLINE( 494) {
-HXLINE( 494) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE( 494) q->flush();
+HXLINE( 622) first = false;
+HXLINE( 623) {
+HXLINE( 623) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE( 623) q->flush();
}
-HXDLIN( 494) if (::hx::IsNull( q->b )) {
-HXLINE( 494) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_75,1);
+HXDLIN( 623) if (::hx::IsNull( q->b )) {
+HXLINE( 623) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_99,1);
}
else {
-HXLINE( 494) q->b->push(HX_("(?,?,?,?,?,?,?,jsonb(?),jsonb(?),?)",cd,39,fd,64));
+HXLINE( 623) q->b->push(HX_("(?,?,?,?,?,?,?,jsonb(?),jsonb(?),?)",cd,39,fd,64));
}
}
-HXLINE( 495) params->push(accountId);
-HXLINE( 496) params->push(chatId);
-HXLINE( 497) params->push( ::Dynamic(member->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)));
-HXLINE( 498) params->push( ::Dynamic(member->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
-HXLINE( 499) params->push( ::Dynamic(member->__Field(HX_("photoUri",da,15,82,60),::hx::paccDynamic)));
-HXLINE( 500) params->push( ::Dynamic(member->__Field(HX_("isSelf",96,50,b7,69),::hx::paccDynamic)));
-HXLINE( 501) ::Dynamic tmp = ::Dynamic(member->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic));
-HXDLIN( 501) ::Dynamic _hx_tmp;
-HXDLIN( 501) if (::hx::IsNotNull( tmp )) {
-HXLINE( 501) _hx_tmp = ::Dynamic(tmp->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic));
+HXLINE( 624) params->push(accountId);
+HXLINE( 625) params->push(chatId);
+HXLINE( 626) params->push( ::Dynamic(member->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)));
+HXLINE( 627) params->push( ::Dynamic(member->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)));
+HXLINE( 628) params->push( ::Dynamic(member->__Field(HX_("photoUri",da,15,82,60),::hx::paccDynamic)));
+HXLINE( 629) params->push( ::Dynamic(member->__Field(HX_("isSelf",96,50,b7,69),::hx::paccDynamic)));
+HXLINE( 630) ::Dynamic tmp = ::Dynamic(member->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic));
+HXDLIN( 630) ::Dynamic _hx_tmp;
+HXDLIN( 630) if (::hx::IsNotNull( tmp )) {
+HXLINE( 630) _hx_tmp = ::Dynamic(tmp->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic));
}
else {
-HXLINE( 501) _hx_tmp = null();
+HXLINE( 630) _hx_tmp = null();
}
-HXDLIN( 501) params->push(_hx_tmp);
-HXLINE( 502) params->push(::borogove::JsonPrinter_obj::print( ::Dynamic(member->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)),null(),null()));
-HXLINE( 503) params->push(this->serializePresenceMap(( ( ::haxe::ds::StringMap)(member->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) )));
-HXLINE( 504) ::Dynamic tmp1 = ::Dynamic(member->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic));
-HXDLIN( 504) ::Dynamic _hx_tmp1;
-HXDLIN( 504) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 504) _hx_tmp1 = tmp1->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)();
+HXDLIN( 630) params->push(_hx_tmp);
+HXLINE( 631) params->push(::borogove::JsonPrinter_obj::print( ::Dynamic(member->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)),null(),null()));
+HXLINE( 632) params->push(this->serializePresenceMap(( ( ::haxe::ds::StringMap)(member->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) )));
+HXLINE( 633) ::Dynamic tmp1 = ::Dynamic(member->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic));
+HXDLIN( 633) ::Dynamic _hx_tmp1;
+HXDLIN( 633) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 633) _hx_tmp1 = tmp1->__Field(HX_("asString",63,33,06,a0),::hx::paccDynamic)();
}
else {
-HXLINE( 504) _hx_tmp1 = null();
+HXLINE( 633) _hx_tmp1 = null();
}
-HXDLIN( 504) params->push(_hx_tmp1);
+HXDLIN( 633) params->push(_hx_tmp1);
}
}
-HXLINE( 507) ::borogove::persistence::SqliteDriver _hx_tmp2 = this->db;
-HXDLIN( 507) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp2->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE( 636) ::borogove::persistence::SqliteDriver _hx_tmp2 = this->db;
+HXDLIN( 636) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp2->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
}
@@ -1332,259 +1547,259 @@ HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,storeMembers,return )
::Dynamic _hx_run(::Array< ::Dynamic> pseudoMembers){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_4,::Array< ::Dynamic>,valid) HXARGC(1)
::Array< ::Dynamic> _hx_run(bool _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_537_storeMemberUpdates)
-HXLINE( 537) return valid;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_666_storeMemberUpdates)
+HXLINE( 666) return valid;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_535_storeMemberUpdates)
-HXLINE( 536) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 536) {
-HXLINE( 536) int _g1 = 0;
-HXDLIN( 536) while((_g1 < pseudoMembers->length)){
-HXLINE( 536) ::Dynamic v = pseudoMembers->__get(_g1);
-HXDLIN( 536) _g1 = (_g1 + 1);
-HXDLIN( 536) if (::hx::IsNotNull( v )) {
-HXLINE( 536) _g->push(v);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_664_storeMemberUpdates)
+HXLINE( 665) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 665) {
+HXLINE( 665) int _g1 = 0;
+HXDLIN( 665) while((_g1 < pseudoMembers->length)){
+HXLINE( 665) ::Dynamic v = pseudoMembers->__get(_g1);
+HXDLIN( 665) _g1 = (_g1 + 1);
+HXDLIN( 665) if (::hx::IsNotNull( v )) {
+HXLINE( 665) _g->push(v);
}
}
}
-HXDLIN( 536) ::Array< ::Dynamic> valid = _g;
-HXLINE( 537) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->storeMembers(accountId,chat->chatId,valid), ::Dynamic(new _hx_Closure_4(valid)),null());
+HXDLIN( 665) ::Array< ::Dynamic> valid = _g;
+HXLINE( 666) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->storeMembers(accountId,chat->chatId,valid), ::Dynamic(new _hx_Closure_4(valid)),null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_8,bool,isFullList, ::borogove::persistence::Sqlite,_gthis, ::haxe::ds::StringMap,updatedIds, ::borogove::Chat,chat,::String,accountId) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> valid){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_538_storeMemberUpdates)
-HXLINE( 539) if (!(isFullList)) {
-HXLINE( 539) return ::thenshim::_Promise::Promise_Impl__obj::resolve(valid);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_667_storeMemberUpdates)
+HXLINE( 668) if (!(isFullList)) {
+HXLINE( 668) return ::thenshim::_Promise::Promise_Impl__obj::resolve(valid);
}
-HXLINE( 541) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
-HXDLIN( 541) {
-HXLINE( 541) ::Dynamic map = updatedIds;
-HXDLIN( 541) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN( 541) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 541) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN( 541) ::haxe::IMap_obj::get(map,key);
-HXDLIN( 541) _g->push(key);
+HXLINE( 670) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN( 670) {
+HXLINE( 670) ::Dynamic map = updatedIds;
+HXDLIN( 670) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 670) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 670) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 670) ::haxe::IMap_obj::get(map,key);
+HXDLIN( 670) _g->push(key);
}
}
-HXLINE( 542) if ((_g->length < 1)) {
+HXLINE( 671) if ((_g->length < 1)) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_6,::Array< ::Dynamic>,valid) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_546_storeMemberUpdates)
-HXLINE( 546) return valid;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_675_storeMemberUpdates)
+HXLINE( 675) return valid;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 543) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(HX_("UPDATE members SET roles=jsonb('[]') WHERE account_id=? AND chat_id=?",22,e9,2f,b9),::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,chat->chatId)), ::Dynamic(new _hx_Closure_6(valid)),null());
+HXLINE( 672) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(HX_("UPDATE members SET roles=jsonb('[]') WHERE account_id=? AND chat_id=?",22,e9,2f,b9),::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,chat->chatId)), ::Dynamic(new _hx_Closure_6(valid)),null());
}
else {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_7,::Array< ::Dynamic>,valid) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_553_storeMemberUpdates)
-HXLINE( 553) return valid;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_682_storeMemberUpdates)
+HXLINE( 682) return valid;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 548) ::Array< ::String > result = ::Array_obj< ::String >::__new(_g->length);
-HXDLIN( 548) {
-HXLINE( 548) int _g1 = 0;
-HXDLIN( 548) int _g2 = _g->length;
-HXDLIN( 548) while((_g1 < _g2)){
-HXLINE( 548) _g1 = (_g1 + 1);
-HXDLIN( 548) int i = (_g1 - 1);
-HXDLIN( 548) {
-HXLINE( 548) _hx_array_unsafe_get(_g,i);
-HXDLIN( 548) result->__unsafe_set(i,HX_("?",3f,00,00,00));
+HXLINE( 677) ::Array< ::String > result = ::Array_obj< ::String >::__new(_g->length);
+HXDLIN( 677) {
+HXLINE( 677) int _g1 = 0;
+HXDLIN( 677) int _g2 = _g->length;
+HXDLIN( 677) while((_g1 < _g2)){
+HXLINE( 677) _g1 = (_g1 + 1);
+HXDLIN( 677) int i = (_g1 - 1);
+HXDLIN( 677) {
+HXLINE( 677) _hx_array_unsafe_get(_g,i);
+HXDLIN( 677) result->__unsafe_set(i,HX_("?",3f,00,00,00));
}
}
}
-HXDLIN( 548) ::String placeholders = result->join(HX_(",",2c,00,00,00));
-HXLINE( 549) ::cpp::VirtualArray params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chat->chatId)->concat(_g);
-HXLINE( 550) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(((HX_("UPDATE members SET roles=jsonb('[]') WHERE account_id=? AND chat_id=? AND member_id NOT IN (",c1,3c,90,90) + placeholders) + HX_(")",29,00,00,00)),params), ::Dynamic(new _hx_Closure_7(valid)),null());
+HXDLIN( 677) ::String placeholders = result->join(HX_(",",2c,00,00,00));
+HXLINE( 678) ::cpp::VirtualArray params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chat->chatId)->concat(_g);
+HXLINE( 679) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(((HX_("UPDATE members SET roles=jsonb('[]') WHERE account_id=? AND chat_id=? AND member_id NOT IN (",c1,3c,90,90) + placeholders) + HX_(")",29,00,00,00)),params), ::Dynamic(new _hx_Closure_7(valid)),null());
}
-HXLINE( 542) return null();
+HXLINE( 671) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_9) HXARGC(1)
::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> valid){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_555_storeMemberUpdates)
-HXLINE( 556) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 556) {
-HXLINE( 556) int _g1 = 0;
-HXDLIN( 556) while((_g1 < valid->length)){
-HXLINE( 556) ::Dynamic v = valid->__get(_g1);
-HXDLIN( 556) _g1 = (_g1 + 1);
-HXDLIN( 556) bool _hx_tmp;
-HXDLIN( 556) bool _hx_tmp1;
-HXDLIN( 556) bool _hx_tmp2;
-HXDLIN( 556) ::String _hx_tmp3;
-HXDLIN( 556) if (::hx::IsNotNull( v )) {
-HXLINE( 556) _hx_tmp3 = ( (::String)(v->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_684_storeMemberUpdates)
+HXLINE( 685) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 685) {
+HXLINE( 685) int _g1 = 0;
+HXDLIN( 685) while((_g1 < valid->length)){
+HXLINE( 685) ::Dynamic v = valid->__get(_g1);
+HXDLIN( 685) _g1 = (_g1 + 1);
+HXDLIN( 685) bool _hx_tmp;
+HXDLIN( 685) bool _hx_tmp1;
+HXDLIN( 685) bool _hx_tmp2;
+HXDLIN( 685) ::String _hx_tmp3;
+HXDLIN( 685) if (::hx::IsNotNull( v )) {
+HXLINE( 685) _hx_tmp3 = ( (::String)(v->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) );
}
else {
-HXLINE( 556) _hx_tmp3 = null();
+HXLINE( 685) _hx_tmp3 = null();
}
-HXDLIN( 556) if (::hx::IsNotNull( _hx_tmp3 )) {
-HXLINE( 556) ::String _hx_tmp4;
-HXDLIN( 556) if (::hx::IsNotNull( v )) {
-HXLINE( 556) _hx_tmp4 = ( (::String)(v->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
+HXDLIN( 685) if (::hx::IsNotNull( _hx_tmp3 )) {
+HXLINE( 685) ::String _hx_tmp4;
+HXDLIN( 685) if (::hx::IsNotNull( v )) {
+HXLINE( 685) _hx_tmp4 = ( (::String)(v->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) );
}
else {
-HXLINE( 556) _hx_tmp4 = null();
+HXLINE( 685) _hx_tmp4 = null();
}
-HXDLIN( 556) _hx_tmp2 = ::hx::IsNotNull( _hx_tmp4 );
+HXDLIN( 685) _hx_tmp2 = ::hx::IsNotNull( _hx_tmp4 );
}
else {
-HXLINE( 556) _hx_tmp2 = false;
+HXLINE( 685) _hx_tmp2 = false;
}
-HXDLIN( 556) if (_hx_tmp2) {
-HXLINE( 556) _hx_tmp1 = ::hx::IsNotEq( v->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXDLIN( 685) if (_hx_tmp2) {
+HXLINE( 685) _hx_tmp1 = ::hx::IsNotEq( v->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE( 556) _hx_tmp1 = false;
+HXLINE( 685) _hx_tmp1 = false;
}
-HXDLIN( 556) if (_hx_tmp1) {
-HXLINE( 556) ::borogove::JID _hx_tmp5;
-HXDLIN( 556) if (::hx::IsNotNull( v )) {
-HXLINE( 556) _hx_tmp5 = ( ( ::borogove::JID)(v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) );
+HXDLIN( 685) if (_hx_tmp1) {
+HXLINE( 685) ::borogove::JID _hx_tmp5;
+HXDLIN( 685) if (::hx::IsNotNull( v )) {
+HXLINE( 685) _hx_tmp5 = ( ( ::borogove::JID)(v->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) );
}
else {
-HXLINE( 556) _hx_tmp5 = null();
+HXLINE( 685) _hx_tmp5 = null();
}
-HXDLIN( 556) _hx_tmp = ::hx::IsNotNull( _hx_tmp5 );
+HXDLIN( 685) _hx_tmp = ::hx::IsNotNull( _hx_tmp5 );
}
else {
-HXLINE( 556) _hx_tmp = false;
+HXLINE( 685) _hx_tmp = false;
}
-HXDLIN( 556) if (_hx_tmp) {
-HXLINE( 556) _g->push(v);
+HXDLIN( 685) if (_hx_tmp) {
+HXLINE( 685) _g->push(v);
}
}
}
-HXDLIN( 556) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
-HXDLIN( 556) {
-HXLINE( 556) int _g2 = 0;
-HXDLIN( 556) int _g3 = _g->length;
-HXDLIN( 556) while((_g2 < _g3)){
-HXLINE( 556) _g2 = (_g2 + 1);
-HXDLIN( 556) int i = (_g2 - 1);
-HXDLIN( 556) {
-HXLINE( 556) ::Dynamic m = _hx_array_unsafe_get(_g,i);
-HXDLIN( 556) ::borogove::Member inValue = ::borogove::Member_obj::__alloc( HX_CTX ,( (::String)(m->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) ),( (::String)(m->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) ),( (::String)(m->__Field(HX_("photoUri",da,15,82,60),::hx::paccDynamic)) ),( (bool)(m->__Field(HX_("isSelf",96,50,b7,69),::hx::paccDynamic)) ),( (::Array< ::Dynamic>)(m->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ),( ( ::borogove::JID)(m->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),( ( ::haxe::ds::StringMap)(m->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ),( ( ::borogove::AvailableChat)(m->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic)) ));
-HXDLIN( 556) result->__unsafe_set(i,inValue);
+HXDLIN( 685) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_g->length);
+HXDLIN( 685) {
+HXLINE( 685) int _g2 = 0;
+HXDLIN( 685) int _g3 = _g->length;
+HXDLIN( 685) while((_g2 < _g3)){
+HXLINE( 685) _g2 = (_g2 + 1);
+HXDLIN( 685) int i = (_g2 - 1);
+HXDLIN( 685) {
+HXLINE( 685) ::Dynamic m = _hx_array_unsafe_get(_g,i);
+HXDLIN( 685) ::borogove::Member inValue = ::borogove::Member_obj::__alloc( HX_CTX ,( (::String)(m->__Field(HX_("id",db,5b,00,00),::hx::paccDynamic)) ),( (::String)(m->__Field(HX_("displayName",ad,11,f2,30),::hx::paccDynamic)) ),( (::String)(m->__Field(HX_("photoUri",da,15,82,60),::hx::paccDynamic)) ),( (bool)(m->__Field(HX_("isSelf",96,50,b7,69),::hx::paccDynamic)) ),( (::Array< ::Dynamic>)(m->__Field(HX_("roles",3d,1c,5f,ed),::hx::paccDynamic)) ),( ( ::borogove::JID)(m->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)) ),( ( ::haxe::ds::StringMap)(m->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) ),( ( ::borogove::AvailableChat)(m->__Field(HX_("chat",d8,5e,bf,41),::hx::paccDynamic)) ));
+HXDLIN( 685) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 556) return result;
+HXDLIN( 685) return result;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_511_storeMemberUpdates)
-HXDLIN( 511) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 512) ::haxe::ds::StringMap updatedIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 513) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(updates->length);
-HXDLIN( 513) {
-HXLINE( 513) int _g = 0;
-HXDLIN( 513) int _g1 = updates->length;
-HXDLIN( 513) while((_g < _g1)){
-HXLINE( 513) _g = (_g + 1);
-HXDLIN( 513) int i = (_g - 1);
-HXDLIN( 513) {
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_640_storeMemberUpdates)
+HXDLIN( 640) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 641) ::haxe::ds::StringMap updatedIds = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 642) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(updates->length);
+HXDLIN( 642) {
+HXLINE( 642) int _g = 0;
+HXDLIN( 642) int _g1 = updates->length;
+HXDLIN( 642) while((_g < _g1)){
+HXLINE( 642) _g = (_g + 1);
+HXDLIN( 642) int i = (_g - 1);
+HXDLIN( 642) {
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis, ::borogove::Chat,chat,::String,accountId, ::borogove::MemberUpdate,update) HXARGC(1)
::Dynamic _hx_run( ::Dynamic existing){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_526_storeMemberUpdates)
-HXLINE( 526) if ((rows->current < rows->array->get_length())) {
-HXLINE( 526) return rows->array->__get(rows->current++);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_655_storeMemberUpdates)
+HXLINE( 655) if ((rows->current < rows->array->get_length())) {
+HXLINE( 655) return rows->array->__get(rows->current++);
}
else {
-HXLINE( 526) return null();
+HXLINE( 655) return null();
}
-HXDLIN( 526) return null();
+HXDLIN( 655) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_519_storeMemberUpdates)
-HXLINE( 520) bool inValue;
-HXDLIN( 520) if (::hx::IsNull( existing )) {
-HXLINE( 520) inValue = ::hx::IsNull( update->jid );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_648_storeMemberUpdates)
+HXLINE( 649) bool inValue;
+HXDLIN( 649) if (::hx::IsNull( existing )) {
+HXLINE( 649) inValue = ::hx::IsNull( update->jid );
}
else {
-HXLINE( 520) inValue = true;
+HXLINE( 649) inValue = true;
}
-HXDLIN( 520) if (inValue) {
-HXLINE( 520) return ::thenshim::_Promise::Promise_Impl__obj::resolve(existing);
+HXDLIN( 649) if (inValue) {
+HXLINE( 649) return ::thenshim::_Promise::Promise_Impl__obj::resolve(existing);
}
-HXLINE( 522) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 524) ::String accountId1 = accountId;
-HXDLIN( 524) ::String chat1 = chat->chatId;
-HXLINE( 522) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id=? AND chat_id=? AND jid=? LIMIT 1",b3,21,1d,01),::cpp::VirtualArray_obj::__new(3)->init(0,accountId1)->init(1,chat1)->init(2,update->jid->asString())), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE( 651) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE( 653) ::String accountId1 = accountId;
+HXDLIN( 653) ::String chat1 = chat->chatId;
+HXLINE( 651) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id=? AND chat_id=? AND jid=? LIMIT 1",b3,21,1d,01),::cpp::VirtualArray_obj::__new(3)->init(0,accountId1)->init(1,chat1)->init(2,update->jid->asString())), ::Dynamic(new _hx_Closure_1()),null());
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::Sqlite,_gthis, ::haxe::ds::StringMap,updatedIds, ::borogove::Chat,chat, ::borogove::MemberUpdate,update) HXARGC(1)
::Dynamic _hx_run( ::Dynamic existing){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_528_storeMemberUpdates)
-HXLINE( 529) ::borogove::Member member = _gthis->hydrateStoredMember(chat,existing);
-HXLINE( 530) ::String knownId;
-HXDLIN( 530) ::String tmp = update->id;
-HXDLIN( 530) if (::hx::IsNotNull( tmp )) {
-HXLINE( 530) knownId = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_657_storeMemberUpdates)
+HXLINE( 658) ::borogove::Member member = _gthis->hydrateStoredMember(chat,existing);
+HXLINE( 659) ::String knownId;
+HXDLIN( 659) ::String tmp = update->id;
+HXDLIN( 659) if (::hx::IsNotNull( tmp )) {
+HXLINE( 659) knownId = tmp;
}
else {
-HXLINE( 530) if (::hx::IsNotNull( existing )) {
-HXLINE( 530) knownId = ( (::String)(existing->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic)) );
+HXLINE( 659) if (::hx::IsNotNull( existing )) {
+HXLINE( 659) knownId = ( (::String)(existing->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic)) );
}
else {
-HXLINE( 530) knownId = null();
+HXLINE( 659) knownId = null();
}
}
-HXLINE( 531) bool inValue;
-HXDLIN( 531) if (::hx::IsNotNull( knownId )) {
-HXLINE( 531) inValue = (knownId != HX_("",00,00,00,00));
+HXLINE( 660) bool inValue;
+HXDLIN( 660) if (::hx::IsNotNull( knownId )) {
+HXLINE( 660) inValue = (knownId != HX_("",00,00,00,00));
}
else {
-HXLINE( 531) inValue = false;
+HXLINE( 660) inValue = false;
}
-HXDLIN( 531) if (inValue) {
-HXLINE( 531) updatedIds->set(knownId,true);
+HXDLIN( 660) if (inValue) {
+HXLINE( 660) updatedIds->set(knownId,true);
}
-HXLINE( 533) return update->applyTo(member);
+HXLINE( 662) return update->applyTo(member);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 513) ::borogove::MemberUpdate update = ( ( ::borogove::MemberUpdate)(_hx_array_unsafe_get(updates,i)) );
-HXLINE( 514) ::Dynamic inValue;
-HXDLIN( 514) if (::hx::IsNull( update->id )) {
-HXLINE( 514) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE( 642) ::borogove::MemberUpdate update = ( ( ::borogove::MemberUpdate)(_hx_array_unsafe_get(updates,i)) );
+HXLINE( 643) ::Dynamic inValue;
+HXDLIN( 643) if (::hx::IsNull( update->id )) {
+HXLINE( 643) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
else {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_518_storeMemberUpdates)
-HXLINE( 518) if ((rows->current < rows->array->get_length())) {
-HXLINE( 518) return rows->array->__get(rows->current++);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_647_storeMemberUpdates)
+HXLINE( 647) if ((rows->current < rows->array->get_length())) {
+HXLINE( 647) return rows->array->__get(rows->current++);
}
else {
-HXLINE( 518) return null();
+HXLINE( 647) return null();
}
-HXDLIN( 518) return null();
+HXDLIN( 647) return null();
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 514) inValue = ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id=? AND member_id=? LIMIT 1",d3,cf,b4,b6),::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,update->id)), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE( 643) inValue = ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id=? AND member_id=? LIMIT 1",d3,cf,b4,b6),::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,update->id)), ::Dynamic(new _hx_Closure_0()),null());
}
-HXLINE( 513) ::Dynamic inValue1 = ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_2(_gthis,chat,accountId,update)),null()), ::Dynamic(new _hx_Closure_3(_gthis,updatedIds,chat,update)),null());
-HXDLIN( 513) result->__unsafe_set(i,inValue1);
+HXLINE( 642) ::Dynamic inValue1 = ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_2(_gthis,chat,accountId,update)),null()), ::Dynamic(new _hx_Closure_3(_gthis,updatedIds,chat,update)),null());
+HXDLIN( 642) result->__unsafe_set(i,inValue1);
}
}
}
-HXDLIN( 513) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_5(_gthis,chat,accountId)),null()), ::Dynamic(new _hx_Closure_8(isFullList,_gthis,updatedIds,chat,accountId)),null()), ::Dynamic(new _hx_Closure_9()),null());
+HXDLIN( 642) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_5(_gthis,chat,accountId)),null()), ::Dynamic(new _hx_Closure_8(isFullList,_gthis,updatedIds,chat,accountId)),null()), ::Dynamic(new _hx_Closure_9()),null());
}
@@ -1593,27 +1808,27 @@ HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,storeMemberUpdates,return )
::Dynamic Sqlite_obj::clearMemberPresence(::String accountId,::String chatId){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_578_clearMemberPresence)
-HXLINE( 578) return true;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_707_clearMemberPresence)
+HXLINE( 707) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_573_clearMemberPresence)
-HXLINE( 574) ::String _hx_tmp;
-HXDLIN( 574) if (::hx::IsNull( chatId )) {
-HXLINE( 574) _hx_tmp = HX_("UPDATE members SET presence=jsonb('{}') WHERE account_id=?",f1,87,fc,6b);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_702_clearMemberPresence)
+HXLINE( 703) ::String _hx_tmp;
+HXDLIN( 703) if (::hx::IsNull( chatId )) {
+HXLINE( 703) _hx_tmp = HX_("UPDATE members SET presence=jsonb('{}') WHERE account_id=?",f1,87,fc,6b);
}
else {
-HXLINE( 574) _hx_tmp = HX_("UPDATE members SET presence=jsonb('{}') WHERE account_id=? AND chat_id=?",ec,c0,03,23);
+HXLINE( 703) _hx_tmp = HX_("UPDATE members SET presence=jsonb('{}') WHERE account_id=? AND chat_id=?",ec,c0,03,23);
}
-HXLINE( 577) ::cpp::VirtualArray _hx_tmp1;
-HXDLIN( 577) if (::hx::IsNull( chatId )) {
-HXLINE( 577) _hx_tmp1 = ::cpp::VirtualArray_obj::__new(1)->init(0,accountId);
+HXLINE( 706) ::cpp::VirtualArray _hx_tmp1;
+HXDLIN( 706) if (::hx::IsNull( chatId )) {
+HXLINE( 706) _hx_tmp1 = ::cpp::VirtualArray_obj::__new(1)->init(0,accountId);
}
else {
-HXLINE( 577) _hx_tmp1 = ::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,chatId);
+HXLINE( 706) _hx_tmp1 = ::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,chatId);
}
-HXLINE( 573) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(_hx_tmp,_hx_tmp1), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE( 702) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(_hx_tmp,_hx_tmp1), ::Dynamic(new _hx_Closure_0()),null());
}
@@ -1622,50 +1837,50 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,clearMemberPresence,return )
::Dynamic Sqlite_obj::getMembers(::String accountId, ::borogove::Chat chat,bool forModerator){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis, ::borogove::Chat,chat,bool,forModerator) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_600_getMembers)
-HXLINE( 601) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 602) while((rows->current < rows->array->get_length())){
-HXLINE( 603) ::borogove::Member member = _gthis->hydrateStoredMember(chat,rows->array->__get(rows->current++));
-HXLINE( 604) if (::hx::IsNull( member )) {
-HXLINE( 604) continue;
- }
-HXLINE( 606) result->push(member);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_731_getMembers)
+HXLINE( 732) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 733) while((rows->current < rows->array->get_length())){
+HXLINE( 734) ::borogove::Member member = _gthis->hydrateStoredMember(chat,rows->array->__get(rows->current++));
+HXLINE( 735) if (::hx::IsNull( member )) {
+HXLINE( 735) continue;
+ }
+HXLINE( 737) result->push(member);
}
-HXLINE( 608) bool _hx_tmp;
-HXDLIN( 608) if ((result->length > 1000)) {
-HXLINE( 608) _hx_tmp = !(forModerator);
+HXLINE( 739) bool _hx_tmp;
+HXDLIN( 739) if ((result->length > 1000)) {
+HXLINE( 739) _hx_tmp = !(forModerator);
}
else {
-HXLINE( 608) _hx_tmp = false;
- }
-HXDLIN( 608) if (_hx_tmp) {
-HXLINE( 608) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 608) {
-HXLINE( 608) int _g1 = 0;
-HXDLIN( 608) while((_g1 < result->length)){
-HXLINE( 608) ::borogove::Member v = result->__get(_g1).StaticCast< ::borogove::Member >();
-HXDLIN( 608) _g1 = (_g1 + 1);
-HXDLIN( 608) if ((v->showPresence != 4)) {
-HXLINE( 608) _g->push(v);
+HXLINE( 739) _hx_tmp = false;
+ }
+HXDLIN( 739) if (_hx_tmp) {
+HXLINE( 739) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 739) {
+HXLINE( 739) int _g1 = 0;
+HXDLIN( 739) while((_g1 < result->length)){
+HXLINE( 739) ::borogove::Member v = result->__get(_g1).StaticCast< ::borogove::Member >();
+HXDLIN( 739) _g1 = (_g1 + 1);
+HXDLIN( 739) if ((v->showPresence != 4)) {
+HXLINE( 739) _g->push(v);
}
}
}
-HXDLIN( 608) return _g;
+HXDLIN( 739) return _g;
}
-HXLINE( 609) return result;
+HXLINE( 740) return result;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_582_getMembers)
-HXDLIN( 582) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 598) int _hx_tmp;
-HXDLIN( 598) if (forModerator) {
-HXLINE( 598) _hx_tmp = 20000;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_711_getMembers)
+HXDLIN( 711) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 729) int _hx_tmp;
+HXDLIN( 729) if (forModerator) {
+HXLINE( 729) _hx_tmp = 20000;
}
else {
-HXLINE( 598) _hx_tmp = 2000;
+HXLINE( 729) _hx_tmp = 2000;
}
-HXLINE( 583) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec((HX_("SELECT\n\t\t\t\tmember_id, display_name, photo_uri, is_self, chat,\n\t\t\t\tjson(roles) AS roles, json(presence) AS presence, jid,\n\t\t\t\tCOALESCE(\n\t\t\t\t\t(SELECT MAX(CASE value->>'$.id' WHEN 'owner' THEN 4 WHEN 'admin' THEN 3 WHEN 'none' THEN 1 WHEN 'outcast' THEN 0 ELSE 2 END) FROM json_each(roles)),\n\t\t\t\t\t2\n\t\t\t\t) AS role_rank,\n\t\t\t\tCASE WHEN json(presence) NOT LIKE '% type=\\\"unavailable\\\"%' THEN 1 ELSE 0 END AS is_online\n\t\t\tFROM members\n\t\t\tWHERE\n\t\t\t\taccount_id=? AND chat_id=?\n\t\t\t\tAND (? OR NOT EXISTS (SELECT 1 FROM json_each(roles) WHERE value->>'$.id' = 'outcast'))\n\t\t\t\tAND NOT (EXISTS (SELECT 1 FROM json_each(roles) WHERE value->>'$.id' = 'none') AND NOT is_online)\n\t\t\tORDER BY role_rank DESC, is_online DESC, LOWER(display_name) ASC\n\t\t\tLIMIT ",d2,99,b7,60) + _hx_tmp),::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chat->chatId)->init(2,forModerator)), ::Dynamic(new _hx_Closure_0(_gthis,chat,forModerator)),null());
+HXLINE( 712) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec((HX_("SELECT\n\t\t\t\tmember_id, display_name, photo_uri, is_self, chat,\n\t\t\t\tjson(roles) AS roles, json(presence) AS presence, jid,\n\t\t\t\tCOALESCE(\n\t\t\t\t\t(SELECT MAX(CASE value->>'$.id' WHEN 'owner' THEN 4 WHEN 'admin' THEN 3 WHEN 'none' THEN 1 WHEN 'outcast' THEN 0 ELSE 2 END) FROM json_each(roles)),\n\t\t\t\t\t2\n\t\t\t\t) AS role_rank,\n\t\t\t\tCASE WHEN EXISTS (SELECT 1 FROM json_each(presence))\n\t\t\t\t\tAND json(presence) NOT LIKE '% type=\\\"unavailable\\\"%'\n\t\t\t\t\tTHEN 1 ELSE 0 END AS is_online\n\t\t\tFROM members\n\t\t\tWHERE\n\t\t\t\taccount_id=? AND chat_id=?\n\t\t\t\tAND (? OR NOT EXISTS (SELECT 1 FROM json_each(roles) WHERE value->>'$.id' = 'outcast'))\n\t\t\t\tAND NOT (EXISTS (SELECT 1 FROM json_each(roles) WHERE value->>'$.id' = 'none') AND NOT is_online)\n\t\t\tORDER BY role_rank DESC, is_online DESC, LOWER(display_name) ASC\n\t\t\tLIMIT ",a1,e4,c1,3e) + _hx_tmp),::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chat->chatId)->init(2,forModerator)), ::Dynamic(new _hx_Closure_0(_gthis,chat,forModerator)),null());
}
@@ -1674,75 +1889,120 @@ HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,getMembers,return )
::Dynamic Sqlite_obj::getMemberDetails(::String accountId, ::borogove::Chat chat,::Array< ::String > ids){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis, ::borogove::Chat,chat,::Array< ::String >,ids) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_622_getMemberDetails)
-HXLINE( 623) ::haxe::ds::StringMap lookup = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 624) while((rows->current < rows->array->get_length())){
-HXLINE( 624) ::Dynamic row = rows->array->__get(rows->current++);
-HXLINE( 625) {
-HXLINE( 625) ::String key = ( (::String)(row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic)) );
-HXDLIN( 625) lookup->set(key,_gthis->hydrateStoredMember(chat,row));
- }
- }
-HXLINE( 628) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(ids->length);
-HXDLIN( 628) {
-HXLINE( 628) int _g = 0;
-HXDLIN( 628) int _g1 = ids->length;
-HXDLIN( 628) while((_g < _g1)){
-HXLINE( 628) _g = (_g + 1);
-HXDLIN( 628) int i = (_g - 1);
-HXDLIN( 628) {
-HXLINE( 628) ::borogove::Member inValue = ( ( ::borogove::Member)(lookup->get(_hx_array_unsafe_get(ids,i))) );
-HXDLIN( 628) result->__unsafe_set(i,inValue);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_753_getMemberDetails)
+HXLINE( 754) ::haxe::ds::StringMap lookup = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 755) while((rows->current < rows->array->get_length())){
+HXLINE( 755) ::Dynamic row = rows->array->__get(rows->current++);
+HXLINE( 756) {
+HXLINE( 756) ::String key = ( (::String)(row->__Field(HX_("member_id",e0,03,69,b8),::hx::paccDynamic)) );
+HXDLIN( 756) lookup->set(key,_gthis->hydrateStoredMember(chat,row));
+ }
+ }
+HXLINE( 759) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(ids->length);
+HXDLIN( 759) {
+HXLINE( 759) int _g = 0;
+HXDLIN( 759) int _g1 = ids->length;
+HXDLIN( 759) while((_g < _g1)){
+HXLINE( 759) _g = (_g + 1);
+HXDLIN( 759) int i = (_g - 1);
+HXDLIN( 759) {
+HXLINE( 759) ::borogove::Member inValue = ( ( ::borogove::Member)(lookup->get(_hx_array_unsafe_get(ids,i))) );
+HXDLIN( 759) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 628) return result;
+HXDLIN( 759) return result;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_614_getMemberDetails)
-HXDLIN( 614) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 615) if ((ids->length == 0)) {
-HXLINE( 615) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
- }
-HXLINE( 617) ::Array< ::String > result = ::Array_obj< ::String >::__new(ids->length);
-HXDLIN( 617) {
-HXLINE( 617) int _g = 0;
-HXDLIN( 617) int _g1 = ids->length;
-HXDLIN( 617) while((_g < _g1)){
-HXLINE( 617) _g = (_g + 1);
-HXDLIN( 617) int i = (_g - 1);
-HXDLIN( 617) {
-HXLINE( 617) _hx_array_unsafe_get(ids,i);
-HXDLIN( 617) result->__unsafe_set(i,HX_("?",3f,00,00,00));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_745_getMemberDetails)
+HXDLIN( 745) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 746) if ((ids->length == 0)) {
+HXLINE( 746) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE( 748) ::Array< ::String > result = ::Array_obj< ::String >::__new(ids->length);
+HXDLIN( 748) {
+HXLINE( 748) int _g = 0;
+HXDLIN( 748) int _g1 = ids->length;
+HXDLIN( 748) while((_g < _g1)){
+HXLINE( 748) _g = (_g + 1);
+HXDLIN( 748) int i = (_g - 1);
+HXDLIN( 748) {
+HXLINE( 748) _hx_array_unsafe_get(ids,i);
+HXDLIN( 748) result->__unsafe_set(i,HX_("?",3f,00,00,00));
}
}
}
-HXDLIN( 617) ::String placeholders = result->join(HX_(", ",74,26,00,00));
-HXLINE( 620) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId)->concat(ids);
-HXLINE( 622) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(((HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id = ? AND member_id IN (",ee,1d,8e,8d) + placeholders) + HX_(")",29,00,00,00)),params), ::Dynamic(new _hx_Closure_0(_gthis,chat,ids)),null());
+HXDLIN( 748) ::String placeholders = result->join(HX_(", ",74,26,00,00));
+HXLINE( 751) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId)->concat(ids);
+HXLINE( 753) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(((HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members WHERE account_id = ? AND member_id IN (",ee,1d,8e,8d) + placeholders) + HX_(")",29,00,00,00)),params), ::Dynamic(new _hx_Closure_0(_gthis,chat,ids)),null());
}
HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,getMemberDetails,return )
+::Dynamic Sqlite_obj::storeVoiceRequest(::String accountId, ::borogove::Chat chat,::String jid,bool requesting){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ bool _hx_run(bool _){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_765_storeVoiceRequest)
+HXDLIN( 765) return true;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_765_storeVoiceRequest)
+HXDLIN( 765) ::String _hx_tmp;
+HXDLIN( 765) if (requesting) {
+HXDLIN( 765) _hx_tmp = HX_("1",31,00,00,00);
+ }
+ else {
+HXDLIN( 765) _hx_tmp = null();
+ }
+HXDLIN( 765) return ::thenshim::_Promise::Promise_Impl__obj::then(this->set((((((HX_("voiceRequest:",dd,69,6f,a3) + accountId) + HX_("\n",0a,00,00,00)) + chat->chatId) + HX_("\n",0a,00,00,00)) + jid),_hx_tmp), ::Dynamic(new _hx_Closure_0()),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,storeVoiceRequest,return )
+
+::Dynamic Sqlite_obj::listVoiceRequests(::String accountId, ::borogove::Chat chat){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis, ::borogove::Chat,chat) HXARGC(1)
+ ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator rows){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_773_listVoiceRequests)
+HXLINE( 774) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 775) while((rows->current < rows->array->get_length())){
+HXLINE( 776) ::borogove::Member member = _gthis->hydrateStoredMember(chat,rows->array->__get(rows->current++));
+HXLINE( 777) if (::hx::IsNotNull( member )) {
+HXLINE( 777) result->push(member);
+ }
+ }
+HXLINE( 779) return result;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_769_listVoiceRequests)
+HXDLIN( 769) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 770) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT member_id, display_name, photo_uri, is_self, chat, json(roles) AS roles, json(presence) AS presence, jid FROM members INNER JOIN keyvaluepairs ON keyvaluepairs.k='voiceRequest:' || account_id || char(10) || chat_id || char(10) || jid WHERE account_id=? AND chat_id=?",1d,99,41,61),::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,chat->chatId)), ::Dynamic(new _hx_Closure_0(_gthis,chat)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,listVoiceRequests,return )
+
::Dynamic Sqlite_obj::searchMessages(::String accountId,::String chatId,::String q){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_640_searchMessages)
-HXLINE( 640) return _gthis->hydrateMessages(accountId,result);
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_796_searchMessages)
+HXLINE( 796) return _gthis->hydrateMessagesAndLoadMeta(accountId,result);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_633_searchMessages)
-HXDLIN( 633) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 634) ::String sql = HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND stanza LIKE ?",c2,96,a8,85);
-HXLINE( 635) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,((HX_("%",25,00,00,00) + q) + HX_("%",25,00,00,00)));
-HXLINE( 636) if (::hx::IsNotNull( chatId )) {
-HXLINE( 637) sql = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND stanza LIKE ?",c2,96,a8,85) + HX_(" AND chat_id=?",3b,95,e7,43));
-HXLINE( 638) params->push(chatId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_784_searchMessages)
+HXDLIN( 784) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 785) ::String sql = ((HX_("\n\t\t\tSELECT\n\t\t\t\t",4f,6c,f2,53) + ::borogove::persistence::Sqlite_obj::messageColumnsString(null())) + HX_("\n\t\t\tFROM messages\n\t\t\tWHERE account_id=? AND stanza LIKE ?\n\t\t",88,4d,dc,33));
+HXLINE( 791) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,((HX_("%",25,00,00,00) + q) + HX_("%",25,00,00,00)));
+HXLINE( 792) if (::hx::IsNotNull( chatId )) {
+HXLINE( 793) sql = (sql + HX_(" AND chat_id=?",3b,95,e7,43));
+HXLINE( 794) params->push(chatId);
}
-HXLINE( 640) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(sql,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
+HXLINE( 796) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(sql,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
}
@@ -1753,371 +2013,280 @@ HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,searchMessages,return )
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::iterators::ArrayIterator,result) HXARGC(0)
::haxe::iterators::ArrayIterator _hx_run(){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_649_getChats)
-HXLINE( 649) return result;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_805_getChats)
+HXLINE( 805) return result;
}
HX_END_LOCAL_FUNC0(return)
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,rows) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::ds::StringMap chatData){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_650_getChats)
-HXLINE( 651) ::Array< ::Dynamic> chats = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 652) {
-HXLINE( 652) int _g = 0;
-HXDLIN( 652) while((_g < rows->length)){
-HXLINE( 652) ::Dynamic row = rows->__get(_g);
-HXDLIN( 652) _g = (_g + 1);
-HXLINE( 653) ::Dynamic capsJson;
-HXDLIN( 653) if (::hx::IsNull( row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
-HXLINE( 653) capsJson = null();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_806_getChats)
+HXLINE( 807) ::Array< ::Dynamic> chats = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 808) {
+HXLINE( 808) int _g = 0;
+HXDLIN( 808) while((_g < rows->length)){
+HXLINE( 808) ::Dynamic row = rows->__get(_g);
+HXDLIN( 808) _g = (_g + 1);
+HXLINE( 809) ::Dynamic capsJson;
+HXDLIN( 809) if (::hx::IsNull( row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic) )) {
+HXLINE( 809) capsJson = null();
}
else {
-HXLINE( 653) capsJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+HXLINE( 809) capsJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
}
-HXLINE( 654) ::borogove::Caps _hx_tmp;
-HXDLIN( 654) if (::hx::IsNull( capsJson )) {
-HXLINE( 654) _hx_tmp = null();
+HXLINE( 810) ::borogove::Caps _hx_tmp;
+HXDLIN( 810) if (::hx::IsNull( capsJson )) {
+HXLINE( 810) _hx_tmp = null();
}
else {
-HXLINE( 654) _hx_tmp = _gthis->hydrateCaps(capsJson,( (::Array< unsigned char >)(row->__Field(HX_("caps_ver",05,68,56,1e),::hx::paccDynamic)) ));
+HXLINE( 810) _hx_tmp = _gthis->hydrateCaps(capsJson,( (::Array< unsigned char >)(row->__Field(HX_("caps_ver",05,68,56,1e),::hx::paccDynamic)) ));
}
-HXDLIN( 654) row->__SetField(HX_("capsObj",56,b6,8b,a6),_hx_tmp,::hx::paccDynamic);
-HXLINE( 656) ::Dynamic metaJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("meta",c5,4a,59,48),::hx::paccDynamic)) ))->doParse();
-HXLINE( 657) ::haxe::ds::StringMap threadsMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE( 658) {
-HXLINE( 658) ::Dynamic this1;
-HXDLIN( 658) ::Dynamic tmp = ::Dynamic(metaJson->__Field(HX_("threads",69,f6,91,53),::hx::paccDynamic));
-HXDLIN( 658) if (::hx::IsNotNull( tmp )) {
-HXLINE( 658) this1 = tmp;
+HXDLIN( 810) row->__SetField(HX_("capsObj",56,b6,8b,a6),_hx_tmp,::hx::paccDynamic);
+HXLINE( 812) ::Dynamic metaJson = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("meta",c5,4a,59,48),::hx::paccDynamic)) ))->doParse();
+HXLINE( 813) ::haxe::ds::StringMap threadsMap = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 814) {
+HXLINE( 814) ::Dynamic this1;
+HXDLIN( 814) ::Dynamic tmp = ::Dynamic(metaJson->__Field(HX_("threads",69,f6,91,53),::hx::paccDynamic));
+HXDLIN( 814) if (::hx::IsNotNull( tmp )) {
+HXLINE( 814) this1 = tmp;
}
else {
-HXLINE( 658) this1 = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 814) this1 = ::Dynamic(::hx::Anon_obj::Create(0));
}
-HXDLIN( 658) ::Dynamic access = this1;
-HXDLIN( 658) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
-HXDLIN( 658) int _g_index = 0;
-HXDLIN( 658) while((_g_index < _g_keys->length)){
-HXLINE( 658) _g_index = (_g_index + 1);
-HXDLIN( 658) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN( 658) ::String _g_value = ( (::String)(::Reflect_obj::field(access,key)) );
-HXLINE( 659) {
-HXLINE( 659) ::String k;
-HXDLIN( 659) if ((key == HX_("",00,00,00,00))) {
-HXLINE( 659) k = null();
+HXDLIN( 814) ::Dynamic access = this1;
+HXDLIN( 814) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
+HXDLIN( 814) int _g_index = 0;
+HXDLIN( 814) while((_g_index < _g_keys->length)){
+HXLINE( 814) _g_index = (_g_index + 1);
+HXDLIN( 814) ::String key = _g_keys->__get((_g_index - 1));
+HXDLIN( 814) ::String _g_value = ( (::String)(::Reflect_obj::field(access,key)) );
+HXLINE( 815) {
+HXLINE( 815) ::String k;
+HXDLIN( 815) if ((key == HX_("",00,00,00,00))) {
+HXLINE( 815) k = null();
}
else {
-HXLINE( 659) k = key;
+HXLINE( 815) k = key;
}
-HXDLIN( 659) ::String _hx_tmp1;
-HXDLIN( 659) if (::hx::IsNull( k )) {
-HXLINE( 659) _hx_tmp1 = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
+HXDLIN( 815) ::String _hx_tmp1;
+HXDLIN( 815) if (::hx::IsNull( k )) {
+HXLINE( 815) _hx_tmp1 = ::borogove::_Chat::Chat_Fields__obj::nullSentinel;
}
else {
-HXLINE( 659) _hx_tmp1 = k;
+HXLINE( 815) _hx_tmp1 = k;
}
-HXDLIN( 659) threadsMap->set(_hx_tmp1,_g_value);
+HXDLIN( 815) threadsMap->set(_hx_tmp1,_g_value);
}
}
}
-HXLINE( 663) ::Dynamic derived = chatData->get( ::Dynamic(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)));
-HXLINE( 664) ::String row1 = ( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
-HXDLIN( 664) bool _hx_tmp2 = ::hx::IsNotEq( row->__Field(HX_("trusted",f7,b7,a6,16),::hx::paccDynamic),0 );
-HXDLIN( 664) bool _hx_tmp3 = ::hx::IsNotEq( row->__Field(HX_("bookmarked",95,fe,f6,fb),::hx::paccDynamic),0 );
-HXDLIN( 664) ::Array< unsigned char > row2 = ( (::Array< unsigned char >)(row->__Field(HX_("avatar_sha1",ab,69,a3,a4),::hx::paccDynamic)) );
-HXDLIN( 664) ::haxe::ds::StringMap _hx_tmp4;
-HXDLIN( 664) ::haxe::ds::StringMap tmp1 = ( ( ::haxe::ds::StringMap)(derived->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) );
-HXDLIN( 664) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 664) _hx_tmp4 = tmp1;
+HXLINE( 819) ::Dynamic derived = chatData->get( ::Dynamic(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)));
+HXLINE( 820) ::String row1 = ( (::String)(row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
+HXDLIN( 820) bool _hx_tmp2 = ::hx::IsNotEq( row->__Field(HX_("trusted",f7,b7,a6,16),::hx::paccDynamic),0 );
+HXDLIN( 820) bool _hx_tmp3 = ::hx::IsNotEq( row->__Field(HX_("bookmarked",95,fe,f6,fb),::hx::paccDynamic),0 );
+HXDLIN( 820) ::Array< unsigned char > row2 = ( (::Array< unsigned char >)(row->__Field(HX_("avatar_sha1",ab,69,a3,a4),::hx::paccDynamic)) );
+HXDLIN( 820) ::haxe::ds::StringMap _hx_tmp4;
+HXDLIN( 820) ::haxe::ds::StringMap tmp1 = ( ( ::haxe::ds::StringMap)(derived->__Field(HX_("presence",3b,52,d7,66),::hx::paccDynamic)) );
+HXDLIN( 820) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 820) _hx_tmp4 = tmp1;
+ }
+ else {
+HXLINE( 820) _hx_tmp4 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+HXDLIN( 820) ::Array< ::Dynamic> _hx_tmp5;
+HXDLIN( 820) if (::hx::IsNotNull( derived )) {
+HXLINE( 820) _hx_tmp5 = ( (::Array< ::Dynamic>)(derived->__Field(HX_("membersForName",1b,56,f2,d2),::hx::paccDynamic)) );
}
else {
-HXLINE( 664) _hx_tmp4 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE( 820) _hx_tmp5 = null();
}
-HXDLIN( 664) ::Array< ::Dynamic> _hx_tmp5;
-HXDLIN( 664) if (::hx::IsNotNull( derived )) {
-HXLINE( 664) _hx_tmp5 = ( (::Array< ::Dynamic>)(derived->__Field(HX_("membersForName",1b,56,f2,d2),::hx::paccDynamic)) );
+HXDLIN( 820) ::String row3 = ( (::String)(row->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
+HXDLIN( 820) ::Dynamic row4 = row->__Field(HX_("ui_state",a6,9a,4e,b2),::hx::paccDynamic);
+HXDLIN( 820) bool _hx_tmp6 = ::hx::IsNotEq( row->__Field(HX_("blocked",ec,7a,fe,44),::hx::paccDynamic),0 );
+HXDLIN( 820) ::Dynamic tmp2 = metaJson->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
+HXDLIN( 820) ::String tmp3;
+HXDLIN( 820) if (::hx::IsNotNull( tmp2 )) {
+HXLINE( 820) tmp3 = ( (::String)(tmp2->__Field(HX_("emoji",86,6f,d9,6f),::hx::paccDynamic)) );
}
else {
-HXLINE( 664) _hx_tmp5 = null();
+HXLINE( 820) tmp3 = null();
}
-HXDLIN( 664) ::String row3 = ( (::String)(row->__Field(HX_("fn",48,59,00,00),::hx::paccDynamic)) );
-HXDLIN( 664) ::Dynamic row4 = row->__Field(HX_("ui_state",a6,9a,4e,b2),::hx::paccDynamic);
-HXDLIN( 664) bool _hx_tmp6 = ::hx::IsNotEq( row->__Field(HX_("blocked",ec,7a,fe,44),::hx::paccDynamic),0 );
-HXDLIN( 664) ::Dynamic tmp2 = metaJson->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
-HXDLIN( 664) ::String tmp3;
-HXDLIN( 664) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 664) tmp3 = ( (::String)(tmp2->__Field(HX_("emoji",86,6f,d9,6f),::hx::paccDynamic)) );
+HXDLIN( 820) ::String _hx_tmp7;
+HXDLIN( 820) if (::hx::IsNotNull( tmp3 )) {
+HXLINE( 820) _hx_tmp7 = tmp3;
}
else {
-HXLINE( 664) tmp3 = null();
+HXLINE( 820) _hx_tmp7 = HX_("",00,00,00,00);
}
-HXDLIN( 664) ::String _hx_tmp7;
-HXDLIN( 664) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 664) _hx_tmp7 = tmp3;
+HXDLIN( 820) ::Dynamic tmp4 = metaJson->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
+HXDLIN( 820) ::String tmp5;
+HXDLIN( 820) if (::hx::IsNotNull( tmp4 )) {
+HXLINE( 820) tmp5 = ( (::String)(tmp4->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
}
else {
-HXLINE( 664) _hx_tmp7 = HX_("",00,00,00,00);
+HXLINE( 820) tmp5 = null();
}
-HXDLIN( 664) ::Dynamic tmp4 = metaJson->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic);
-HXDLIN( 664) ::String tmp5;
-HXDLIN( 664) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 664) tmp5 = ( (::String)(tmp4->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) );
+HXDLIN( 820) ::String _hx_tmp8;
+HXDLIN( 820) if (::hx::IsNotNull( tmp5 )) {
+HXLINE( 820) _hx_tmp8 = tmp5;
}
else {
-HXLINE( 664) tmp5 = null();
+HXLINE( 820) _hx_tmp8 = HX_("",00,00,00,00);
}
-HXDLIN( 664) ::String _hx_tmp8;
-HXDLIN( 664) if (::hx::IsNotNull( tmp5 )) {
-HXLINE( 664) _hx_tmp8 = tmp5;
+HXDLIN( 820) ::borogove::Status _hx_tmp9 = ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp7,_hx_tmp8);
+HXDLIN( 820) ::borogove::Stanza _hx_tmp10;
+HXDLIN( 820) if (::hx::IsNull( row->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic) )) {
+HXLINE( 820) _hx_tmp10 = null();
}
else {
-HXLINE( 664) _hx_tmp8 = HX_("",00,00,00,00);
+HXLINE( 820) _hx_tmp10 = ::borogove::Stanza_obj::parse(( (::String)(row->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic)) ));
}
-HXDLIN( 664) ::borogove::Status _hx_tmp9 = ::borogove::Status_obj::__alloc( HX_CTX ,_hx_tmp7,_hx_tmp8);
-HXDLIN( 664) ::String row5 = ( (::String)(row->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic)) );
-HXDLIN( 664) ::String row6 = ( (::String)(row->__Field(HX_("read_up_to_id",84,60,ad,9e),::hx::paccDynamic)) );
-HXDLIN( 664) ::String row7 = ( (::String)(row->__Field(HX_("read_up_to_by",80,5a,ad,9e),::hx::paccDynamic)) );
-HXDLIN( 664) ::Dynamic _hx_tmp10;
-HXDLIN( 664) if (::hx::IsNull( row->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic) )) {
-HXLINE( 664) _hx_tmp10 = null();
+HXDLIN( 820) ::String row5 = ( (::String)(row->__Field(HX_("read_up_to_id",84,60,ad,9e),::hx::paccDynamic)) );
+HXDLIN( 820) ::String row6 = ( (::String)(row->__Field(HX_("read_up_to_by",80,5a,ad,9e),::hx::paccDynamic)) );
+HXDLIN( 820) ::Dynamic _hx_tmp11;
+HXDLIN( 820) if (::hx::IsNull( row->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic) )) {
+HXLINE( 820) _hx_tmp11 = null();
}
else {
-HXLINE( 664) _hx_tmp10 = ::hx::IsNotEq( row->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic),0 );
+HXLINE( 820) _hx_tmp11 = ::hx::IsNotEq( row->__Field(HX_("notifications_filtered",4e,91,57,51),::hx::paccDynamic),0 );
}
-HXDLIN( 664) bool _hx_tmp11 = ::hx::IsNotEq( row->__Field(HX_("notify_mention",34,44,26,d0),::hx::paccDynamic),0 );
-HXDLIN( 664) bool _hx_tmp12 = ::hx::IsNotEq( row->__Field(HX_("notify_reply",f4,e7,df,1b),::hx::paccDynamic),0 );
-HXDLIN( 664) ::borogove::Caps row8 = ( ( ::borogove::Caps)(row->__Field(HX_("capsObj",56,b6,8b,a6),::hx::paccDynamic)) );
-HXDLIN( 664) ::String metaJson1 = ( (::String)(metaJson->__Field(HX_("mavUntil",9c,52,56,84),::hx::paccDynamic)) );
-HXDLIN( 664) chats->push( ::borogove::SerializedChat_obj::__alloc( HX_CTX ,row1,_hx_tmp2,_hx_tmp3,row2,_hx_tmp4,_hx_tmp5,row3,row4,_hx_tmp6,_hx_tmp9,row5,row6,row7,_hx_tmp10,_hx_tmp11,_hx_tmp12,threadsMap,row8,metaJson1,::Array_obj< int >::__new(0),( (::String)(::Reflect_obj::field(row,HX_("class",38,78,58,48))) )));
+HXDLIN( 820) bool _hx_tmp12 = ::hx::IsNotEq( row->__Field(HX_("notify_mention",34,44,26,d0),::hx::paccDynamic),0 );
+HXDLIN( 820) bool _hx_tmp13 = ::hx::IsNotEq( row->__Field(HX_("notify_reply",f4,e7,df,1b),::hx::paccDynamic),0 );
+HXDLIN( 820) ::borogove::Caps row7 = ( ( ::borogove::Caps)(row->__Field(HX_("capsObj",56,b6,8b,a6),::hx::paccDynamic)) );
+HXDLIN( 820) ::String metaJson1 = ( (::String)(metaJson->__Field(HX_("mavUntil",9c,52,56,84),::hx::paccDynamic)) );
+HXDLIN( 820) chats->push( ::borogove::SerializedChat_obj::__alloc( HX_CTX ,row1,_hx_tmp2,_hx_tmp3,row2,_hx_tmp4,_hx_tmp5,row3,row4,_hx_tmp6,_hx_tmp9,_hx_tmp10,row5,row6,_hx_tmp11,_hx_tmp12,_hx_tmp13,threadsMap,row7,metaJson1,::Array_obj< int >::__new(0),( (::String)(::Reflect_obj::field(row,HX_("class",38,78,58,48))) )));
}
}
-HXLINE( 666) return chats;
+HXLINE( 822) return chats;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_648_getChats)
-HXLINE( 649) ::Array< ::Dynamic> rows = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_804_getChats)
+HXLINE( 805) ::Array< ::Dynamic> rows = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(result)))));
-HXLINE( 650) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->chatPresenceAndMembersForName(accountId,rows), ::Dynamic(new _hx_Closure_1(_gthis,rows)),null());
+HXLINE( 806) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->chatPresenceAndMembersForName(accountId,rows), ::Dynamic(new _hx_Closure_1(_gthis,rows)),null());
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_644_getChats)
-HXDLIN( 644) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 645) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT chat_id, trusted, bookmarked, avatar_sha1, fn, ui_state, blocked, extensions, read_up_to_id, read_up_to_by, notifications_filtered, notify_mention, notify_reply, json(caps) AS caps, caps_ver, json(meta) AS meta, class FROM chats LEFT JOIN caps ON chats.caps_ver=caps.sha1 WHERE account_id=?",3b,68,96,e9),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_800_getChats)
+HXDLIN( 800) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 801) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT chat_id, trusted, bookmarked, avatar_sha1, fn, ui_state, blocked, extensions, read_up_to_id, read_up_to_by, notifications_filtered, notify_mention, notify_reply, json(caps) AS caps, caps_ver, json(meta) AS meta, class FROM chats LEFT JOIN caps ON chats.caps_ver=caps.sha1 WHERE account_id=?",3b,68,96,e9),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getChats,return )
::Dynamic Sqlite_obj::storeMessages(::String accountId,::Array< ::Dynamic> messages){
- HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_3,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,replyTos,::String,accountId) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_2,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(0)
::Dynamic _hx_run(){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_713_storeMessages)
-HXLINE( 713) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
-HXDLIN( 713) {
-HXLINE( 713) int _g = 0;
-HXDLIN( 713) int _g1 = messages->length;
-HXDLIN( 713) while((_g < _g1)){
-HXLINE( 713) _g = (_g + 1);
-HXDLIN( 713) int i = (_g - 1);
-HXDLIN( 713) {
-HXLINE( 713) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
-HXDLIN( 713) ::Dynamic inValue = _gthis->fetchFromStub(accountId,m);
-HXDLIN( 713) result->__unsafe_set(i,inValue);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_855_storeMessages)
+HXLINE( 859) ::Array< ::Dynamic> combinedMessages = ::borogove::ChatMessageCombiner_obj::combine(messages);
+HXLINE( 860) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(combinedMessages->length);
+HXDLIN( 860) {
+HXLINE( 860) int _g = 0;
+HXDLIN( 860) int _g1 = combinedMessages->length;
+HXDLIN( 860) while((_g < _g1)){
+HXLINE( 860) _g = (_g + 1);
+HXDLIN( 860) int i = (_g - 1);
+HXDLIN( 860) {
+HXLINE( 860) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(combinedMessages,i)) );
+HXDLIN( 860) ::Dynamic inValue = _gthis->fetchFromStub(accountId,m);
+HXDLIN( 860) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 713) return ::thenshim::PromiseTools_obj::all(result);
+HXDLIN( 860) return ::thenshim::PromiseTools_obj::all(result);
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,replyTos,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> ms){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_715_storeMessages)
-HXLINE( 715) return _gthis->hydrateReplyTo(accountId,ms,replyTos);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> ms){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_717_storeMessages)
-HXLINE( 717) return _gthis->hydrateReactions(accountId,ms);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_862_storeMessages)
+HXLINE( 862) return _gthis->messagesLoadMeta(accountId,ms);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_699_storeMessages)
-HXLINE( 699) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
-HXLINE( 700) ::Array< ::String > result = ::Array_obj< ::String >::__new(messages->length);
-HXDLIN( 700) {
-HXLINE( 700) int _g = 0;
-HXDLIN( 700) int _g1 = messages->length;
-HXDLIN( 700) while((_g < _g1)){
-HXLINE( 700) _g = (_g + 1);
-HXDLIN( 700) int i = (_g - 1);
-HXDLIN( 700) {
-HXLINE( 700) _hx_array_unsafe_get(messages,i);
-HXDLIN( 700) result->__unsafe_set(i,HX_("(?,?,?,?,?,?,?,?,CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER),?,?,?,?,?,?)",30,21,d1,bd));
- }
- }
- }
-HXDLIN( 700) ::String _hx_tmp = (HX_("INSERT OR REPLACE INTO messages VALUES ",28,32,a2,bc) + result->join(HX_(",",2c,00,00,00)));
-HXLINE( 701) ::Array< ::Dynamic> _g2 = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 701) {
-HXLINE( 701) int _g_current = 0;
-HXDLIN( 701) ::Array< ::Dynamic> _g_array = messages;
-HXDLIN( 701) while((_g_current < _g_array->length)){
-HXLINE( 701) _g_current = (_g_current + 1);
-HXDLIN( 701) ::borogove::ChatMessage x = _g_array->__get((_g_current - 1)).StaticCast< ::borogove::ChatMessage >();
-HXLINE( 703) ::borogove::ChatMessage message;
-HXDLIN( 703) if ((x->versions->length == 1)) {
-HXLINE( 703) message = x->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
- }
- else {
-HXLINE( 703) message = x;
- }
-HXLINE( 705) ::String accountId1 = accountId;
-HXDLIN( 705) ::String _hx_tmp1;
-HXDLIN( 705) ::String tmp = message->serverId;
-HXDLIN( 705) if (::hx::IsNotNull( tmp )) {
-HXLINE( 705) _hx_tmp1 = tmp;
- }
- else {
-HXLINE( 705) _hx_tmp1 = HX_("",00,00,00,00);
- }
-HXDLIN( 705) ::String _hx_tmp2;
-HXDLIN( 705) ::String tmp1 = message->serverIdBy;
-HXDLIN( 705) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 705) _hx_tmp2 = tmp1;
- }
- else {
-HXLINE( 705) _hx_tmp2 = HX_("",00,00,00,00);
- }
-HXLINE( 706) ::String _hx_tmp3;
-HXDLIN( 706) ::String tmp2 = message->localId;
-HXDLIN( 706) if (::hx::IsNotNull( tmp2 )) {
-HXLINE( 706) _hx_tmp3 = tmp2;
- }
- else {
-HXLINE( 706) _hx_tmp3 = HX_("",00,00,00,00);
- }
-HXDLIN( 706) ::String _hx_tmp4;
-HXDLIN( 706) ::String tmp3 = x->callSid();
-HXDLIN( 706) ::String tmp4;
-HXDLIN( 706) if (::hx::IsNotNull( tmp3 )) {
-HXLINE( 706) tmp4 = tmp3;
- }
- else {
-HXLINE( 706) tmp4 = x->localId;
- }
-HXDLIN( 706) if (::hx::IsNotNull( tmp4 )) {
-HXLINE( 706) _hx_tmp4 = tmp4;
- }
- else {
-HXLINE( 706) _hx_tmp4 = x->serverId;
- }
-HXDLIN( 706) bool correctable = x->syncPoint;
-HXLINE( 707) ::String _hx_tmp5 = x->chatId();
-HXDLIN( 707) ::String correctable1 = x->senderId;
-HXLINE( 708) ::String message1 = message->timestamp;
-HXDLIN( 708) int message2 = message->status;
-HXDLIN( 708) int message3 = message->direction;
-HXDLIN( 708) int message4 = message->type;
-HXLINE( 709) ::String _hx_tmp6 = message->asStanza()->toString();
-HXLINE( 701) _g2->push(::cpp::VirtualArray_obj::__new(15)->init(0,accountId1)->init(1,_hx_tmp1)->init(2,_hx_tmp2)->init(3,_hx_tmp3)->init(4,_hx_tmp4)->init(5,correctable)->init(6,_hx_tmp5)->init(7,correctable1)->init(8,message1)->init(9,message2)->init(10,message3)->init(11,message4)->init(12,_hx_tmp6)->init(13,message->statusText)->init(14,message->sortId));
- }
- }
-HXDLIN( 701) ::cpp::VirtualArray _g3 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN( 701) {
-HXLINE( 701) ::Dynamic e = _g2->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 701) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 701) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 701) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 701) _g3->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
- }
- }
- }
-HXLINE( 699) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(_hx_tmp,_g3), ::Dynamic(new _hx_Closure_0(messages,_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_1(_gthis,replyTos,accountId)),null()), ::Dynamic(new _hx_Closure_2(_gthis,accountId)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_855_storeMessages)
+HXLINE( 855) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_gthis->insertMessages(accountId,messages), ::Dynamic(new _hx_Closure_0(messages,_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
}
HX_END_LOCAL_FUNC0(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_672_storeMessages)
-HXDLIN( 672) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 673) if ((messages->length < 1)) {
-HXLINE( 674) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
- }
-HXLINE( 677) ::Array< ::String > chatIds = ::Array_obj< ::String >::__new(0);
-HXLINE( 678) ::Array< ::String > localIds = ::Array_obj< ::String >::__new(0);
-HXLINE( 679) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 680) {
-HXLINE( 680) int _g = 0;
-HXDLIN( 680) while((_g < messages->length)){
-HXLINE( 680) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
-HXDLIN( 680) _g = (_g + 1);
-HXLINE( 681) if (::hx::IsNull( message->sortId )) {
-HXLINE( 681) HX_STACK_DO_THROW(HX_("Cannot store a message with no sortId",d2,b4,dc,b7));
- }
-HXLINE( 682) bool _hx_tmp;
-HXDLIN( 682) if (::hx::IsNull( message->serverId )) {
-HXLINE( 682) _hx_tmp = ::hx::IsNull( message->localId );
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_828_storeMessages)
+HXDLIN( 828) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 829) if ((messages->length < 1)) {
+HXLINE( 830) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+ }
+HXLINE( 833) ::Array< ::String > chatIds = ::Array_obj< ::String >::__new(0);
+HXLINE( 834) ::Array< ::String > localIds = ::Array_obj< ::String >::__new(0);
+HXLINE( 835) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 836) {
+HXLINE( 836) int _g = 0;
+HXDLIN( 836) while((_g < messages->length)){
+HXLINE( 836) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN( 836) _g = (_g + 1);
+HXLINE( 837) if (::hx::IsNull( message->sortId )) {
+HXLINE( 837) HX_STACK_DO_THROW(HX_("Cannot store a message with no sortId",d2,b4,dc,b7));
+ }
+HXLINE( 838) bool _hx_tmp;
+HXDLIN( 838) if (::hx::IsNull( message->serverId )) {
+HXLINE( 838) _hx_tmp = ::hx::IsNull( message->localId );
}
else {
-HXLINE( 682) _hx_tmp = false;
+HXLINE( 838) _hx_tmp = false;
}
-HXDLIN( 682) if (_hx_tmp) {
-HXLINE( 682) HX_STACK_DO_THROW(HX_("Cannot store a message with no id",54,e5,b0,de));
+HXDLIN( 838) if (_hx_tmp) {
+HXLINE( 838) HX_STACK_DO_THROW(HX_("Cannot store a message with no id",54,e5,b0,de));
}
-HXLINE( 683) bool _hx_tmp1;
-HXDLIN( 683) if (::hx::IsNull( message->serverId )) {
-HXLINE( 683) _hx_tmp1 = message->isIncoming();
+HXLINE( 839) bool _hx_tmp1;
+HXDLIN( 839) if (::hx::IsNull( message->serverId )) {
+HXLINE( 839) _hx_tmp1 = message->isIncoming();
}
else {
-HXLINE( 683) _hx_tmp1 = false;
+HXLINE( 839) _hx_tmp1 = false;
}
-HXDLIN( 683) if (_hx_tmp1) {
-HXLINE( 683) HX_STACK_DO_THROW(HX_("Cannot store an incoming message with no server id",d7,6d,19,fb));
+HXDLIN( 839) if (_hx_tmp1) {
+HXLINE( 839) HX_STACK_DO_THROW(HX_("Cannot store an incoming message with no server id",d7,6d,19,fb));
}
-HXLINE( 684) bool _hx_tmp2;
-HXDLIN( 684) if (::hx::IsNotNull( message->serverId )) {
-HXLINE( 684) _hx_tmp2 = ::hx::IsNull( message->serverIdBy );
+HXLINE( 840) bool _hx_tmp2;
+HXDLIN( 840) if (::hx::IsNotNull( message->serverId )) {
+HXLINE( 840) _hx_tmp2 = ::hx::IsNull( message->serverIdBy );
}
else {
-HXLINE( 684) _hx_tmp2 = false;
+HXLINE( 840) _hx_tmp2 = false;
}
-HXDLIN( 684) if (_hx_tmp2) {
-HXLINE( 684) HX_STACK_DO_THROW(HX_("Cannot store a message with a server id and no by",00,9f,b7,38));
+HXDLIN( 840) if (_hx_tmp2) {
+HXLINE( 840) HX_STACK_DO_THROW(HX_("Cannot store a message with a server id and no by",00,9f,b7,38));
}
-HXLINE( 686) bool _hx_tmp3;
-HXDLIN( 686) if (!(message->isIncoming())) {
-HXLINE( 686) _hx_tmp3 = (message->versions->length < 1);
+HXLINE( 842) bool _hx_tmp3;
+HXDLIN( 842) if (!(message->isIncoming())) {
+HXLINE( 842) _hx_tmp3 = (message->versions->length < 1);
}
else {
-HXLINE( 686) _hx_tmp3 = false;
+HXLINE( 842) _hx_tmp3 = false;
}
-HXDLIN( 686) if (_hx_tmp3) {
-HXLINE( 689) chatIds->push(message->chatId());
-HXLINE( 690) localIds->push(message->localId);
+HXDLIN( 842) if (_hx_tmp3) {
+HXLINE( 845) chatIds->push(message->chatId());
+HXLINE( 846) localIds->push(message->localId);
}
-HXLINE( 692) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 693) ::Array< ::Dynamic> replyTos1 = replyTos;
-HXDLIN( 693) ::String _hx_tmp4 = message->chatId();
-HXDLIN( 693) replyTos1->push( ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 848) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE( 849) ::String _hx_tmp4 = message->chatId();
+HXDLIN( 849) replyTos->push( ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp4)
->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId)));
}
}
}
-HXLINE( 697) return this->storeMessagesSerialized->run( ::Dynamic(new _hx_Closure_3(messages,_gthis,replyTos,accountId)));
+HXLINE( 853) return this->storeMessagesSerialized->run( ::Dynamic(new _hx_Closure_2(messages,_gthis,accountId)));
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeMessages,return )
void Sqlite_obj::updateMessage(::String accountId, ::borogove::ChatMessage message){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_726_updateMessage)
-HXDLIN( 726) this->storeMessages(accountId,::Array_obj< ::Dynamic>::__new(1)->init(0,message));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_871_updateMessage)
+HXDLIN( 871) this->storeMessages(accountId,::Array_obj< ::Dynamic>::__new(1)->init(0,message));
}
@@ -2126,44 +2295,44 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,updateMessage,(void))
::Dynamic Sqlite_obj::fetchFromStub(::String accountId, ::borogove::ChatMessage stub){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId, ::borogove::ChatMessage,stub) HXARGC(1)
::borogove::ChatMessage _hx_run( ::haxe::iterators::ArrayIterator results){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_760_fetchFromStub)
-HXLINE( 761) ::Dynamic row = results->array->__get(results->current++);
-HXLINE( 762) if (::hx::IsNull( row )) {
-HXLINE( 762) return stub;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_898_fetchFromStub)
+HXLINE( 899) ::Dynamic row = results->array->__get(results->current++);
+HXLINE( 900) if (::hx::IsNull( row )) {
+HXLINE( 900) return stub;
}
-HXLINE( 763) return _gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(1)->init(0,row)))->__get(0).StaticCast< ::borogove::ChatMessage >();
+HXLINE( 901) return _gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::Array_obj< ::Dynamic>::__new(1)->init(0,row)))->__get(0).StaticCast< ::borogove::ChatMessage >();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_729_fetchFromStub)
-HXDLIN( 729) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 730) ::String q = HX_("SELECT\n\t\t\tcorrection_id AS stanza_id,\n\t\t\tversions.stanza,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, strftime('%FT%H:%M:%fZ', versions.created_at / 1000.0, 'unixepoch')) AS version_times,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, versions.stanza) AS versions,\n\t\t\tmessages.direction,\n\t\t\tmessages.type,\n\t\t\tmessages.status,\n\t\t\tmessages.status_text,\n\t\t\tstrftime('%FT%H:%M:%fZ', messages.created_at / 1000.0, 'unixepoch') AS timestamp,\n\t\t\tmessages.sender_id,\n\t\t\tmessages.mam_id,\n\t\t\tmessages.mam_by,\n\t\t\tmessages.sort_id,\n\t\t\tmessages.sync_point,\n\t\t\tMAX(versions.created_at)\n\t\t\tFROM messages INNER JOIN messages versions USING (correction_id, sender_id) WHERE messages.account_id=? AND messages.chat_id=? AND (messages.stanza_id IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id)",78,38,82,d4);
-HXLINE( 747) ::String accountId1 = accountId;
-HXDLIN( 747) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId1)->init(1,stub->chatId());
-HXLINE( 748) bool _hx_tmp;
-HXDLIN( 748) if ((stub->versions->length <= 0)) {
-HXLINE( 748) _hx_tmp = ::hx::IsNull( stub->serverId );
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_874_fetchFromStub)
+HXDLIN( 874) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 875) ::String q = ((HX_("\n\t\t\tSELECT\n\t\t\t\t",4f,6c,f2,53) + this->versionedMessageColumns) + HX_("\n\t\t\tFROM messages\n\t\t\tINNER JOIN messages versions USING (correction_id, sender_id)\n\t\t\tWHERE\n\t\t\t\tmessages.account_id=?\n\t\t\t\tAND messages.chat_id=?\n\t\t\t\tAND (messages.stanza_id IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id)\n\t\t",7f,0c,2a,d3));
+HXLINE( 885) ::String accountId1 = accountId;
+HXDLIN( 885) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId1)->init(1,stub->chatId());
+HXLINE( 886) bool _hx_tmp;
+HXDLIN( 886) if ((stub->versions->length <= 0)) {
+HXLINE( 886) _hx_tmp = ::hx::IsNull( stub->serverId );
}
else {
-HXLINE( 748) _hx_tmp = true;
+HXLINE( 886) _hx_tmp = true;
}
-HXDLIN( 748) if (_hx_tmp) {
-HXLINE( 749) q = (HX_("SELECT\n\t\t\tcorrection_id AS stanza_id,\n\t\t\tversions.stanza,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, strftime('%FT%H:%M:%fZ', versions.created_at / 1000.0, 'unixepoch')) AS version_times,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, versions.stanza) AS versions,\n\t\t\tmessages.direction,\n\t\t\tmessages.type,\n\t\t\tmessages.status,\n\t\t\tmessages.status_text,\n\t\t\tstrftime('%FT%H:%M:%fZ', messages.created_at / 1000.0, 'unixepoch') AS timestamp,\n\t\t\tmessages.sender_id,\n\t\t\tmessages.mam_id,\n\t\t\tmessages.mam_by,\n\t\t\tmessages.sort_id,\n\t\t\tmessages.sync_point,\n\t\t\tMAX(versions.created_at)\n\t\t\tFROM messages INNER JOIN messages versions USING (correction_id, sender_id) WHERE messages.account_id=? AND messages.chat_id=? AND (messages.stanza_id IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id)",78,38,82,d4) + HX_(" AND correction_id=? AND sender_id=?",f3,c6,24,29));
-HXLINE( 750) params->push(stub->localId);
-HXLINE( 751) params->push(stub->senderId);
+HXDLIN( 886) if (_hx_tmp) {
+HXLINE( 887) q = (q + HX_(" AND correction_id=? AND sender_id=?",f3,c6,24,29));
+HXLINE( 888) params->push(stub->localId);
+HXLINE( 889) params->push(stub->senderId);
}
else {
-HXLINE( 752) if (::hx::IsNotNull( stub->serverId )) {
-HXLINE( 753) q = (HX_("SELECT\n\t\t\tcorrection_id AS stanza_id,\n\t\t\tversions.stanza,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, strftime('%FT%H:%M:%fZ', versions.created_at / 1000.0, 'unixepoch')) AS version_times,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, versions.stanza) AS versions,\n\t\t\tmessages.direction,\n\t\t\tmessages.type,\n\t\t\tmessages.status,\n\t\t\tmessages.status_text,\n\t\t\tstrftime('%FT%H:%M:%fZ', messages.created_at / 1000.0, 'unixepoch') AS timestamp,\n\t\t\tmessages.sender_id,\n\t\t\tmessages.mam_id,\n\t\t\tmessages.mam_by,\n\t\t\tmessages.sort_id,\n\t\t\tmessages.sync_point,\n\t\t\tMAX(versions.created_at)\n\t\t\tFROM messages INNER JOIN messages versions USING (correction_id, sender_id) WHERE messages.account_id=? AND messages.chat_id=? AND (messages.stanza_id IS NULL OR messages.stanza_id='' OR messages.stanza_id=correction_id)",78,38,82,d4) + HX_(" AND messages.mam_id=? AND messages.mam_by=?",74,6f,fe,39));
-HXLINE( 754) params->push(stub->serverId);
-HXLINE( 755) params->push(stub->serverIdBy);
+HXLINE( 890) if (::hx::IsNotNull( stub->serverId )) {
+HXLINE( 891) q = (q + HX_(" AND messages.mam_id=? AND messages.mam_by=?",74,6f,fe,39));
+HXLINE( 892) params->push(stub->serverId);
+HXLINE( 893) params->push(stub->serverIdBy);
}
else {
-HXLINE( 757) HX_STACK_DO_THROW(HX_("No way to look up this message",be,4b,a4,e7));
+HXLINE( 895) HX_STACK_DO_THROW(HX_("No way to look up this message",be,4b,a4,e7));
}
}
-HXLINE( 759) q = (q + HX_(" GROUP BY correction_id, CASE WHEN messages.type=? THEN 'call' ELSE messages.sender_id END",8a,13,81,0f));
-HXLINE( 760) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId,stub)),null());
+HXLINE( 897) q = (q + HX_(" GROUP BY correction_id, CASE WHEN messages.type=? THEN 'call' ELSE messages.sender_id END",8a,13,81,0f));
+HXLINE( 898) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId,stub)),null());
}
@@ -2171,99 +2340,41 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,fetchFromStub,return )
::Dynamic Sqlite_obj::getMessage(::String accountId,::String chatId,::String serverId,::String localId){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_787_getMessage)
-HXLINE( 787) return _gthis->hydrateMessages(accountId,result);
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_930_getMessage)
+HXLINE( 930) return _gthis->hydrateMessagesAndLoadMeta(accountId,result);
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_4, ::borogove::persistence::Sqlite,_gthis,::String,chatId,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
- ::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> items){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_794_getMessage)
-HXLINE( 794) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 794) {
-HXLINE( 794) int _g_current = 0;
-HXDLIN( 794) while((_g_current < items->length)){
-HXLINE( 794) _g_current = (_g_current + 1);
-HXDLIN( 794) {
-HXLINE( 794) ::Dynamic x = items->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 794) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 794) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
- }
- }
- }
- }
-HXDLIN( 794) return _g;
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
- ::borogove::ChatMessage _hx_run(::Array< ::Dynamic> items){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_794_getMessage)
-HXLINE( 794) if ((items->length > 0)) {
-HXLINE( 794) return items->__get(0).StaticCast< ::borogove::ChatMessage >();
- }
- else {
-HXLINE( 794) return null();
- }
-HXDLIN( 794) return null();
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ ::borogove::ChatMessage _hx_run(::Array< ::Dynamic> ms){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_930_getMessage)
+HXLINE( 930) if ((ms->length > 0)) {
+HXLINE( 930) return ms->__get(0).StaticCast< ::borogove::ChatMessage >();
}
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_788_getMessage)
-HXLINE( 788) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
-HXDLIN( 788) {
-HXLINE( 788) int _g = 0;
-HXDLIN( 788) int _g1 = messages->length;
-HXDLIN( 788) while((_g < _g1)){
-HXLINE( 788) _g = (_g + 1);
-HXDLIN( 788) int i = (_g - 1);
-HXDLIN( 788) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_793_getMessage)
-HXLINE( 793) return _gthis->hydrateReactions(accountId,messages);
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 789) ::borogove::ChatMessage message = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
-HXDLIN( 789) ::Dynamic inValue;
-HXDLIN( 789) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 789) inValue = _gthis->hydrateReplyTo(accountId,::Array_obj< ::Dynamic>::__new(1)->init(0,message),::Array_obj< ::Dynamic>::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),chatId)
- ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
- ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId))));
- }
- else {
-HXLINE( 789) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
- }
-HXLINE( 788) ::Dynamic inValue1 = ::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
-HXDLIN( 788) result->__unsafe_set(i,inValue1);
- }
- }
+ else {
+HXLINE( 930) return null();
}
-HXDLIN( 788) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(result), ::Dynamic(new _hx_Closure_2()),null()), ::Dynamic(new _hx_Closure_3()),null());
+HXDLIN( 930) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_776_getMessage)
-HXDLIN( 776) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 777) ::String q = HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND chat_id=?",45,be,36,89);
-HXLINE( 778) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
-HXLINE( 779) if (::hx::IsNotNull( serverId )) {
-HXLINE( 780) q = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND chat_id=?",45,be,36,89) + HX_(" AND mam_id=?",4c,af,2b,c9));
-HXLINE( 781) params->push(serverId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_914_getMessage)
+HXDLIN( 914) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 915) ::String q = ((HX_("\n\t\t\tSELECT\n\t\t\t\t",4f,6c,f2,53) + ::borogove::persistence::Sqlite_obj::messageColumnsString(null())) + HX_("\n\t\t\tFROM messages\n\t\t\tWHERE account_id=? AND chat_id=?\n\t\t",e5,a9,f2,12));
+HXLINE( 921) ::Array< ::String > params = ::Array_obj< ::String >::__new(2)->init(0,accountId)->init(1,chatId);
+HXLINE( 922) if (::hx::IsNotNull( serverId )) {
+HXLINE( 923) q = (q + HX_(" AND mam_id=?",4c,af,2b,c9));
+HXLINE( 924) params->push(serverId);
}
else {
-HXLINE( 782) if (::hx::IsNotNull( localId )) {
-HXLINE( 783) q = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND chat_id=?",45,be,36,89) + HX_(" AND stanza_id=?",be,a8,32,e3));
-HXLINE( 784) params->push(localId);
+HXLINE( 925) if (::hx::IsNotNull( localId )) {
+HXLINE( 926) q = (q + HX_(" AND stanza_id=?",be,a8,32,e3));
+HXLINE( 927) params->push(localId);
}
}
-HXLINE( 786) q = (q + HX_("LIMIT 1",ec,af,c7,0e));
-HXLINE( 787) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_4(_gthis,chatId,accountId)),null());
+HXLINE( 929) q = (q + HX_("LIMIT 1",ec,af,c7,0e));
+HXLINE( 930) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q,params), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_1()),null());
}
@@ -2313,289 +2424,260 @@ HXDLIN( 365) ::thenshim::_Promise::Promise_Impl__obj::then(this->getMessage(ac
::Dynamic Sqlite_obj::getMessages(::String accountId,::String chatId,::String sortId,::String op,::hx::Null< bool > __o_useTimestamp,::String timestamp){
HX_BEGIN_LOCAL_FUNC_S6(::hx::LocalFunc,_hx_Closure_2,::Array< ::String >,q, ::borogove::persistence::Sqlite,_gthis,::String,op,::String,chatId,::String,timestamp,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_842_getMessages)
-HXLINE( 843) ::Array< ::Dynamic> messages = _gthis->hydrateMessages(accountId,result);
-HXLINE( 844) bool _hx_tmp;
-HXDLIN( 844) if ((messages->length > 0)) {
-HXLINE( 844) _hx_tmp = (messages->__get(0).StaticCast< ::borogove::ChatMessage >()->serverIdBy == chatId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_971_getMessages)
+HXLINE( 972) ::Array< ::Dynamic> messages = _gthis->hydrateMessages(accountId,result);
+HXLINE( 973) bool _hx_tmp;
+HXDLIN( 973) if ((messages->length > 0)) {
+HXLINE( 973) _hx_tmp = (messages->__get(0).StaticCast< ::borogove::ChatMessage >()->serverIdBy == chatId);
}
else {
-HXLINE( 844) _hx_tmp = false;
+HXLINE( 973) _hx_tmp = false;
}
-HXDLIN( 844) if (_hx_tmp) {
+HXDLIN( 973) if (_hx_tmp) {
HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::String,op,::String,boundary,::String,accountId) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator pmResult){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_865_getMessages)
-HXLINE( 866) ::Array< ::Dynamic> pms = _gthis->hydrateMessages(accountId,pmResult);
-HXLINE( 867) {
-HXLINE( 867) int _g = 0;
-HXDLIN( 867) while((_g < pms->length)){
-HXLINE( 867) ::borogove::ChatMessage pm = pms->__get(_g).StaticCast< ::borogove::ChatMessage >();
-HXDLIN( 867) _g = (_g + 1);
-HXLINE( 868) bool _hx_tmp;
-HXDLIN( 868) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 868) _hx_tmp = (op == HX_("<=",81,34,00,00));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_999_getMessages)
+HXLINE(1000) ::Array< ::Dynamic> pms = _gthis->hydrateMessages(accountId,pmResult);
+HXLINE(1001) {
+HXLINE(1001) int _g = 0;
+HXDLIN(1001) while((_g < pms->length)){
+HXLINE(1001) ::borogove::ChatMessage pm = pms->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1001) _g = (_g + 1);
+HXLINE(1002) bool _hx_tmp;
+HXDLIN(1002) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE(1002) _hx_tmp = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 868) _hx_tmp = true;
+HXLINE(1002) _hx_tmp = true;
}
-HXDLIN( 868) if (_hx_tmp) {
+HXDLIN(1002) if (_hx_tmp) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::ChatMessage,pm) HXARGC(1)
bool _hx_run( ::borogove::ChatMessage m){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_869_getMessages)
-HXLINE( 869) return (m->timestamp <= pm->timestamp);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1003_getMessages)
+HXLINE(1003) return (m->timeReceived <= pm->timeReceived);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 869) int idx = ::Lambda_obj::findIndex(messages, ::Dynamic(new _hx_Closure_0(pm)));
-HXLINE( 870) if ((idx >= 0)) {
-HXLINE( 870) messages->insert(idx,pm);
+HXLINE(1003) int idx = ::Lambda_obj::findIndex(messages, ::Dynamic(new _hx_Closure_0(pm)));
+HXLINE(1004) if ((idx >= 0)) {
+HXLINE(1004) messages->insert(idx,pm);
}
}
else {
-HXLINE( 872) int idx1 = (messages->length - 1);
-HXLINE( 873) while((idx1 >= 0)){
-HXLINE( 874) if ((messages->__get(idx1).StaticCast< ::borogove::ChatMessage >()->timestamp < pm->timestamp)) {
-HXLINE( 875) goto _hx_goto_139;
+HXLINE(1006) int idx1 = (messages->length - 1);
+HXLINE(1007) while((idx1 >= 0)){
+HXLINE(1008) if ((messages->__get(idx1).StaticCast< ::borogove::ChatMessage >()->timeReceived < pm->timeReceived)) {
+HXLINE(1009) goto _hx_goto_157;
}
-HXLINE( 877) idx1 = (idx1 - 1);
+HXLINE(1011) idx1 = (idx1 - 1);
}
- _hx_goto_139:;
-HXLINE( 879) if ((idx1 >= 0)) {
-HXLINE( 879) messages->insert((idx1 + 1),pm);
+ _hx_goto_157:;
+HXLINE(1013) if ((idx1 >= 0)) {
+HXLINE(1013) messages->insert((idx1 + 1),pm);
}
-HXLINE( 881) if ((pm->timestamp > boundary)) {
-HXLINE( 881) goto _hx_goto_138;
+HXLINE(1015) if ((pm->timeReceived > boundary)) {
+HXLINE(1015) goto _hx_goto_156;
}
}
}
- _hx_goto_138:;
+ _hx_goto_156:;
}
-HXLINE( 884) return messages;
+HXLINE(1018) return messages;
}
HX_END_LOCAL_FUNC1(return)
-HXLINE( 845) ::String boundary = messages->__get((messages->length - 1)).StaticCast< ::borogove::ChatMessage >()->timestamp;
-HXLINE( 846) ::String pmQ = HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND chat_id=? AND type=?",e0,56,0e,f2);
-HXLINE( 847) ::cpp::VirtualArray pmParams = ::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chatId)->init(2,3);
-HXLINE( 849) if (::hx::IsNotNull( timestamp )) {
-HXLINE( 850) pmQ = (HX_("SELECT stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=? AND chat_id=? AND type=?",e0,56,0e,f2) + ((HX_(" AND messages.created_at ",3d,a0,ae,bb) + op) + HX_(" unixepoch(?, 'subsec') * 1000",87,03,ad,d8)));
-HXLINE( 851) pmParams->push(timestamp);
+HXLINE( 974) ::String boundary = messages->__get((messages->length - 1)).StaticCast< ::borogove::ChatMessage >()->timeReceived;
+HXLINE( 975) ::String pmQ = ((HX_("\n\t\t\t\t\tSELECT\n\t\t\t\t\t\t",4f,c4,b3,5b) + ::borogove::persistence::Sqlite_obj::messageColumnsString(null())) + HX_("\n\t\t\t\t\tFROM messages\n\t\t\t\t\tWHERE account_id=? AND chat_id=? AND type=?\n\t\t\t\t",0a,68,4c,67));
+HXLINE( 981) ::cpp::VirtualArray pmParams = ::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chatId)->init(2,3);
+HXLINE( 983) if (::hx::IsNotNull( timestamp )) {
+HXLINE( 984) pmQ = (pmQ + ((HX_(" AND messages.time_received ",c6,ce,93,07) + op) + HX_(" unixepoch(?, 'subsec') * 1000",87,03,ad,d8)));
+HXLINE( 985) pmParams->push(timestamp);
}
-HXLINE( 854) bool _hx_tmp1;
-HXDLIN( 854) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 854) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
+HXLINE( 988) bool _hx_tmp1;
+HXDLIN( 988) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 988) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 854) _hx_tmp1 = true;
+HXLINE( 988) _hx_tmp1 = true;
}
-HXDLIN( 854) if (_hx_tmp1) {
-HXLINE( 855) pmQ = (pmQ + HX_(" AND messages.created_at > unixepoch(?, 'subsec') * 1000",a8,f2,94,01));
-HXLINE( 856) pmParams->push(boundary);
+HXDLIN( 988) if (_hx_tmp1) {
+HXLINE( 989) pmQ = (pmQ + HX_(" AND messages.time_received > unixepoch(?, 'subsec') * 1000",3f,64,e0,66));
+HXLINE( 990) pmParams->push(boundary);
}
-HXLINE( 861) pmQ = (pmQ + HX_(" ORDER BY messages.created_at",55,af,d5,29));
-HXLINE( 862) bool _hx_tmp2;
-HXDLIN( 862) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 862) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
+HXLINE( 995) pmQ = (pmQ + HX_(" ORDER BY messages.time_received",88,7a,6f,cb));
+HXLINE( 996) bool _hx_tmp2;
+HXDLIN( 996) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 996) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 862) _hx_tmp2 = true;
+HXLINE( 996) _hx_tmp2 = true;
}
-HXDLIN( 862) if (_hx_tmp2) {
-HXLINE( 862) ::Array< ::String > q1 = q;
-HXDLIN( 862) q1[0] = (q1->__get(0) + HX_(" DESC",71,b6,f9,99));
+HXDLIN( 996) if (_hx_tmp2) {
+HXLINE( 996) ::Array< ::String > q1 = q;
+HXDLIN( 996) q1[0] = (q1->__get(0) + HX_(" DESC",71,b6,f9,99));
}
-HXLINE( 863) pmQ = (pmQ + HX_(" LIMIT 50",60,62,1f,3e));
-HXLINE( 865) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(pmQ,pmParams), ::Dynamic(new _hx_Closure_1(messages,_gthis,op,boundary,accountId)),null());
+HXLINE( 997) pmQ = (pmQ + HX_(" LIMIT 50",60,62,1f,3e));
+HXLINE( 999) return ::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(pmQ,pmParams), ::Dynamic(new _hx_Closure_1(messages,_gthis,op,boundary,accountId)),null());
}
-HXLINE( 887) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
+HXLINE(1021) return ::thenshim::_Promise::Promise_Impl__obj::resolve(messages);
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::Sqlite,_gthis,::String,op,::String,accountId) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_888_getMessages)
-HXLINE( 889) bool _hx_tmp;
-HXDLIN( 889) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 889) _hx_tmp = (op == HX_("<=",81,34,00,00));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1022_getMessages)
+HXLINE(1023) bool _hx_tmp;
+HXDLIN(1023) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE(1023) _hx_tmp = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 889) _hx_tmp = true;
- }
-HXDLIN( 889) if (_hx_tmp) {
-HXLINE( 890) messages->reverse();
- }
-HXLINE( 892) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 893) {
-HXLINE( 893) int _g = 0;
-HXDLIN( 893) while((_g < messages->length)){
-HXLINE( 893) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
-HXDLIN( 893) _g = (_g + 1);
-HXLINE( 894) bool _hx_tmp1;
-HXDLIN( 894) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 894) _hx_tmp1 = ::hx::IsNull( message->replyToMessage->stanza );
- }
- else {
-HXLINE( 894) _hx_tmp1 = false;
- }
-HXDLIN( 894) if (_hx_tmp1) {
-HXLINE( 895) ::String _hx_tmp2 = message->chatId();
-HXDLIN( 895) replyTos->push( ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp2)
- ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
- ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId)));
- }
- }
+HXLINE(1023) _hx_tmp = true;
}
-HXLINE( 898) return _gthis->hydrateReplyTo(accountId,messages,replyTos);
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_4, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_899_getMessages)
-HXLINE( 899) return _gthis->hydrateReactions(accountId,messages);
+HXDLIN(1023) if (_hx_tmp) {
+HXLINE(1024) messages->reverse();
+ }
+HXLINE(1026) return _gthis->messagesLoadMeta(accountId,messages);
}
HX_END_LOCAL_FUNC1(return)
bool useTimestamp = __o_useTimestamp.Default(false);
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_798_getMessages)
-HXDLIN( 798) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 799) bool _hx_tmp;
-HXDLIN( 799) if (useTimestamp) {
-HXLINE( 799) _hx_tmp = ::hx::IsNull( timestamp );
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_933_getMessages)
+HXDLIN( 933) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 934) bool _hx_tmp;
+HXDLIN( 934) if (useTimestamp) {
+HXLINE( 934) _hx_tmp = ::hx::IsNull( timestamp );
}
else {
-HXLINE( 799) _hx_tmp = false;
+HXLINE( 934) _hx_tmp = false;
}
-HXDLIN( 799) if (_hx_tmp) {
-HXLINE( 799) HX_STACK_DO_THROW(HX_("Cannot use timestamp without specifying one",9f,88,b9,0a));
+HXDLIN( 934) if (_hx_tmp) {
+HXLINE( 934) HX_STACK_DO_THROW(HX_("Cannot use timestamp without specifying one",9f,88,b9,0a));
}
-HXLINE( 801) ::Array< ::String > q = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_147,1);
-HXLINE( 802) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chatId)->init(2,3);
-HXLINE( 803) if (useTimestamp) {
-HXLINE( 804) ::Array< ::String > q1 = q;
-HXDLIN( 804) q1[0] = (q1->__get(0) + ((HX_(" AND messages.created_at ",3d,a0,ae,bb) + op) + HX_(" unixepoch(?, 'subsec') * 1000",87,03,ad,d8)));
-HXLINE( 805) params->push(timestamp);
-HXLINE( 806) ::Array< ::String > q2 = q;
-HXDLIN( 806) q2[0] = (q2->__get(0) + HX_(" ORDER BY messages.created_at",55,af,d5,29));
+HXLINE( 936) ::Array< ::String > q = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_163,1);
+HXLINE( 937) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(3)->init(0,accountId)->init(1,chatId)->init(2,3);
+HXLINE( 938) if (useTimestamp) {
+HXLINE( 939) ::Array< ::String > q1 = q;
+HXDLIN( 939) q1[0] = (q1->__get(0) + ((HX_(" AND messages.time_received ",c6,ce,93,07) + op) + HX_(" unixepoch(?, 'subsec') * 1000",87,03,ad,d8)));
+HXLINE( 940) params->push(timestamp);
+HXLINE( 941) ::Array< ::String > q2 = q;
+HXDLIN( 941) q2[0] = (q2->__get(0) + HX_(" ORDER BY messages.time_received",88,7a,6f,cb));
}
else {
-HXLINE( 807) if (::hx::IsNotNull( sortId )) {
-HXLINE( 808) ::Array< ::String > q3 = q;
-HXDLIN( 808) q3[0] = (q3->__get(0) + ((HX_(" AND messages.sort_id ",5d,bb,ec,0f) + op) + HX_(" ?",1f,1c,00,00)));
-HXLINE( 809) params->push(sortId);
-HXLINE( 810) ::Array< ::String > q4 = q;
-HXDLIN( 810) q4[0] = (q4->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
+HXLINE( 942) if (::hx::IsNotNull( sortId )) {
+HXLINE( 943) ::Array< ::String > q3 = q;
+HXDLIN( 943) q3[0] = (q3->__get(0) + ((HX_(" AND messages.sort_id ",5d,bb,ec,0f) + op) + HX_(" ?",1f,1c,00,00)));
+HXLINE( 944) params->push(sortId);
+HXLINE( 945) ::Array< ::String > q4 = q;
+HXDLIN( 945) q4[0] = (q4->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
}
else {
-HXLINE( 812) ::Array< ::String > q5 = q;
-HXDLIN( 812) q5[0] = (q5->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
+HXLINE( 947) ::Array< ::String > q5 = q;
+HXDLIN( 947) q5[0] = (q5->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
}
}
-HXLINE( 814) bool _hx_tmp1;
-HXDLIN( 814) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 814) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
+HXLINE( 949) bool _hx_tmp1;
+HXDLIN( 949) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 949) _hx_tmp1 = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 814) _hx_tmp1 = true;
- }
-HXDLIN( 814) if (_hx_tmp1) {
-HXLINE( 814) ::Array< ::String > q6 = q;
-HXDLIN( 814) q6[0] = (q6->__get(0) + HX_(" DESC",71,b6,f9,99));
- }
-HXLINE( 815) ::Array< ::String > q7 = q;
-HXDLIN( 815) q7[0] = (q7->__get(0) + HX_(" LIMIT 50) ",37,de,84,8e));
-HXLINE( 816) ::Array< ::String > q8 = q;
-HXDLIN( 816) q8[0] = (q8->__get(0) + HX_("SELECT\n\t\t\tcorrection_id AS stanza_id,\n\t\t\tversions.stanza,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, strftime('%FT%H:%M:%fZ', versions.created_at / 1000.0, 'unixepoch')) AS version_times,\n\t\t\tjson_group_object(CASE WHEN versions.mam_id IS NULL OR versions.mam_id='' THEN versions.stanza_id ELSE versions.mam_id END, versions.stanza) AS versions,\n\t\t\tmessages.direction,\n\t\t\tmessages.type,\n\t\t\tmessages.status,\n\t\t\tmessages.status_text,\n\t\t\tstrftime('%FT%H:%M:%fZ', messages.created_at / 1000.0, 'unixepoch') AS timestamp,\n\t\t\tmessages.sender_id,\n\t\t\tmessages.mam_id,\n\t\t\tmessages.mam_by,\n\t\t\tmessages.sort_id,\n\t\t\tmessages.sync_point,\n\t\t\tMAX(versions.created_at)\n\t\t\tFROM messages INNER JOIN messages versions USING (correction_id, sender_id) WHERE (messages.stanza_id, messages.mam_id) IN (SELECT * FROM page) AND messages.account_id=? AND messages.chat_id=? GROUP BY correction_id, CASE WHEN messages.type=? THEN 'call' ELSE messages.sender_id END",e9,6c,a5,c8));
-HXLINE( 833) ::Array< ::String > q9 = q;
-HXDLIN( 833) q9[0] = (q9->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
-HXLINE( 834) bool _hx_tmp2;
-HXDLIN( 834) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 834) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
+HXLINE( 949) _hx_tmp1 = true;
+ }
+HXDLIN( 949) if (_hx_tmp1) {
+HXLINE( 949) ::Array< ::String > q6 = q;
+HXDLIN( 949) q6[0] = (q6->__get(0) + HX_(" DESC",71,b6,f9,99));
+ }
+HXLINE( 950) ::Array< ::String > q7 = q;
+HXDLIN( 950) q7[0] = (q7->__get(0) + HX_(" LIMIT 50) ",37,de,84,8e));
+HXLINE( 951) ::Array< ::String > q8 = q;
+HXDLIN( 951) q8[0] = (q8->__get(0) + ((HX_("\n\t\t\tSELECT\n\t\t\t\t",4f,6c,f2,53) + this->versionedMessageColumns) + HX_("\n\t\t\tFROM messages\n\t\t\tINNER JOIN messages versions USING (correction_id, sender_id)\n\t\t\tWHERE\n\t\t\t\t(messages.stanza_id, messages.mam_id) IN (SELECT * FROM page)\n\t\t\t\tAND messages.account_id=?\n\t\t\t\tAND messages.chat_id=?\n\t\t\t\tGROUP BY correction_id, CASE WHEN messages.type=? THEN 'call' ELSE messages.sender_id END\n\t\t",04,c0,0e,0a)));
+HXLINE( 962) ::Array< ::String > q9 = q;
+HXDLIN( 962) q9[0] = (q9->__get(0) + HX_(" ORDER BY messages.sort_id",51,c7,5c,e5));
+HXLINE( 963) bool _hx_tmp2;
+HXDLIN( 963) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 963) _hx_tmp2 = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 834) _hx_tmp2 = true;
+HXLINE( 963) _hx_tmp2 = true;
}
-HXDLIN( 834) if (_hx_tmp2) {
-HXLINE( 834) ::Array< ::String > q10 = q;
-HXDLIN( 834) q10[0] = (q10->__get(0) + HX_(" DESC",71,b6,f9,99));
+HXDLIN( 963) if (_hx_tmp2) {
+HXLINE( 963) ::Array< ::String > q10 = q;
+HXDLIN( 963) q10[0] = (q10->__get(0) + HX_(" DESC",71,b6,f9,99));
}
-HXLINE( 835) ::Array< ::String > q11 = q;
-HXDLIN( 835) q11[0] = (q11->__get(0) + HX_(", messages.created_at",98,50,44,73));
-HXLINE( 836) bool _hx_tmp3;
-HXDLIN( 836) if ((op != HX_("<",3c,00,00,00))) {
-HXLINE( 836) _hx_tmp3 = (op == HX_("<=",81,34,00,00));
+HXLINE( 964) ::Array< ::String > q11 = q;
+HXDLIN( 964) q11[0] = (q11->__get(0) + HX_(", messages.time_received",25,c5,64,32));
+HXLINE( 965) bool _hx_tmp3;
+HXDLIN( 965) if ((op != HX_("<",3c,00,00,00))) {
+HXLINE( 965) _hx_tmp3 = (op == HX_("<=",81,34,00,00));
}
else {
-HXLINE( 836) _hx_tmp3 = true;
+HXLINE( 965) _hx_tmp3 = true;
}
-HXDLIN( 836) if (_hx_tmp3) {
-HXLINE( 836) ::Array< ::String > q12 = q;
-HXDLIN( 836) q12[0] = (q12->__get(0) + HX_(" DESC",71,b6,f9,99));
+HXDLIN( 965) if (_hx_tmp3) {
+HXLINE( 965) ::Array< ::String > q12 = q;
+HXDLIN( 965) q12[0] = (q12->__get(0) + HX_(" DESC",71,b6,f9,99));
}
-HXLINE( 838) params->push(accountId);
-HXLINE( 839) params->push(chatId);
-HXLINE( 840) params->push(1);
-HXLINE( 842) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q->__get(0),params), ::Dynamic(new _hx_Closure_2(q,_gthis,op,chatId,timestamp,accountId)),null()), ::Dynamic(new _hx_Closure_3(_gthis,op,accountId)),null()), ::Dynamic(new _hx_Closure_4(_gthis,accountId)),null());
+HXLINE( 967) params->push(accountId);
+HXLINE( 968) params->push(chatId);
+HXLINE( 969) params->push(1);
+HXLINE( 971) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(q->__get(0),params), ::Dynamic(new _hx_Closure_2(q,_gthis,op,chatId,timestamp,accountId)),null()), ::Dynamic(new _hx_Closure_3(_gthis,op,accountId)),null());
}
HX_DEFINE_DYNAMIC_FUNC6(Sqlite_obj,getMessages,return )
::Dynamic Sqlite_obj::getMessagesBefore(::String accountId,::String chatId, ::borogove::ChatMessage before){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_904_getMessagesBefore)
-HXDLIN( 904) ::String _hx_tmp;
-HXDLIN( 904) if (::hx::IsNotNull( before )) {
-HXDLIN( 904) _hx_tmp = before->sortId;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1032_getMessagesBefore)
+HXDLIN(1032) ::String _hx_tmp;
+HXDLIN(1032) if (::hx::IsNotNull( before )) {
+HXDLIN(1032) _hx_tmp = before->sortId;
}
else {
-HXDLIN( 904) _hx_tmp = null();
+HXDLIN(1032) _hx_tmp = null();
}
-HXDLIN( 904) ::Dynamic _hx_tmp1;
-HXDLIN( 904) if (::hx::IsNotNull( before )) {
-HXDLIN( 904) _hx_tmp1 = before->type;
+HXDLIN(1032) ::Dynamic _hx_tmp1;
+HXDLIN(1032) if (::hx::IsNotNull( before )) {
+HXDLIN(1032) _hx_tmp1 = before->type;
}
else {
-HXDLIN( 904) _hx_tmp1 = null();
+HXDLIN(1032) _hx_tmp1 = null();
}
-HXDLIN( 904) ::String _hx_tmp2;
-HXDLIN( 904) if (::hx::IsNotNull( before )) {
-HXDLIN( 904) _hx_tmp2 = before->timestamp;
+HXDLIN(1032) ::String _hx_tmp2;
+HXDLIN(1032) if (::hx::IsNotNull( before )) {
+HXDLIN(1032) _hx_tmp2 = before->timeReceived;
}
else {
-HXDLIN( 904) _hx_tmp2 = null();
+HXDLIN(1032) _hx_tmp2 = null();
}
-HXDLIN( 904) return this->getMessages(accountId,chatId,_hx_tmp,HX_("<",3c,00,00,00),::hx::IsEq( _hx_tmp1,3 ),_hx_tmp2);
+HXDLIN(1032) return this->getMessages(accountId,chatId,_hx_tmp,HX_("<",3c,00,00,00),::hx::IsEq( _hx_tmp1,3 ),_hx_tmp2);
}
HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,getMessagesBefore,return )
::Dynamic Sqlite_obj::getMessagesAfter(::String accountId,::String chatId, ::borogove::ChatMessage after){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_909_getMessagesAfter)
-HXDLIN( 909) ::String _hx_tmp;
-HXDLIN( 909) if (::hx::IsNotNull( after )) {
-HXDLIN( 909) _hx_tmp = after->sortId;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1037_getMessagesAfter)
+HXDLIN(1037) ::String _hx_tmp;
+HXDLIN(1037) if (::hx::IsNotNull( after )) {
+HXDLIN(1037) _hx_tmp = after->sortId;
}
else {
-HXDLIN( 909) _hx_tmp = null();
+HXDLIN(1037) _hx_tmp = null();
}
-HXDLIN( 909) ::Dynamic _hx_tmp1;
-HXDLIN( 909) if (::hx::IsNotNull( after )) {
-HXDLIN( 909) _hx_tmp1 = after->type;
+HXDLIN(1037) ::Dynamic _hx_tmp1;
+HXDLIN(1037) if (::hx::IsNotNull( after )) {
+HXDLIN(1037) _hx_tmp1 = after->type;
}
else {
-HXDLIN( 909) _hx_tmp1 = null();
+HXDLIN(1037) _hx_tmp1 = null();
}
-HXDLIN( 909) ::String _hx_tmp2;
-HXDLIN( 909) if (::hx::IsNotNull( after )) {
-HXDLIN( 909) _hx_tmp2 = after->timestamp;
+HXDLIN(1037) ::String _hx_tmp2;
+HXDLIN(1037) if (::hx::IsNotNull( after )) {
+HXDLIN(1037) _hx_tmp2 = after->timeReceived;
}
else {
-HXDLIN( 909) _hx_tmp2 = null();
+HXDLIN(1037) _hx_tmp2 = null();
}
-HXDLIN( 909) return this->getMessages(accountId,chatId,_hx_tmp,HX_(">",3e,00,00,00),::hx::IsEq( _hx_tmp1,3 ),_hx_tmp2);
+HXDLIN(1037) return this->getMessages(accountId,chatId,_hx_tmp,HX_(">",3e,00,00,00),::hx::IsEq( _hx_tmp1,3 ),_hx_tmp2);
}
@@ -2604,114 +2686,134 @@ HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,getMessagesAfter,return )
::Dynamic Sqlite_obj::getMessagesAround(::String accountId, ::borogove::ChatMessage around){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Array< ::Dynamic> _hx_run(::Array< ::Dynamic> results){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_918_getMessagesAround)
-HXLINE( 918) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 918) {
-HXLINE( 918) int _g_current = 0;
-HXDLIN( 918) while((_g_current < results->length)){
-HXLINE( 918) _g_current = (_g_current + 1);
-HXDLIN( 918) {
-HXLINE( 918) ::Dynamic x = results->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 918) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 918) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1046_getMessagesAround)
+HXLINE(1046) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1046) {
+HXLINE(1046) int _g_current = 0;
+HXDLIN(1046) while((_g_current < results->length)){
+HXLINE(1046) _g_current = (_g_current + 1);
+HXDLIN(1046) {
+HXLINE(1046) ::Dynamic x = results->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN(1046) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1046) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
}
}
}
}
-HXDLIN( 918) return _g;
+HXDLIN(1046) return _g;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_913_getMessagesAround)
-HXLINE( 914) ::String chatId = around->chatId();
-HXLINE( 916) ::Dynamic _hx_tmp;
-HXDLIN( 916) if (::hx::IsNotNull( around )) {
-HXLINE( 916) _hx_tmp = around->type;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1041_getMessagesAround)
+HXLINE(1042) ::String chatId = around->chatId();
+HXLINE(1044) ::Dynamic _hx_tmp;
+HXDLIN(1044) if (::hx::IsNotNull( around )) {
+HXLINE(1044) _hx_tmp = around->type;
}
else {
-HXLINE( 916) _hx_tmp = null();
+HXLINE(1044) _hx_tmp = null();
}
-HXDLIN( 916) ::String _hx_tmp1;
-HXDLIN( 916) if (::hx::IsNotNull( around )) {
-HXLINE( 916) _hx_tmp1 = around->timestamp;
+HXDLIN(1044) ::String _hx_tmp1;
+HXDLIN(1044) if (::hx::IsNotNull( around )) {
+HXLINE(1044) _hx_tmp1 = around->timeReceived;
}
else {
-HXLINE( 916) _hx_tmp1 = null();
+HXLINE(1044) _hx_tmp1 = null();
}
-HXDLIN( 916) ::Dynamic _hx_tmp2 = this->getMessages(accountId,chatId,around->sortId,HX_("<",3c,00,00,00),::hx::IsEq( _hx_tmp,3 ),_hx_tmp1);
-HXLINE( 917) ::Dynamic _hx_tmp3;
-HXDLIN( 917) if (::hx::IsNotNull( around )) {
-HXLINE( 917) _hx_tmp3 = around->type;
+HXDLIN(1044) ::Dynamic _hx_tmp2 = this->getMessages(accountId,chatId,around->sortId,HX_("<",3c,00,00,00),::hx::IsEq( _hx_tmp,3 ),_hx_tmp1);
+HXLINE(1045) ::Dynamic _hx_tmp3;
+HXDLIN(1045) if (::hx::IsNotNull( around )) {
+HXLINE(1045) _hx_tmp3 = around->type;
}
else {
-HXLINE( 917) _hx_tmp3 = null();
+HXLINE(1045) _hx_tmp3 = null();
}
-HXDLIN( 917) ::String _hx_tmp4;
-HXDLIN( 917) if (::hx::IsNotNull( around )) {
-HXLINE( 917) _hx_tmp4 = around->timestamp;
+HXDLIN(1045) ::String _hx_tmp4;
+HXDLIN(1045) if (::hx::IsNotNull( around )) {
+HXLINE(1045) _hx_tmp4 = around->timeReceived;
}
else {
-HXLINE( 917) _hx_tmp4 = null();
+HXLINE(1045) _hx_tmp4 = null();
}
-HXLINE( 915) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp2)->init(1,this->getMessages(accountId,chatId,around->sortId,HX_(">=",3f,36,00,00),::hx::IsEq( _hx_tmp3,3 ),_hx_tmp4))), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE(1043) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(::Array_obj< ::Dynamic>::__new(2)->init(0,_hx_tmp2)->init(1,this->getMessages(accountId,chatId,around->sortId,HX_(">=",3f,36,00,00),::hx::IsEq( _hx_tmp3,3 ),_hx_tmp4))), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getMessagesAround,return )
+::Dynamic Sqlite_obj::getMessagesByStatus(::String accountId,int status){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1060_getMessagesByStatus)
+HXLINE(1060) return _gthis->hydrateMessagesAndLoadMeta(accountId,result);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1050_getMessagesByStatus)
+HXDLIN(1050) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1051) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXLINE(1052) ::String _hx_tmp1 = ((HX_("\n\t\t\t\tSELECT\n\t\t\t\t\t",c5,63,82,76) + ::borogove::persistence::Sqlite_obj::messageColumnsString(null())) + HX_("\n\t\t\t\tFROM messages\n\t\t\t\tWHERE account_id=? AND status=?\n\t\t\t\tORDER BY time_received\n\t\t\t",62,8f,4a,1a));
+HXLINE(1051) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(_hx_tmp1,::cpp::VirtualArray_obj::__new(2)->init(0,accountId)->init(1,status)), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getMessagesByStatus,return )
+
::Dynamic Sqlite_obj::getChatUnreadDetails(::String accountId, ::borogove::Chat chat){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis, ::borogove::Chat,chat,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_925_getChatUnreadDetails)
-HXLINE( 926) ::Dynamic row = result->array->__get(result->current++);
-HXLINE( 927) ::Array< ::Dynamic> lastMessage;
-HXDLIN( 927) if (::hx::IsNull( row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic) )) {
-HXLINE( 927) lastMessage = ::Array_obj< ::Dynamic>::__new(0);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1084_getChatUnreadDetails)
+HXLINE(1085) ::Dynamic row = result->array->__get(result->current++);
+HXLINE(1086) ::Array< ::Dynamic> lastMessage;
+HXDLIN(1086) if (::hx::IsNull( row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic) )) {
+HXLINE(1086) lastMessage = ::Array_obj< ::Dynamic>::__new(0);
}
else {
-HXLINE( 927) lastMessage = _gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::cpp::VirtualArray_obj::__new(1)->init(0,row)));
+HXLINE(1086) lastMessage = _gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::cpp::VirtualArray_obj::__new(1)->init(0,row)));
}
-HXLINE( 928) return ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE(1087) return ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("message",c7,35,11,9a),lastMessage->__get(0).StaticCast< ::borogove::ChatMessage >())
->setFixed(1,HX_("unreadCount",20,18,f1,a0), ::Dynamic(row->__Field(HX_("unreadCount",20,18,f1,a0),::hx::paccDynamic)))
->setFixed(2,HX_("chatId",d3,04,77,b7),chat->chatId));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_921_getChatUnreadDetails)
-HXDLIN( 921) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 922) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("WITH subq AS (SELECT ROWID AS row, COALESCE(MAX(sort_id), 'a ') AS sort_id FROM messages where account_id=? AND chat_id=? AND (mam_id=? OR direction=?)) SELECT chat_id AS chatId, stanza, direction, type, status, status_text, sender_id, mam_id, mam_by, MAX(sort_id), sync_point, CASE WHEN (SELECT row FROM subq) IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount, strftime('%FT%H:%M:%fZ', messages.created_at / 1000.0, 'unixepoch') AS timestamp FROM messages WHERE account_id=? AND chat_id=? AND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id) AND (messages.sort_id >= (SELECT sort_id FROM subq) AND (messages.sort_id <> (SELECT sort_id FROM subq) OR messages.ROWID = (SELECT row FROM subq)))",18,7d,3b,a1),::cpp::VirtualArray_obj::__new(6)->init(0,accountId)->init(1,chat->chatId)->init(2,chat->readUpToId)->init(3,1)->init(4,accountId)->init(5,chat->chatId)), ::Dynamic(new _hx_Closure_0(_gthis,chat,accountId)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1063_getChatUnreadDetails)
+HXDLIN(1063) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1064) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXLINE(1066) ::String _hx_tmp1 = ((HX_("\n\t\t\t\tWITH subq AS (\n\t\t\t\t\tSELECT ROWID AS row, COALESCE(MAX(sort_id), 'a ') AS sort_id\n\t\t\t\t\tFROM messages\n\t\t\t\t\tWHERE account_id=? AND chat_id=? AND type <> ? AND (mam_id=? OR direction=?)\n\t\t\t\t)\n\t\t\t\tSELECT\n\t\t\t\t\tchat_id AS chatId,\n\t\t\t\t\t",99,b0,8d,17) + ::borogove::persistence::Sqlite_obj::messageColumnsString(::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::persistence::Sqlite_obj::col(HX_("sort_id",5c,b9,64,00),HX_("MAX(sort_id) AS sort_id",7d,fb,65,2d))))) + HX_(",\n\t\t\t\t\tCASE WHEN (SELECT row FROM subq) IS NULL THEN COUNT(*) ELSE COUNT(*) - 1 END AS unreadCount\n\t\t\t\tFROM messages\n\t\t\t\tWHERE\n\t\t\t\t\taccount_id=?\n\t\t\t\t\tAND chat_id=?\n\t\t\t\t\tAND (stanza_id IS NULL OR stanza_id='' OR stanza_id=correction_id)\n\t\t\t\t\tAND (messages.sort_id > (SELECT sort_id FROM subq) OR messages.ROWID = (SELECT row FROM subq))\n\t\t\t\t\tAND type<>?\n\t\t\t",c9,ec,a8,04));
+HXLINE(1064) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(_hx_tmp1,::cpp::VirtualArray_obj::__new(8)->init(0,accountId)->init(1,chat->chatId)->init(2,3)->init(3,chat->readUpToId)->init(4,1)->init(5,accountId)->init(6,chat->chatId)->init(7,3)), ::Dynamic(new _hx_Closure_0(_gthis,chat,accountId)),null());
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getChatUnreadDetails,return )
::Dynamic Sqlite_obj::getChatsUnreadDetails(::String accountId,::Array< ::Dynamic> chats){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_933_getChatsUnreadDetails)
-HXLINE( 934) bool _hx_tmp;
-HXDLIN( 934) if (::hx::IsNotNull( chats )) {
-HXLINE( 934) _hx_tmp = (chats->length < 1);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1092_getChatsUnreadDetails)
+HXLINE(1093) bool _hx_tmp;
+HXDLIN(1093) if (::hx::IsNotNull( chats )) {
+HXLINE(1093) _hx_tmp = (chats->length < 1);
}
else {
-HXLINE( 934) _hx_tmp = true;
- }
-HXDLIN( 934) if (_hx_tmp) {
-HXLINE( 935) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
- }
-HXLINE( 938) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(chats->length);
-HXDLIN( 938) {
-HXLINE( 938) int _g = 0;
-HXDLIN( 938) int _g1 = chats->length;
-HXDLIN( 938) while((_g < _g1)){
-HXLINE( 938) _g = (_g + 1);
-HXDLIN( 938) int i = (_g - 1);
-HXDLIN( 938) {
-HXLINE( 938) ::Dynamic inValue = this->getChatUnreadDetails(accountId,( ( ::borogove::Chat)(_hx_array_unsafe_get(chats,i)) ));
-HXDLIN( 938) result->__unsafe_set(i,inValue);
+HXLINE(1093) _hx_tmp = true;
+ }
+HXDLIN(1093) if (_hx_tmp) {
+HXLINE(1094) return ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(0));
+ }
+HXLINE(1097) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(chats->length);
+HXDLIN(1097) {
+HXLINE(1097) int _g = 0;
+HXDLIN(1097) int _g1 = chats->length;
+HXDLIN(1097) while((_g < _g1)){
+HXLINE(1097) _g = (_g + 1);
+HXDLIN(1097) int i = (_g - 1);
+HXDLIN(1097) {
+HXLINE(1097) ::Dynamic inValue = this->getChatUnreadDetails(accountId,( ( ::borogove::Chat)(_hx_array_unsafe_get(chats,i)) ));
+HXDLIN(1097) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 938) return ::thenshim::PromiseTools_obj::all(result);
+HXDLIN(1097) return ::thenshim::PromiseTools_obj::all(result);
}
@@ -2720,226 +2822,180 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,getChatsUnreadDetails,return )
::Dynamic Sqlite_obj::storeReaction(::String accountId, ::borogove::ReactionUpdate update){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId, ::borogove::ReactionUpdate,update) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_951_storeReaction)
-HXLINE( 951) return _gthis->getMessage(accountId,update->chatId,update->serverId,update->localId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1110_storeReaction)
+HXLINE(1110) return _gthis->getMessage(accountId,update->chatId,update->serverId,update->localId);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_942_storeReaction)
-HXDLIN( 942) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 943) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
-HXLINE( 946) ::String accountId1 = accountId;
-HXDLIN( 946) ::String update1 = update->updateId;
-HXDLIN( 946) ::String update2 = update->serverId;
-HXDLIN( 946) ::String update3 = update->serverIdBy;
-HXLINE( 947) ::String update4 = update->localId;
-HXDLIN( 947) ::String update5 = update->chatId;
-HXDLIN( 947) ::String update6 = update->senderId;
-HXDLIN( 947) ::String update7 = update->timestamp;
-HXLINE( 948) ::String _hx_tmp1 = ::borogove::JsonPrinter_obj::print(update->reactions,null(),null());
-HXLINE( 943) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(HX_("INSERT OR REPLACE INTO reactions VALUES (?,?,?,?,?,?,?,CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER),jsonb(?),?)",e2,55,57,48),::cpp::VirtualArray_obj::__new(10)->init(0,accountId1)->init(1,update1)->init(2,update2)->init(3,update3)->init(4,update4)->init(5,update5)->init(6,update6)->init(7,update7)->init(8,_hx_tmp1)->init(9,update->kind)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,update)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1101_storeReaction)
+HXDLIN(1101) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1102) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXLINE(1105) ::String accountId1 = accountId;
+HXDLIN(1105) ::String update1 = update->updateId;
+HXDLIN(1105) ::String update2 = update->serverId;
+HXDLIN(1105) ::String update3 = update->serverIdBy;
+HXLINE(1106) ::String update4 = update->localId;
+HXDLIN(1106) ::String update5 = update->chatId;
+HXDLIN(1106) ::String update6 = update->senderId;
+HXDLIN(1106) ::String update7 = update->timestamp;
+HXLINE(1107) ::String _hx_tmp1 = ::borogove::JsonPrinter_obj::print(update->reactions,null(),null());
+HXLINE(1102) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(HX_("INSERT OR REPLACE INTO reactions VALUES (?,?,?,?,?,?,?,CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER),jsonb(?),?)",e2,55,57,48),::cpp::VirtualArray_obj::__new(10)->init(0,accountId1)->init(1,update1)->init(2,update2)->init(3,update3)->init(4,update4)->init(5,update5)->init(6,update6)->init(7,update7)->init(8,_hx_tmp1)->init(9,update->kind)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,update)),null());
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeReaction,return )
::Dynamic Sqlite_obj::updateMessageStatus(::String accountId,::String localId,int status,::String statusText){
- HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_3, ::borogove::persistence::Sqlite,_gthis,::String,localId,::String,statusText,int,status,::String,accountId) HXARGC(0)
+ HX_BEGIN_LOCAL_FUNC_S5(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::Sqlite,_gthis,::String,localId,::String,statusText,int,status,::String,accountId) HXARGC(0)
::Dynamic _hx_run(){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_962_updateMessageStatus)
-HXLINE( 962) ::Array< ::Dynamic> _this = _gthis->hydrateMessages(accountId,result);
-HXDLIN( 962) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 962) {
-HXLINE( 962) int _g = 0;
-HXDLIN( 962) int _g1 = _this->length;
-HXDLIN( 962) while((_g < _g1)){
-HXLINE( 962) _g = (_g + 1);
-HXDLIN( 962) int i = (_g - 1);
-HXDLIN( 962) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
- ::Dynamic _hx_run(::Array< ::Dynamic> messages){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_967_updateMessageStatus)
-HXLINE( 967) return _gthis->hydrateReactions(accountId,messages);
- }
- HX_END_LOCAL_FUNC1(return)
-
-HXLINE( 962) ::borogove::ChatMessage message = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(_this,i)) );
-HXLINE( 963) ::Dynamic inValue;
-HXDLIN( 963) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE( 964) ::borogove::persistence::Sqlite _gthis1 = _gthis;
-HXDLIN( 964) ::String accountId1 = accountId;
-HXDLIN( 964) ::String inValue1 = message->chatId();
-HXLINE( 963) inValue = _gthis1->hydrateReplyTo(accountId1,::Array_obj< ::Dynamic>::__new(1)->init(0,message),::Array_obj< ::Dynamic>::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(3)
- ->setFixed(0,HX_("chatId",d3,04,77,b7),inValue1)
- ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
- ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId))));
- }
- else {
-HXLINE( 963) inValue = ::thenshim::_Promise::Promise_Impl__obj::resolve(::Array_obj< ::Dynamic>::__new(1)->init(0,message));
- }
-HXLINE( 962) ::Dynamic inValue2 = ::thenshim::_Promise::Promise_Impl__obj::then(inValue, ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
-HXDLIN( 962) result1->__unsafe_set(i,inValue2);
- }
- }
- }
-HXDLIN( 962) return ::thenshim::PromiseTools_obj::all(result1);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1131_updateMessageStatus)
+HXLINE(1131) return _gthis->hydrateMessagesAndLoadMeta(accountId,result);
}
HX_END_LOCAL_FUNC1(return)
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2,::String,localId) HXARGC(1)
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1,::String,localId) HXARGC(1)
::Dynamic _hx_run(::Array< ::Dynamic> hydrated){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_969_updateMessageStatus)
-HXLINE( 970) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN( 970) {
-HXLINE( 970) int _g_current = 0;
-HXDLIN( 970) while((_g_current < hydrated->length)){
-HXLINE( 970) _g_current = (_g_current + 1);
-HXDLIN( 970) {
-HXLINE( 970) ::Dynamic x = hydrated->__get((_g_current - 1)).StaticCast< ::Array< ::Dynamic> >()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN( 970) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE( 970) _g->push(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
- }
- }
- }
- }
-HXLINE( 971) if ((_g->length > 0)) {
-HXLINE( 971) return ::thenshim::_Promise::Promise_Impl__obj::resolve(_g->__get(0).StaticCast< ::borogove::ChatMessage >());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1133_updateMessageStatus)
+HXLINE(1133) if ((hydrated->length > 0)) {
+HXLINE(1133) return ::thenshim::_Promise::Promise_Impl__obj::resolve(hydrated->__get(0).StaticCast< ::borogove::ChatMessage >());
}
else {
-HXLINE( 971) return ::thenshim::_Promise::Promise_Impl__obj::reject((HX_("Message not found: ",62,21,15,ae) + localId));
+HXLINE(1133) return ::thenshim::_Promise::Promise_Impl__obj::reject((HX_("Message not found: ",62,21,15,ae) + localId));
}
-HXDLIN( 971) return null();
+HXDLIN(1133) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_958_updateMessageStatus)
-HXLINE( 958) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_gthis->db->exec(HX_("UPDATE messages SET status=?, status_text=? WHERE account_id=? AND stanza_id=? AND direction=? AND status <> ? AND status <> ? RETURNING stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, correction_id AS stanza_id, sort_id, mam_id, mam_by, sync_point",60,88,80,c5),::cpp::VirtualArray_obj::__new(7)->init(0,status)->init(1,statusText)->init(2,accountId)->init(3,localId)->init(4,1)->init(5,2)->init(6,3)), ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_2(localId)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1117_updateMessageStatus)
+HXLINE(1117) ::borogove::persistence::SqliteDriver _gthis1 = _gthis->db;
+HXLINE(1118) ::String _hx_tmp = ((HX_("\n\t\t\t\t\tUPDATE messages\n\t\t\t\t\tSET status=?, status_text=?\n\t\t\t\t\tWHERE account_id=?\n\t\t\t\t\t\tAND stanza_id=?\n\t\t\t\t\t\tAND direction=?\n\t\t\t\t\t\tAND status <> ?\n\t\t\t\t\t\tAND status <> ?\n\t\t\t\t\tRETURNING\n\t\t\t\t\t\t",ab,02,52,c8) + ::borogove::persistence::Sqlite_obj::messageColumnsString(::Array_obj< ::Dynamic>::__new(1)->init(0,::borogove::persistence::Sqlite_obj::col(HX_("stanza_id",25,7b,7a,e9),HX_("correction_id AS stanza_id",fb,fb,fc,5c))))) + HX_("\n\t\t\t\t",ca,94,fb,c7));
+HXLINE(1117) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(_gthis1->exec(_hx_tmp,::cpp::VirtualArray_obj::__new(7)->init(0,status)->init(1,statusText)->init(2,accountId)->init(3,localId)->init(4,1)->init(5,2)->init(6,3)), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null()), ::Dynamic(new _hx_Closure_1(localId)),null());
}
HX_END_LOCAL_FUNC0(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_956_updateMessageStatus)
-HXDLIN( 956) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 957) return this->storeMessagesSerialized->run( ::Dynamic(new _hx_Closure_3(_gthis,localId,statusText,status,accountId)));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1115_updateMessageStatus)
+HXDLIN(1115) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1116) return this->storeMessagesSerialized->run( ::Dynamic(new _hx_Closure_2(_gthis,localId,statusText,status,accountId)));
}
HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,updateMessageStatus,return )
-::Dynamic Sqlite_obj::hasMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_978_hasMedia)
-HXDLIN( 978) return ::borogove::persistence::MediaStore_obj::hasMedia(this->media,hashAlgorithm,hash);
+::Dynamic Sqlite_obj::hasMedia( ::borogove::Hash hash){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1140_hasMedia)
+HXDLIN(1140) return ::borogove::persistence::MediaStore_obj::hasMedia(this->media,hash);
}
-HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hasMedia,return )
+HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,hasMedia,return )
::Dynamic Sqlite_obj::removeMedia(::String hashAlgorithm,::Array< unsigned char > hash){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_983_removeMedia)
-HXDLIN( 983) return ::borogove::persistence::MediaStore_obj::removeMedia(this->media,hashAlgorithm,hash);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1145_removeMedia)
+HXDLIN(1145) return ::borogove::persistence::MediaStore_obj::removeMedia(this->media,hashAlgorithm,hash);
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeMedia,return )
-::Dynamic Sqlite_obj::storeMedia(::String mime,::Array< unsigned char > bd){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_988_storeMedia)
-HXDLIN( 988) return ::borogove::persistence::MediaStore_obj::storeMedia(this->media,mime,bd);
+::Dynamic Sqlite_obj::storeMedia(::String mime,::Dynamic source){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1150_storeMedia)
+HXDLIN(1150) return ::borogove::persistence::MediaStore_obj::storeMedia(this->media,mime,source);
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,storeMedia,return )
void Sqlite_obj::storeCaps( ::borogove::Caps caps){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_992_storeCaps)
-HXLINE( 993) ::haxe::ds::ObjectMap map = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
-HXLINE( 994) map->set(caps->verRaw()->hash,caps);
-HXLINE( 995) this->storeCapsSet(map);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1154_storeCaps)
+HXLINE(1155) ::haxe::ds::ObjectMap map = ::haxe::ds::ObjectMap_obj::__alloc( HX_CTX );
+HXLINE(1156) map->set(caps->verRaw()->hash,caps);
+HXLINE(1157) this->storeCapsSet(map);
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,storeCaps,(void))
void Sqlite_obj::storeCapsSet( ::haxe::ds::ObjectMap capsSet){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_998_storeCapsSet)
-HXLINE( 999) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
-HXLINE(1000) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE(1001) {
-HXLINE(1001) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1001) q->flush();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1160_storeCapsSet)
+HXLINE(1161) ::cpp::VirtualArray params = ::cpp::VirtualArray_obj::__new(0);
+HXLINE(1162) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE(1163) {
+HXLINE(1163) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1163) q->flush();
}
-HXDLIN(1001) if (::hx::IsNull( q->b )) {
-HXLINE(1001) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_175,1);
+HXDLIN(1163) if (::hx::IsNull( q->b )) {
+HXLINE(1163) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_189,1);
}
else {
-HXLINE(1001) q->b->push(HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf));
- }
- }
-HXLINE(1002) bool first = true;
-HXLINE(1003) {
-HXLINE(1003) ::Dynamic map = capsSet;
-HXDLIN(1003) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN(1003) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1003) ::Array< unsigned char > key = ( (::Array< unsigned char >)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1003) ::borogove::Caps _g_value = ( ( ::borogove::Caps)(::haxe::IMap_obj::get(map,key)) );
-HXDLIN(1003) {
-HXLINE(1004) if (!(first)) {
-HXLINE(1004) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1004) q->flush();
+HXLINE(1163) q->b->push(HX_("INSERT OR IGNORE INTO caps VALUES ",27,4b,68,bf));
+ }
+ }
+HXLINE(1164) bool first = true;
+HXLINE(1165) {
+HXLINE(1165) ::Dynamic map = capsSet;
+HXDLIN(1165) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN(1165) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1165) ::Array< unsigned char > key = ( (::Array< unsigned char >)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1165) ::borogove::Caps _g_value = ( ( ::borogove::Caps)(::haxe::IMap_obj::get(map,key)) );
+HXDLIN(1165) {
+HXLINE(1166) if (!(first)) {
+HXLINE(1166) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1166) q->flush();
}
-HXDLIN(1004) if (::hx::IsNull( q->b )) {
-HXLINE(1004) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_176,1);
+HXDLIN(1166) if (::hx::IsNull( q->b )) {
+HXLINE(1166) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_190,1);
}
else {
-HXLINE(1004) q->b->push(HX_(",",2c,00,00,00));
+HXLINE(1166) q->b->push(HX_(",",2c,00,00,00));
}
}
-HXLINE(1005) {
-HXLINE(1005) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1005) q->flush();
+HXLINE(1167) {
+HXLINE(1167) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1167) q->flush();
}
-HXDLIN(1005) if (::hx::IsNull( q->b )) {
-HXLINE(1005) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_177,1);
+HXDLIN(1167) if (::hx::IsNull( q->b )) {
+HXLINE(1167) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_191,1);
}
else {
-HXLINE(1005) q->b->push(HX_("(?,jsonb(?))",1c,61,06,9e));
+HXLINE(1167) q->b->push(HX_("(?,jsonb(?))",1c,61,06,9e));
}
}
-HXLINE(1006) params->push(key);
-HXLINE(1007) ::String caps = _g_value->node;
-HXDLIN(1007) ::Array< ::Dynamic> caps1 = _g_value->identities;
-HXDLIN(1007) ::Array< ::String > caps2 = _g_value->features;
-HXDLIN(1007) ::Array< ::Dynamic> _this = _g_value->data;
-HXDLIN(1007) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
-HXDLIN(1007) {
-HXLINE(1007) int _g = 0;
-HXDLIN(1007) int _g1 = _this->length;
-HXDLIN(1007) while((_g < _g1)){
-HXLINE(1007) _g = (_g + 1);
-HXDLIN(1007) int i = (_g - 1);
-HXDLIN(1007) {
-HXLINE(1007) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->toString();
-HXDLIN(1007) result->__unsafe_set(i,inValue);
+HXLINE(1168) params->push(key);
+HXLINE(1169) ::String caps = _g_value->node;
+HXDLIN(1169) ::Array< ::Dynamic> caps1 = _g_value->identities;
+HXDLIN(1169) ::Array< ::String > caps2 = _g_value->features;
+HXDLIN(1169) ::Array< ::Dynamic> _this = _g_value->data;
+HXDLIN(1169) ::Array< ::String > result = ::Array_obj< ::String >::__new(_this->length);
+HXDLIN(1169) {
+HXLINE(1169) int _g = 0;
+HXDLIN(1169) int _g1 = _this->length;
+HXDLIN(1169) while((_g < _g1)){
+HXLINE(1169) _g = (_g + 1);
+HXDLIN(1169) int i = (_g - 1);
+HXDLIN(1169) {
+HXLINE(1169) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->toString();
+HXDLIN(1169) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN(1007) ::Dynamic replacer = null();
-HXDLIN(1007) ::String space = null();
-HXDLIN(1007) params->push(::haxe::format::JsonPrinter_obj::print( ::Dynamic(::hx::Anon_obj::Create(4)
+HXDLIN(1169) ::Dynamic replacer = null();
+HXDLIN(1169) ::String space = null();
+HXDLIN(1169) params->push(::haxe::format::JsonPrinter_obj::print( ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("identities",1c,c5,6d,d7),caps1)
->setFixed(1,HX_("features",fd,6c,d7,12),caps2)
->setFixed(2,HX_("data",2a,56,63,42),result)
->setFixed(3,HX_("node",02,0a,0a,49),caps)),replacer,space));
-HXLINE(1008) first = false;
+HXLINE(1170) first = false;
}
}
}
-HXLINE(1010) if ((params->get_length() < 1)) {
-HXLINE(1010) return;
+HXLINE(1172) if ((params->get_length() < 1)) {
+HXLINE(1172) return;
}
-HXLINE(1011) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN(1011) _hx_tmp->exec(q->toString(),params);
+HXLINE(1173) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN(1173) _hx_tmp->exec(q->toString(),params);
}
@@ -2948,184 +3004,197 @@ HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,storeCapsSet,(void))
::Dynamic Sqlite_obj::getCaps(::String ver){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::Array< unsigned char >,verData) HXARGC(1)
::borogove::Caps _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1024_getCaps)
-HXLINE(1025) while((result->current < result->array->get_length())){
-HXLINE(1026) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(result->array->__get(result->current++)->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
-HXLINE(1027) return _gthis->hydrateCaps(json,verData);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1186_getCaps)
+HXLINE(1187) while((result->current < result->array->get_length())){
+HXLINE(1188) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(result->array->__get(result->current++)->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+HXLINE(1189) return _gthis->hydrateCaps(json,verData);
}
-HXLINE(1029) return null();
+HXLINE(1191) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1015_getCaps)
-HXDLIN(1015) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1016) ::Array< unsigned char > verData;
-HXDLIN(1016) try {
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1177_getCaps)
+HXDLIN(1177) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1178) ::Array< unsigned char > verData;
+HXDLIN(1178) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE(1016) verData = ::haxe::crypto::Base64_obj::decode(ver,null())->b;
+HXLINE(1178) verData = ::haxe::crypto::Base64_obj::decode(ver,null())->b;
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g = _hx_e;
-HXLINE(1019) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+HXLINE(1181) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE(1021) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT json(caps) AS caps FROM caps WHERE sha1=? LIMIT 1",5a,98,24,09),::cpp::VirtualArray_obj::__new(1)->init(0,verData)), ::Dynamic(new _hx_Closure_0(_gthis,verData)),null());
+HXLINE(1183) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT json(caps) AS caps FROM caps WHERE sha1=? LIMIT 1",5a,98,24,09),::cpp::VirtualArray_obj::__new(1)->init(0,verData)), ::Dynamic(new _hx_Closure_0(_gthis,verData)),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getCaps,return )
-::Dynamic Sqlite_obj::storeLogin(::String accountId,::String clientId,::String displayName,::String token){
+::Dynamic Sqlite_obj::storeLogin(::String accountId,::String clientId,::String displayName,::String rosterVer,::String token){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1056_storeLogin)
-HXLINE(1056) return true;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1220_storeLogin)
+HXLINE(1220) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1034_storeLogin)
-HXLINE(1035) ::Array< ::String > params = ::Array_obj< ::String >::__new(3)->init(0,accountId)->init(1,clientId)->init(2,displayName);
-HXLINE(1036) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE(1037) {
-HXLINE(1037) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1037) q->flush();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1196_storeLogin)
+HXLINE(1197) ::Array< ::String > params = ::Array_obj< ::String >::__new(4)->init(0,accountId)->init(1,clientId)->init(2,displayName)->init(3,rosterVer);
+HXLINE(1198) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE(1199) {
+HXLINE(1199) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1199) q->flush();
}
-HXDLIN(1037) if (::hx::IsNull( q->b )) {
-HXLINE(1037) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_183,1);
+HXDLIN(1199) if (::hx::IsNull( q->b )) {
+HXLINE(1199) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_197,1);
}
else {
-HXLINE(1037) q->b->push(HX_("INSERT INTO accounts (account_id, client_id, display_name",03,b0,6a,0b));
+HXLINE(1199) q->b->push(HX_("INSERT INTO accounts (account_id, client_id, display_name, roster_ver",66,1e,c0,f8));
}
}
-HXLINE(1038) if (::hx::IsNotNull( token )) {
-HXLINE(1039) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1039) q->flush();
+HXLINE(1200) if (::hx::IsNotNull( token )) {
+HXLINE(1201) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1201) q->flush();
}
-HXDLIN(1039) if (::hx::IsNull( q->b )) {
-HXLINE(1039) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_184,1);
+HXDLIN(1201) if (::hx::IsNull( q->b )) {
+HXLINE(1201) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_198,1);
}
else {
-HXLINE(1039) q->b->push(HX_(", token, fast_count",a5,56,e4,ae));
+HXLINE(1201) q->b->push(HX_(", token, fast_count",a5,56,e4,ae));
}
}
-HXLINE(1041) {
-HXLINE(1041) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1041) q->flush();
+HXLINE(1203) {
+HXLINE(1203) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1203) q->flush();
}
-HXDLIN(1041) if (::hx::IsNull( q->b )) {
-HXLINE(1041) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_185,1);
+HXDLIN(1203) if (::hx::IsNull( q->b )) {
+HXLINE(1203) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_199,1);
}
else {
-HXLINE(1041) q->b->push(HX_(") VALUES (?,?,?",c4,1c,e3,67));
+HXLINE(1203) q->b->push(HX_(") VALUES (?,?,?,?",57,fc,76,7c));
}
}
-HXLINE(1042) if (::hx::IsNotNull( token )) {
-HXLINE(1043) {
-HXLINE(1043) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1043) q->flush();
+HXLINE(1204) if (::hx::IsNotNull( token )) {
+HXLINE(1205) {
+HXLINE(1205) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1205) q->flush();
}
-HXDLIN(1043) if (::hx::IsNull( q->b )) {
-HXLINE(1043) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_186,1);
+HXDLIN(1205) if (::hx::IsNull( q->b )) {
+HXLINE(1205) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_200,1);
}
else {
-HXLINE(1043) q->b->push(HX_(",?",93,26,00,00));
+HXLINE(1205) q->b->push(HX_(",?",93,26,00,00));
}
}
-HXLINE(1044) params->push(token);
-HXLINE(1045) {
-HXLINE(1045) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1045) q->flush();
+HXLINE(1206) params->push(token);
+HXLINE(1207) {
+HXLINE(1207) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1207) q->flush();
}
-HXDLIN(1045) if (::hx::IsNull( q->b )) {
-HXLINE(1045) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_187,1);
+HXDLIN(1207) if (::hx::IsNull( q->b )) {
+HXLINE(1207) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_201,1);
}
else {
-HXLINE(1045) q->b->push(HX_(",0",84,26,00,00));
+HXLINE(1207) q->b->push(HX_(",0",84,26,00,00));
}
}
}
-HXLINE(1047) {
-HXLINE(1047) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1047) q->flush();
+HXLINE(1209) {
+HXLINE(1209) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1209) q->flush();
}
-HXDLIN(1047) if (::hx::IsNull( q->b )) {
-HXLINE(1047) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_188,1);
+HXDLIN(1209) if (::hx::IsNull( q->b )) {
+HXLINE(1209) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_202,1);
}
else {
-HXLINE(1047) q->b->push(HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96));
+HXLINE(1209) q->b->push(HX_(") ON CONFLICT DO UPDATE SET client_id=?",cd,99,0c,96));
}
}
-HXLINE(1048) params->push(clientId);
-HXLINE(1049) {
-HXLINE(1049) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1049) q->flush();
+HXLINE(1210) params->push(clientId);
+HXLINE(1211) {
+HXLINE(1211) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1211) q->flush();
}
-HXDLIN(1049) if (::hx::IsNull( q->b )) {
-HXLINE(1049) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_189,1);
+HXDLIN(1211) if (::hx::IsNull( q->b )) {
+HXLINE(1211) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_203,1);
}
else {
-HXLINE(1049) q->b->push(HX_(", display_name=?",7e,ad,5b,0f));
+HXLINE(1211) q->b->push(HX_(", display_name=?",7e,ad,5b,0f));
}
}
-HXLINE(1050) params->push(displayName);
-HXLINE(1051) if (::hx::IsNotNull( token )) {
-HXLINE(1052) {
-HXLINE(1052) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1052) q->flush();
+HXLINE(1212) params->push(displayName);
+HXLINE(1213) {
+HXLINE(1213) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1213) q->flush();
+ }
+HXDLIN(1213) if (::hx::IsNull( q->b )) {
+HXLINE(1213) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_204,1);
+ }
+ else {
+HXLINE(1213) q->b->push(HX_(", roster_ver=?",05,aa,1f,92));
+ }
+ }
+HXLINE(1214) params->push(rosterVer);
+HXLINE(1215) if (::hx::IsNotNull( token )) {
+HXLINE(1216) {
+HXLINE(1216) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1216) q->flush();
}
-HXDLIN(1052) if (::hx::IsNull( q->b )) {
-HXLINE(1052) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_190,1);
+HXDLIN(1216) if (::hx::IsNull( q->b )) {
+HXLINE(1216) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_205,1);
}
else {
-HXLINE(1052) q->b->push(HX_(", token=?",a7,78,19,80));
+HXLINE(1216) q->b->push(HX_(", token=?",a7,78,19,80));
}
}
-HXLINE(1053) params->push(token);
-HXLINE(1054) {
-HXLINE(1054) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1054) q->flush();
+HXLINE(1217) params->push(token);
+HXLINE(1218) {
+HXLINE(1218) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1218) q->flush();
}
-HXDLIN(1054) if (::hx::IsNull( q->b )) {
-HXLINE(1054) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_191,1);
+HXDLIN(1218) if (::hx::IsNull( q->b )) {
+HXLINE(1218) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_206,1);
}
else {
-HXLINE(1054) q->b->push(HX_(", fast_count=0",73,a8,4f,82));
+HXLINE(1218) q->b->push(HX_(", fast_count=0",73,a8,4f,82));
}
}
}
-HXLINE(1056) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN(1056) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE(1220) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN(1220) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
}
-HX_DEFINE_DYNAMIC_FUNC4(Sqlite_obj,storeLogin,return )
+HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,storeLogin,return )
::Dynamic Sqlite_obj::getLogin(::String accountId){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1064_getLogin)
-HXLINE(1065) while((result->current < result->array->get_length())){
-HXLINE(1065) ::Dynamic row = result->array->__get(result->current++);
-HXLINE(1067) if (::hx::IsNotNull( row->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic) )) {
-HXLINE(1068) _gthis->db->exec(HX_("UPDATE accounts SET fast_count=fast_count+1 WHERE account_id=?",a6,3f,55,2d),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1228_getLogin)
+HXLINE(1229) while((result->current < result->array->get_length())){
+HXLINE(1229) ::Dynamic row = result->array->__get(result->current++);
+HXLINE(1231) if (::hx::IsNotNull( row->__Field(HX_("token",f9,82,2b,14),::hx::paccDynamic) )) {
+HXLINE(1232) _gthis->db->exec(HX_("UPDATE accounts SET fast_count=fast_count+1 WHERE account_id=?",a6,3f,55,2d),::cpp::VirtualArray_obj::__new(1)->init(0,accountId));
}
-HXLINE(1070) return row;
+HXLINE(1234) return row;
}
-HXLINE(1073) return ::Dynamic(::hx::Anon_obj::Create(4)
+HXLINE(1237) return ::Dynamic(::hx::Anon_obj::Create(5)
->setFixed(0,HX_("fastCount",93,fc,67,a5),0)
->setFixed(1,HX_("token",f9,82,2b,14),null())
->setFixed(2,HX_("clientId",06,73,8f,15),null())
- ->setFixed(3,HX_("displayName",ad,11,f2,30),null()));
+ ->setFixed(3,HX_("displayName",ad,11,f2,30),null())
+ ->setFixed(4,HX_("rosterVer",98,f5,fe,3e),null()));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1060_getLogin)
-HXDLIN(1060) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1061) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT client_id AS clientId, display_name AS displayName, token, COALESCE(fast_count, 0) AS fastCount FROM accounts WHERE account_id=? LIMIT 1",d8,8f,02,8f),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1224_getLogin)
+HXDLIN(1224) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1225) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT client_id AS clientId, display_name AS displayName, roster_ver AS rosterVer, token, COALESCE(fast_count, 0) AS fastCount FROM accounts WHERE account_id=? LIMIT 1",17,48,36,18),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId)),null());
}
@@ -3134,11 +3203,11 @@ HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getLogin,return )
::Dynamic Sqlite_obj::removeAccount(::String accountId,bool completely){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,bool,completely,::String,accountId) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1085_removeAccount)
-HXLINE(1086) if (!(completely)) {
-HXLINE(1086) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1249_removeAccount)
+HXLINE(1250) if (!(completely)) {
+HXLINE(1250) return ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
-HXLINE(1088) return _gthis->db->execMany(::Array_obj< ::Dynamic>::__new(3)->init(0, ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(1252) return _gthis->db->execMany(::Array_obj< ::Dynamic>::__new(3)->init(0, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("params",46,fb,7a,ed),::cpp::VirtualArray_obj::__new(1)->init(0,accountId))
->setFixed(1,HX_("sql",0e,a6,57,00),HX_("DELETE FROM messages WHERE account_id=?",bb,0a,07,c2))))->init(1, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("params",46,fb,7a,ed),::cpp::VirtualArray_obj::__new(1)->init(0,accountId))
@@ -3150,14 +3219,14 @@ HXLINE(1088) return _gthis->db->execMany(::Array_obj< ::Dynamic>::__new(3)->in
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
bool _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1093_removeAccount)
-HXLINE(1093) return true;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1257_removeAccount)
+HXLINE(1257) return true;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1084_removeAccount)
-HXDLIN(1084) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1085) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("DELETE FROM accounts WHERE account_id=?",a1,e8,94,4e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,completely,accountId)),null()), ::Dynamic(new _hx_Closure_1()),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1248_removeAccount)
+HXDLIN(1248) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1249) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("DELETE FROM accounts WHERE account_id=?",a1,e8,94,4e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,completely,accountId)),null()), ::Dynamic(new _hx_Closure_1()),null());
}
@@ -3166,74 +3235,74 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,removeAccount,return )
::Dynamic Sqlite_obj::listAccounts(){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Array< ::String > _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1105_listAccounts)
-HXLINE(1105) if (::hx::IsNull( result )) {
-HXLINE(1105) return ::Array_obj< ::String >::__new(0);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1269_listAccounts)
+HXLINE(1269) if (::hx::IsNull( result )) {
+HXLINE(1269) return ::Array_obj< ::String >::__new(0);
}
else {
-HXLINE(1105) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
-HXDLIN(1105) {
+HXLINE(1269) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN(1269) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::iterators::ArrayIterator,result) HXARGC(0)
::haxe::iterators::ArrayIterator _hx_run(){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1105_listAccounts)
-HXLINE(1105) return result;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1269_listAccounts)
+HXLINE(1269) return result;
}
HX_END_LOCAL_FUNC0(return)
-HXLINE(1105) ::Dynamic x = ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1269) ::Dynamic x = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(result))))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
-HXDLIN(1105) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1105) _g->push( ::Dynamic(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("account_id",6d,df,ad,00),::hx::paccDynamic)));
+HXDLIN(1269) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1269) _g->push( ::Dynamic(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("account_id",6d,df,ad,00),::hx::paccDynamic)));
}
}
-HXDLIN(1105) return _g;
+HXDLIN(1269) return _g;
}
-HXDLIN(1105) return null();
+HXDLIN(1269) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1104_listAccounts)
-HXDLIN(1104) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT account_id FROM accounts",4d,82,81,0c),null()), ::Dynamic(new _hx_Closure_1()),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1268_listAccounts)
+HXDLIN(1268) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT account_id FROM accounts",4d,82,81,0c),null()), ::Dynamic(new _hx_Closure_1()),null());
}
HX_DEFINE_DYNAMIC_FUNC0(Sqlite_obj,listAccounts,return )
::Dynamic Sqlite_obj::storeStreamManagement(::String accountId,::Array< unsigned char > sm,::String sortId){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1113_storeStreamManagement)
-HXDLIN(1113) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1114) this->smStoreNext = sm;
-HXLINE(1115) this->smStoreIdNext = sortId;
-HXLINE(1116) if (!(this->smStoreInProgress)) {
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1277_storeStreamManagement)
+HXDLIN(1277) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1278) this->smStoreNext = sm;
+HXLINE(1279) this->smStoreIdNext = sortId;
+HXLINE(1280) if (!(this->smStoreInProgress)) {
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,accountId,::String,sortId,::Array< unsigned char >,sm) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1121_storeStreamManagement)
-HXLINE(1122) _gthis->smStoreInProgress = false;
-HXLINE(1123) bool _hx_tmp;
-HXDLIN(1123) if (::hx::IsPointerEq( _gthis->smStoreNext,sm )) {
-HXLINE(1123) _hx_tmp = (_gthis->smStoreIdNext != sortId);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1285_storeStreamManagement)
+HXLINE(1286) _gthis->smStoreInProgress = false;
+HXLINE(1287) bool _hx_tmp;
+HXDLIN(1287) if (::hx::IsPointerEq( _gthis->smStoreNext,sm )) {
+HXLINE(1287) _hx_tmp = (_gthis->smStoreIdNext != sortId);
}
else {
-HXLINE(1123) _hx_tmp = true;
+HXLINE(1287) _hx_tmp = true;
}
-HXDLIN(1123) if (_hx_tmp) {
-HXLINE(1123) _gthis->storeStreamManagement(accountId,_gthis->smStoreNext,_gthis->smStoreIdNext);
+HXDLIN(1287) if (_hx_tmp) {
+HXLINE(1287) _gthis->storeStreamManagement(accountId,_gthis->smStoreNext,_gthis->smStoreIdNext);
}
-HXLINE(1124) return null();
+HXLINE(1288) return null();
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
::Dynamic _hx_run( ::Dynamic _){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1125_storeStreamManagement)
-HXLINE(1125) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1289_storeStreamManagement)
+HXLINE(1289) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
}
HX_END_LOCAL_FUNC1(return)
-HXLINE(1117) this->smStoreInProgress = true;
-HXLINE(1118) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("UPDATE accounts SET sm_state=?, sort_id=? WHERE account_id=?",2d,28,1d,d9),::cpp::VirtualArray_obj::__new(3)->init(0,sm)->init(1,sortId)->init(2,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,sortId,sm)),null()), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE(1281) this->smStoreInProgress = true;
+HXLINE(1282) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("UPDATE accounts SET sm_state=?, sort_id=? WHERE account_id=?",2d,28,1d,d9),::cpp::VirtualArray_obj::__new(3)->init(0,sm)->init(1,sortId)->init(2,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,accountId,sortId,sm)),null()), ::Dynamic(new _hx_Closure_1()),null());
}
-HXLINE(1129) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
+HXLINE(1293) return ::thenshim::_Promise::Promise_Impl__obj::resolve(true);
}
@@ -3242,31 +3311,31 @@ HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,storeStreamManagement,return )
::Dynamic Sqlite_obj::getStreamManagement(::String accountId){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::Dynamic _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1134_getStreamManagement)
-HXLINE(1135) while((result->current < result->array->get_length())){
-HXLINE(1135) ::Dynamic row = result->array->__get(result->current++);
-HXLINE(1136) return ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1298_getStreamManagement)
+HXLINE(1299) while((result->current < result->array->get_length())){
+HXLINE(1299) ::Dynamic row = result->array->__get(result->current++);
+HXLINE(1300) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sm",9a,64,00,00), ::Dynamic(row->__Field(HX_("sm_state",6c,91,3f,e6),::hx::paccDynamic)))
->setFixed(1,HX_("sortId",d9,7a,37,30), ::Dynamic(row->__Field(HX_("sort_id",5c,b9,64,00),::hx::paccDynamic))));
}
-HXLINE(1139) return ::Dynamic(::hx::Anon_obj::Create(2)
+HXLINE(1303) return ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("sm",9a,64,00,00),null())
->setFixed(1,HX_("sortId",d9,7a,37,30),HX_("a ",9f,54,00,00)));
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1134_getStreamManagement)
-HXDLIN(1134) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT sm_state, sort_id FROM accounts WHERE account_id=?",dc,52,f6,8e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0()),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1298_getStreamManagement)
+HXDLIN(1298) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT sm_state, sort_id FROM accounts WHERE account_id=?",dc,52,f6,8e),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0()),null());
}
HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,getStreamManagement,return )
void Sqlite_obj::storeService(::String accountId,::String serviceId,::String name,::String node, ::borogove::Caps caps){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1144_storeService)
-HXLINE(1145) this->storeCaps(caps);
-HXLINE(1147) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN(1147) _hx_tmp->exec(HX_("INSERT OR REPLACE INTO services VALUES (?,?,?,?,?)",2c,3a,d9,f8),::cpp::VirtualArray_obj::__new(5)->init(0,accountId)->init(1,serviceId)->init(2,name)->init(3,node)->init(4,caps->verRaw()->hash));
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1308_storeService)
+HXLINE(1309) this->storeCaps(caps);
+HXLINE(1311) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN(1311) _hx_tmp->exec(HX_("INSERT OR REPLACE INTO services VALUES (?,?,?,?,?)",2c,3a,d9,f8),::cpp::VirtualArray_obj::__new(5)->init(0,accountId)->init(1,serviceId)->init(2,name)->init(3,node)->init(4,caps->verRaw()->hash));
}
@@ -3275,43 +3344,43 @@ HX_DEFINE_DYNAMIC_FUNC5(Sqlite_obj,storeService,(void))
::Dynamic Sqlite_obj::findServicesWithFeature(::String accountId,::String feature){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::Sqlite,_gthis,::String,feature) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator result){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1159_findServicesWithFeature)
-HXLINE(1160) ::Array< ::Dynamic> services = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE(1161) while((result->current < result->array->get_length())){
-HXLINE(1161) ::Dynamic row = result->array->__get(result->current++);
-HXLINE(1162) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
-HXLINE(1163) ::Array< ::String > features;
-HXDLIN(1163) ::Array< ::String > tmp;
-HXDLIN(1163) if (::hx::IsNotNull( json )) {
-HXLINE(1163) tmp = ( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1323_findServicesWithFeature)
+HXLINE(1324) ::Array< ::Dynamic> services = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1325) while((result->current < result->array->get_length())){
+HXLINE(1325) ::Dynamic row = result->array->__get(result->current++);
+HXLINE(1326) ::Dynamic json = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("caps",21,1c,ba,41),::hx::paccDynamic)) ))->doParse();
+HXLINE(1327) ::Array< ::String > features;
+HXDLIN(1327) ::Array< ::String > tmp;
+HXDLIN(1327) if (::hx::IsNotNull( json )) {
+HXLINE(1327) tmp = ( (::Array< ::String >)(json->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
}
else {
-HXLINE(1163) tmp = null();
+HXLINE(1327) tmp = null();
}
-HXDLIN(1163) if (::hx::IsNotNull( tmp )) {
-HXLINE(1163) features = tmp;
+HXDLIN(1327) if (::hx::IsNotNull( tmp )) {
+HXLINE(1327) features = tmp;
}
else {
-HXLINE(1163) features = ::Array_obj< ::String >::__new(0);
+HXLINE(1327) features = ::Array_obj< ::String >::__new(0);
}
-HXLINE(1164) if (features->contains(feature)) {
-HXLINE(1166) ::String row1 = ( (::String)(row->__Field(HX_("service_id",e5,24,3d,7d),::hx::paccDynamic)) );
-HXLINE(1167) ::String row2 = ( (::String)(row->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
-HXLINE(1168) ::String row3 = ( (::String)(row->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXLINE(1165) services->push( ::Dynamic(::hx::Anon_obj::Create(4)
+HXLINE(1328) if (features->contains(feature)) {
+HXLINE(1330) ::String row1 = ( (::String)(row->__Field(HX_("service_id",e5,24,3d,7d),::hx::paccDynamic)) );
+HXLINE(1331) ::String row2 = ( (::String)(row->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+HXLINE(1332) ::String row3 = ( (::String)(row->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+HXLINE(1329) services->push( ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("serviceId",70,93,d4,bc),row1)
->setFixed(1,HX_("caps",21,1c,ba,41),_gthis->hydrateCaps(json,null()))
->setFixed(2,HX_("name",4b,72,ff,48),row2)
->setFixed(3,HX_("node",02,0a,0a,49),row3)));
}
}
-HXLINE(1173) return services;
+HXLINE(1337) return services;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1154_findServicesWithFeature)
-HXDLIN(1154) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1156) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT service_id, name, node, json(caps.caps) AS caps FROM services INNER JOIN caps ON services.caps=caps.sha1 WHERE account_id=?",fc,fb,5f,40),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,feature)),null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1318_findServicesWithFeature)
+HXDLIN(1318) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1320) return ::thenshim::_Promise::Promise_Impl__obj::then(this->db->exec(HX_("SELECT service_id, name, node, json(caps.caps) AS caps FROM services INNER JOIN caps ON services.caps=caps.sha1 WHERE account_id=?",fc,fb,5f,40),::cpp::VirtualArray_obj::__new(1)->init(0,accountId)), ::Dynamic(new _hx_Closure_0(_gthis,feature)),null());
}
@@ -3320,71 +3389,71 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,findServicesWithFeature,return )
::Dynamic Sqlite_obj::hydrateReactions(::String accountId,::Array< ::Dynamic> messages){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,messages) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::ds::StringMap result){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1178_hydrateReactions)
-HXLINE(1179) {
-HXLINE(1179) ::Dynamic map = result;
-HXDLIN(1179) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
-HXDLIN(1179) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1179) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1179) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map,key)) );
-HXDLIN(1179) {
-HXLINE(1180) ::borogove::ChatMessage result1 = null();
-HXDLIN(1180) {
-HXLINE(1180) int _g = 0;
-HXDLIN(1180) while((_g < messages->length)){
-HXLINE(1180) ::borogove::ChatMessage v = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1180) _g = (_g + 1);
-HXLINE(1181) bool m;
-HXDLIN(1181) ::String m1;
-HXDLIN(1181) if (::hx::IsNull( v->serverId )) {
-HXLINE(1181) m1 = v->localId;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1342_hydrateReactions)
+HXLINE(1343) {
+HXLINE(1343) ::Dynamic map = result;
+HXDLIN(1343) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN(1343) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1343) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1343) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map,key)) );
+HXDLIN(1343) {
+HXLINE(1344) ::borogove::ChatMessage result1 = null();
+HXDLIN(1344) {
+HXLINE(1344) int _g = 0;
+HXDLIN(1344) while((_g < messages->length)){
+HXLINE(1344) ::borogove::ChatMessage v = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1344) _g = (_g + 1);
+HXLINE(1345) bool m;
+HXDLIN(1345) ::String m1;
+HXDLIN(1345) if (::hx::IsNull( v->serverId )) {
+HXLINE(1345) m1 = v->localId;
}
else {
-HXLINE(1181) m1 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
+HXLINE(1345) m1 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
}
-HXDLIN(1181) if ((((m1 + HX_("\n",0a,00,00,00)) + v->chatId()) != key)) {
-HXLINE(1182) ::String m2;
-HXDLIN(1182) if (::hx::IsNull( v->localId )) {
-HXLINE(1182) m2 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
+HXDLIN(1345) if ((((m1 + HX_("\n",0a,00,00,00)) + v->chatId()) != key)) {
+HXLINE(1346) ::String m2;
+HXDLIN(1346) if (::hx::IsNull( v->localId )) {
+HXLINE(1346) m2 = ((v->serverId + HX_("\n",0a,00,00,00)) + v->serverIdBy);
}
else {
-HXLINE(1182) m2 = v->localId;
+HXLINE(1346) m2 = v->localId;
}
-HXLINE(1181) m = (((m2 + HX_("\n",0a,00,00,00)) + v->chatId()) == key);
+HXLINE(1345) m = (((m2 + HX_("\n",0a,00,00,00)) + v->chatId()) == key);
}
else {
-HXLINE(1181) m = true;
+HXLINE(1345) m = true;
}
-HXLINE(1180) if (m) {
+HXLINE(1344) if (m) {
HXLINE( 96) result1 = v;
-HXLINE(1180) goto _hx_goto_214;
+HXLINE(1344) goto _hx_goto_229;
}
}
- _hx_goto_214:;
+ _hx_goto_229:;
}
-HXDLIN(1180) ::borogove::ChatMessage m3 = result1;
-HXLINE(1184) if (::hx::IsNotNull( m3 )) {
-HXLINE(1184) m3->set_reactions(_g_value);
+HXDLIN(1344) ::borogove::ChatMessage m3 = result1;
+HXLINE(1348) if (::hx::IsNotNull( m3 )) {
+HXLINE(1348) m3->set_reactions(_g_value);
}
}
}
}
-HXLINE(1186) return messages;
+HXLINE(1350) return messages;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1178_hydrateReactions)
-HXDLIN(1178) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
-HXDLIN(1178) {
-HXDLIN(1178) int _g = 0;
-HXDLIN(1178) int _g1 = messages->length;
-HXDLIN(1178) while((_g < _g1)){
-HXDLIN(1178) _g = (_g + 1);
-HXDLIN(1178) int i = (_g - 1);
-HXDLIN(1178) {
-HXDLIN(1178) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
-HXDLIN(1178) ::String inValue = m->chatId();
-HXDLIN(1178) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(4)
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1342_hydrateReactions)
+HXDLIN(1342) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(messages->length);
+HXDLIN(1342) {
+HXDLIN(1342) int _g = 0;
+HXDLIN(1342) int _g1 = messages->length;
+HXDLIN(1342) while((_g < _g1)){
+HXDLIN(1342) _g = (_g + 1);
+HXDLIN(1342) int i = (_g - 1);
+HXDLIN(1342) {
+HXDLIN(1342) ::borogove::ChatMessage m = ( ( ::borogove::ChatMessage)(_hx_array_unsafe_get(messages,i)) );
+HXDLIN(1342) ::String inValue = m->chatId();
+HXDLIN(1342) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("chatId",d3,04,77,b7),inValue)
->setFixed(1,HX_("serverId",7e,01,b2,e2),m->serverId)
->setFixed(2,HX_("localId",26,7a,c6,2d),m->localId)
@@ -3392,7 +3461,7 @@ HXDLIN(1178) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(4)
}
}
}
-HXDLIN(1178) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchReactions(accountId,result), ::Dynamic(new _hx_Closure_0(messages)),null());
+HXDLIN(1342) return ::thenshim::_Promise::Promise_Impl__obj::then(this->fetchReactions(accountId,result), ::Dynamic(new _hx_Closure_0(messages)),null());
}
@@ -3401,170 +3470,170 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateReactions,return )
::Dynamic Sqlite_obj::fetchReactions(::String accountId,::Array< ::Dynamic> ids){
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
::haxe::ds::StringMap _hx_run( ::haxe::iterators::ArrayIterator rows){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1206_fetchReactions)
-HXLINE(1207) ::haxe::ds::StringMap agg = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1208) while((rows->current < rows->array->get_length())){
-HXLINE(1208) ::Dynamic row = rows->array->__get(rows->current++);
-HXLINE(1209) ::cpp::VirtualArray reactions = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) ))->doParse()) );
-HXLINE(1210) ::String mapId;
-HXDLIN(1210) bool mapId1;
-HXDLIN(1210) if (::hx::IsNotNull( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) )) {
-HXLINE(1210) mapId1 = ::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) );
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1370_fetchReactions)
+HXLINE(1371) ::haxe::ds::StringMap agg = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1372) while((rows->current < rows->array->get_length())){
+HXLINE(1372) ::Dynamic row = rows->array->__get(rows->current++);
+HXLINE(1373) ::cpp::VirtualArray reactions = ( (::cpp::VirtualArray)( ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("reactions",aa,cc,95,e7),::hx::paccDynamic)) ))->doParse()) );
+HXLINE(1374) ::String mapId;
+HXDLIN(1374) bool mapId1;
+HXDLIN(1374) if (::hx::IsNotNull( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) )) {
+HXLINE(1374) mapId1 = ::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE(1210) mapId1 = true;
+HXLINE(1374) mapId1 = true;
}
-HXDLIN(1210) if (mapId1) {
-HXLINE(1210) mapId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
+HXDLIN(1374) if (mapId1) {
+HXLINE(1374) mapId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
}
else {
-HXLINE(1210) mapId = ( (::String)(((row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) + HX_("\n",0a,00,00,00)) + row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic))) );
- }
-HXDLIN(1210) ::String mapId2 = ( (::String)(((mapId + HX_("\n",0a,00,00,00)) + row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic))) );
-HXLINE(1211) if (!(agg->exists(mapId2))) {
-HXLINE(1211) agg->set(mapId2, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
- }
-HXLINE(1212) ::haxe::ds::StringMap map = ( ( ::haxe::ds::StringMap)(agg->get(mapId2)) );
-HXLINE(1213) if (!(map->exists(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) )))) {
-HXLINE(1213) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),::cpp::VirtualArray_obj::__new(0));
- }
-HXLINE(1214) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),1 )) {
-HXLINE(1215) int _g = 0;
-HXDLIN(1215) while((_g < reactions->get_length())){
-HXLINE(1215) ::Dynamic reaction = reactions->__get(_g);
-HXDLIN(1215) _g = (_g + 1);
-HXDLIN(1215) ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) )->push(reaction);
+HXLINE(1374) mapId = ( (::String)(((row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic) + HX_("\n",0a,00,00,00)) + row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic))) );
+ }
+HXDLIN(1374) ::String mapId2 = ( (::String)(((mapId + HX_("\n",0a,00,00,00)) + row->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic))) );
+HXLINE(1375) if (!(agg->exists(mapId2))) {
+HXLINE(1375) agg->set(mapId2, ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
+ }
+HXLINE(1376) ::haxe::ds::StringMap map = ( ( ::haxe::ds::StringMap)(agg->get(mapId2)) );
+HXLINE(1377) if (!(map->exists(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) )))) {
+HXLINE(1377) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),::cpp::VirtualArray_obj::__new(0));
+ }
+HXLINE(1378) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),1 )) {
+HXLINE(1379) int _g = 0;
+HXDLIN(1379) while((_g < reactions->get_length())){
+HXLINE(1379) ::Dynamic reaction = reactions->__get(_g);
+HXDLIN(1379) _g = (_g + 1);
+HXDLIN(1379) ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) )->push(reaction);
}
}
else {
-HXLINE(1216) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),0 )) {
-HXLINE(1217) ::String k = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
-HXDLIN(1217) ::cpp::VirtualArray _this = ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) );
-HXDLIN(1217) ::cpp::VirtualArray _g1 = ::cpp::VirtualArray_obj::__new(0);
-HXDLIN(1217) {
-HXLINE(1217) int _g2 = 0;
-HXDLIN(1217) while((_g2 < _this->get_length())){
-HXLINE(1217) ::Dynamic v = _this->__get(_g2);
-HXDLIN(1217) _g2 = (_g2 + 1);
-HXDLIN(1217) if (::hx::IsNotNull( v->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
-HXLINE(1217) _g1->push(v);
+HXLINE(1380) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),0 )) {
+HXLINE(1381) ::String k = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
+HXDLIN(1381) ::cpp::VirtualArray _this = ( (::cpp::VirtualArray)(map->get( ::Dynamic(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)))) );
+HXDLIN(1381) ::cpp::VirtualArray _g1 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN(1381) {
+HXLINE(1381) int _g2 = 0;
+HXDLIN(1381) while((_g2 < _this->get_length())){
+HXLINE(1381) ::Dynamic v = _this->__get(_g2);
+HXDLIN(1381) _g2 = (_g2 + 1);
+HXDLIN(1381) if (::hx::IsNotNull( v->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
+HXLINE(1381) _g1->push(v);
}
}
}
-HXDLIN(1217) ::cpp::VirtualArray v1 = reactions->concat(_g1);
-HXDLIN(1217) map->set(k,v1);
+HXDLIN(1381) ::cpp::VirtualArray v1 = reactions->concat(_g1);
+HXDLIN(1381) map->set(k,v1);
}
else {
-HXLINE(1218) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),2 )) {
-HXLINE(1219) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),reactions);
+HXLINE(1382) if (::hx::IsEq( row->__Field(HX_("kind",54,e1,09,47),::hx::paccDynamic),2 )) {
+HXLINE(1383) map->set(( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) ),reactions);
}
}
}
}
-HXLINE(1222) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1223) {
-HXLINE(1223) ::Dynamic map1 = agg;
-HXDLIN(1223) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map1);
-HXDLIN(1223) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1223) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXDLIN(1223) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map1,key)) );
-HXDLIN(1223) {
-HXLINE(1224) ::haxe::ds::StringMap map2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
-HXLINE(1225) {
-HXLINE(1225) ::Dynamic reactionsBySender = _g_value->iterator();
-HXDLIN(1225) while(( (bool)(reactionsBySender->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
-HXLINE(1225) ::cpp::VirtualArray reactionsBySender1 = ( (::cpp::VirtualArray)(reactionsBySender->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
-HXLINE(1226) {
-HXLINE(1226) int _g3 = 0;
-HXDLIN(1226) while((_g3 < reactionsBySender1->get_length())){
-HXLINE(1226) ::Dynamic reactionD = reactionsBySender1->__get(_g3);
-HXDLIN(1226) _g3 = (_g3 + 1);
-HXLINE(1227) ::borogove::Reaction reaction1;
-HXDLIN(1227) if (::hx::IsNull( reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
-HXLINE(1227) reaction1 = ::borogove::Reaction_obj::__alloc( HX_CTX ,( (::String)(reactionD->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("envelopeId",0b,03,af,a8),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) ));
+HXLINE(1386) ::haxe::ds::StringMap result = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1387) {
+HXLINE(1387) ::Dynamic map1 = agg;
+HXDLIN(1387) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map1);
+HXDLIN(1387) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1387) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN(1387) ::haxe::ds::StringMap _g_value = ( ( ::haxe::ds::StringMap)(::haxe::IMap_obj::get(map1,key)) );
+HXDLIN(1387) {
+HXLINE(1388) ::haxe::ds::StringMap map2 = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXLINE(1389) {
+HXLINE(1389) ::Dynamic reactionsBySender = _g_value->iterator();
+HXDLIN(1389) while(( (bool)(reactionsBySender->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1389) ::cpp::VirtualArray reactionsBySender1 = ( (::cpp::VirtualArray)(reactionsBySender->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXLINE(1390) {
+HXLINE(1390) int _g3 = 0;
+HXDLIN(1390) while((_g3 < reactionsBySender1->get_length())){
+HXLINE(1390) ::Dynamic reactionD = reactionsBySender1->__get(_g3);
+HXDLIN(1390) _g3 = (_g3 + 1);
+HXLINE(1391) ::borogove::Reaction reaction1;
+HXDLIN(1391) if (::hx::IsNull( reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic) )) {
+HXLINE(1391) reaction1 = ::borogove::Reaction_obj::__alloc( HX_CTX ,( (::String)(reactionD->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("envelopeId",0b,03,af,a8),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("key",9f,89,51,00),::hx::paccDynamic)) ));
}
else {
-HXLINE(1227) reaction1 = ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,( (::String)(reactionD->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("envelopeId",0b,03,af,a8),::hx::paccDynamic)) ));
+HXLINE(1391) reaction1 = ::borogove::CustomEmojiReaction_obj::__alloc( HX_CTX ,( (::String)(reactionD->__Field(HX_("senderId",f0,1e,0e,ec),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("text",ad,cc,f9,4c),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("uri",6c,2b,59,00),::hx::paccDynamic)) ),( (::String)(reactionD->__Field(HX_("envelopeId",0b,03,af,a8),::hx::paccDynamic)) ));
}
-HXLINE(1233) if (!(map2->exists(reaction1->key))) {
-HXLINE(1233) map2->set(reaction1->key,::Array_obj< ::Dynamic>::__new(0));
+HXLINE(1397) if (!(map2->exists(reaction1->key))) {
+HXLINE(1397) map2->set(reaction1->key,::Array_obj< ::Dynamic>::__new(0));
}
-HXLINE(1234) ( (::Array< ::Dynamic>)(map2->get(reaction1->key)) )->push(reaction1);
+HXLINE(1398) ( (::Array< ::Dynamic>)(map2->get(reaction1->key)) )->push(reaction1);
}
}
}
}
-HXLINE(1237) result->set(key,map2);
+HXLINE(1401) result->set(key,map2);
}
}
}
-HXLINE(1239) return result;
+HXLINE(1403) return result;
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1190_fetchReactions)
-HXLINE(1191) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
-HXLINE(1192) {
-HXLINE(1192) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1192) q->flush();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1354_fetchReactions)
+HXLINE(1355) ::StringBuf q = ::StringBuf_obj::__alloc( HX_CTX );
+HXLINE(1356) {
+HXLINE(1356) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1356) q->flush();
}
-HXDLIN(1192) if (::hx::IsNull( q->b )) {
-HXLINE(1192) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_226,1);
+HXDLIN(1356) if (::hx::IsNull( q->b )) {
+HXLINE(1356) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_241,1);
}
else {
-HXLINE(1192) q->b->push(HX_("SELECT kind, chat_id, mam_id, mam_by, stanza_id, sender_id, json(reactions) AS reactions FROM reactions WHERE 1=0",d2,04,de,a3));
- }
- }
-HXLINE(1193) ::Array< ::String > params = ::Array_obj< ::String >::__new(0);
-HXLINE(1194) {
-HXLINE(1194) int _g = 0;
-HXDLIN(1194) while((_g < ids->length)){
-HXLINE(1194) ::Dynamic item = ids->__get(_g);
-HXDLIN(1194) _g = (_g + 1);
-HXLINE(1195) if (::hx::IsNotNull( item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
-HXLINE(1196) {
-HXLINE(1196) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1196) q->flush();
+HXLINE(1356) q->b->push(HX_("SELECT kind, chat_id, mam_id, mam_by, stanza_id, sender_id, json(reactions) AS reactions FROM reactions WHERE 1=0",d2,04,de,a3));
+ }
+ }
+HXLINE(1357) ::Array< ::String > params = ::Array_obj< ::String >::__new(0);
+HXLINE(1358) {
+HXLINE(1358) int _g = 0;
+HXDLIN(1358) while((_g < ids->length)){
+HXLINE(1358) ::Dynamic item = ids->__get(_g);
+HXDLIN(1358) _g = (_g + 1);
+HXLINE(1359) if (::hx::IsNotNull( item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
+HXLINE(1360) {
+HXLINE(1360) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1360) q->flush();
}
-HXDLIN(1196) if (::hx::IsNull( q->b )) {
-HXLINE(1196) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_227,1);
+HXDLIN(1360) if (::hx::IsNull( q->b )) {
+HXLINE(1360) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_242,1);
}
else {
-HXLINE(1196) q->b->push(HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5));
+HXLINE(1360) q->b->push(HX_(" OR (mam_id=? AND mam_by=?)",0f,bb,c5,e5));
}
}
-HXLINE(1197) params->push( ::Dynamic(item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
-HXLINE(1198) params->push( ::Dynamic(item->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)));
+HXLINE(1361) params->push( ::Dynamic(item->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
+HXLINE(1362) params->push( ::Dynamic(item->__Field(HX_("serverIdBy",f5,16,54,74),::hx::paccDynamic)));
}
-HXLINE(1200) if (::hx::IsNotNull( item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic) )) {
-HXLINE(1201) {
-HXLINE(1201) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1201) q->flush();
+HXLINE(1364) if (::hx::IsNotNull( item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic) )) {
+HXLINE(1365) {
+HXLINE(1365) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1365) q->flush();
}
-HXDLIN(1201) if (::hx::IsNull( q->b )) {
-HXLINE(1201) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_228,1);
+HXDLIN(1365) if (::hx::IsNull( q->b )) {
+HXLINE(1365) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_243,1);
}
else {
-HXLINE(1201) q->b->push(HX_(" OR stanza_id=?",6a,1d,f2,5b));
+HXLINE(1365) q->b->push(HX_(" OR stanza_id=?",6a,1d,f2,5b));
}
}
-HXLINE(1202) params->push( ::Dynamic(item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
+HXLINE(1366) params->push( ::Dynamic(item->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
}
}
}
-HXLINE(1205) {
-HXLINE(1205) if (::hx::IsNotNull( q->charBuf )) {
-HXLINE(1205) q->flush();
+HXLINE(1369) {
+HXLINE(1369) if (::hx::IsNotNull( q->charBuf )) {
+HXLINE(1369) q->flush();
}
-HXDLIN(1205) if (::hx::IsNull( q->b )) {
-HXLINE(1205) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_229,1);
+HXDLIN(1369) if (::hx::IsNull( q->b )) {
+HXLINE(1369) q->b = ::Array_obj< ::String >::fromData( _hx_array_data_99390348_244,1);
}
else {
-HXLINE(1205) q->b->push(HX_(" ORDER BY created_at, ROWID",00,65,8d,0e));
+HXLINE(1369) q->b->push(HX_(" ORDER BY created_at, ROWID",00,65,8d,0e));
}
}
-HXLINE(1206) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
-HXDLIN(1206) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE(1370) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXDLIN(1370) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp->exec(q->toString(),params), ::Dynamic(new _hx_Closure_0()),null());
}
@@ -3573,397 +3642,849 @@ HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,fetchReactions,return )
::Dynamic Sqlite_obj::hydrateReplyTo(::String accountId,::Array< ::Dynamic> messages,::Array< ::Dynamic> replyTos){
HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_1,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
::Array< ::Dynamic> _hx_run( ::haxe::iterators::ArrayIterator iter){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1274_hydrateReplyTo)
-HXLINE(1275) if (::hx::IsNotNull( iter )) {
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1443_hydrateReplyTo)
+HXLINE(1444) if (::hx::IsNotNull( iter )) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::haxe::iterators::ArrayIterator,iter) HXARGC(0)
::haxe::iterators::ArrayIterator _hx_run(){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1276_hydrateReplyTo)
-HXLINE(1276) return iter;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1445_hydrateReplyTo)
+HXLINE(1445) return iter;
}
HX_END_LOCAL_FUNC0(return)
-HXLINE(1276) ::Array< ::Dynamic> parents = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE(1445) ::Array< ::Dynamic> parents = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(iter)))));
-HXLINE(1277) {
-HXLINE(1277) int _g = 0;
-HXDLIN(1277) while((_g < messages->length)){
-HXLINE(1277) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
-HXDLIN(1277) _g = (_g + 1);
-HXLINE(1278) if (::hx::IsNotNull( message->replyToMessage )) {
-HXLINE(1279) ::Dynamic result = null();
-HXDLIN(1279) {
-HXLINE(1279) int _g1 = 0;
-HXDLIN(1279) while((_g1 < parents->length)){
-HXLINE(1279) ::Dynamic v = parents->__get(_g1);
-HXDLIN(1279) _g1 = (_g1 + 1);
-HXDLIN(1279) bool found;
-HXDLIN(1279) bool found1;
-HXDLIN(1279) ::String v1 = ( (::String)(v->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
-HXDLIN(1279) if ((v1 == message->chatId())) {
-HXLINE(1279) if (::hx::IsNotNull( message->replyToMessage->serverId )) {
-HXLINE(1279) found1 = ::hx::IsEq( v->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),message->replyToMessage->serverId );
+HXLINE(1446) {
+HXLINE(1446) int _g = 0;
+HXDLIN(1446) while((_g < messages->length)){
+HXLINE(1446) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1446) _g = (_g + 1);
+HXLINE(1447) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE(1448) ::Dynamic result = null();
+HXDLIN(1448) {
+HXLINE(1448) int _g1 = 0;
+HXDLIN(1448) while((_g1 < parents->length)){
+HXLINE(1448) ::Dynamic v = parents->__get(_g1);
+HXDLIN(1448) _g1 = (_g1 + 1);
+HXDLIN(1448) bool found;
+HXDLIN(1448) bool found1;
+HXDLIN(1448) ::String v1 = ( (::String)(v->__Field(HX_("chat_id",22,ea,bd,d0),::hx::paccDynamic)) );
+HXDLIN(1448) if ((v1 == message->chatId())) {
+HXLINE(1448) if (::hx::IsNotNull( message->replyToMessage->serverId )) {
+HXLINE(1448) found1 = ::hx::IsEq( v->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),message->replyToMessage->serverId );
}
else {
-HXLINE(1279) found1 = true;
+HXLINE(1448) found1 = true;
}
}
else {
-HXLINE(1279) found1 = false;
+HXLINE(1448) found1 = false;
}
-HXDLIN(1279) if (found1) {
-HXLINE(1279) if (::hx::IsNotNull( message->replyToMessage->localId )) {
-HXLINE(1279) found = ::hx::IsEq( v->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),message->replyToMessage->localId );
+HXDLIN(1448) if (found1) {
+HXLINE(1448) if (::hx::IsNotNull( message->replyToMessage->localId )) {
+HXLINE(1448) found = ::hx::IsEq( v->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),message->replyToMessage->localId );
}
else {
-HXLINE(1279) found = true;
+HXLINE(1448) found = true;
}
}
else {
-HXLINE(1279) found = false;
+HXLINE(1448) found = false;
}
-HXDLIN(1279) if (found) {
-HXLINE(1279) result = v;
-HXDLIN(1279) goto _hx_goto_232;
+HXDLIN(1448) if (found) {
+HXLINE(1448) result = v;
+HXDLIN(1448) goto _hx_goto_247;
}
}
- _hx_goto_232:;
+ _hx_goto_247:;
}
-HXDLIN(1279) ::Dynamic found2 = result;
-HXLINE(1280) if (::hx::IsNotNull( found2 )) {
-HXLINE(1280) message->set_replyToMessage(_gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::cpp::VirtualArray_obj::__new(1)->init(0,found2)))->__get(0).StaticCast< ::borogove::ChatMessage >());
+HXDLIN(1448) ::Dynamic found2 = result;
+HXLINE(1449) if (::hx::IsNotNull( found2 )) {
+HXLINE(1449) message->set_replyToMessage(_gthis->hydrateMessages(accountId, ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,::cpp::VirtualArray_obj::__new(1)->init(0,found2)))->__get(0).StaticCast< ::borogove::ChatMessage >());
}
}
}
}
}
-HXLINE(1284) return messages;
+HXLINE(1453) return messages;
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1243_hydrateReplyTo)
-HXDLIN(1243) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE(1244) ::Dynamic _hx_tmp;
-HXDLIN(1244) if ((replyTos->length < 1)) {
-HXLINE(1244) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1407_hydrateReplyTo)
+HXDLIN(1407) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1408) ::Dynamic _hx_tmp;
+HXDLIN(1408) if ((replyTos->length < 1)) {
+HXLINE(1408) _hx_tmp = ::thenshim::_Promise::Promise_Impl__obj::resolve(null());
}
else {
-HXLINE(1247) ::Array< ::String > mamIds = ::Array_obj< ::String >::__new(0);
-HXLINE(1248) ::Array< ::String > mamIdsS = ::Array_obj< ::String >::__new(0);
-HXLINE(1249) ::Array< ::String > stanzaIds = ::Array_obj< ::String >::__new(0);
-HXLINE(1250) ::Array< ::String > stanzaIdsS = ::Array_obj< ::String >::__new(0);
-HXLINE(1251) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
-HXLINE(1253) {
-HXLINE(1253) int _g = 0;
-HXDLIN(1253) while((_g < replyTos->length)){
-HXLINE(1253) ::Dynamic parent = replyTos->__get(_g);
-HXDLIN(1253) _g = (_g + 1);
-HXLINE(1254) if (::hx::IsNotNull( parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
-HXLINE(1255) mamIds->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
-HXLINE(1256) mamIds->push( ::Dynamic(parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
-HXLINE(1257) mamIdsS->push(HX_("(?,?)",7f,3f,cd,31));
+HXLINE(1411) ::Array< ::String > mamIds = ::Array_obj< ::String >::__new(0);
+HXLINE(1412) ::Array< ::String > mamIdsS = ::Array_obj< ::String >::__new(0);
+HXLINE(1413) ::Array< ::String > stanzaIds = ::Array_obj< ::String >::__new(0);
+HXLINE(1414) ::Array< ::String > stanzaIdsS = ::Array_obj< ::String >::__new(0);
+HXLINE(1415) ::Array< ::String > params = ::Array_obj< ::String >::__new(1)->init(0,accountId);
+HXLINE(1416) ::String qStart = ((HX_("\n\t\t\t\tSELECT\n\t\t\t\t\t",c5,63,82,76) + ::borogove::persistence::Sqlite_obj::messageColumnsString(::Array_obj< ::Dynamic>::__new(2)->init(0,::borogove::persistence::Sqlite_obj::col(HX_("stanza_id",25,7b,7a,e9),null()))->init(1,::borogove::persistence::Sqlite_obj::col(HX_("chat_id",22,ea,bd,d0),null())))) + HX_("\n\t\t\t\tFROM messages\n\t\t\t\tWHERE account_id=?\n\t\t\t",79,78,98,6f));
+HXLINE(1422) {
+HXLINE(1422) int _g = 0;
+HXDLIN(1422) while((_g < replyTos->length)){
+HXLINE(1422) ::Dynamic parent = replyTos->__get(_g);
+HXDLIN(1422) _g = (_g + 1);
+HXLINE(1423) if (::hx::IsNotNull( parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic) )) {
+HXLINE(1424) mamIds->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
+HXLINE(1425) mamIds->push( ::Dynamic(parent->__Field(HX_("serverId",7e,01,b2,e2),::hx::paccDynamic)));
+HXLINE(1426) mamIdsS->push(HX_("(?,?)",7f,3f,cd,31));
}
else {
-HXLINE(1259) stanzaIds->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
-HXLINE(1260) stanzaIds->push( ::Dynamic(parent->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
-HXLINE(1261) stanzaIdsS->push(HX_("(?,?)",7f,3f,cd,31));
+HXLINE(1428) stanzaIds->push( ::Dynamic(parent->__Field(HX_("chatId",d3,04,77,b7),::hx::paccDynamic)));
+HXLINE(1429) stanzaIds->push( ::Dynamic(parent->__Field(HX_("localId",26,7a,c6,2d),::hx::paccDynamic)));
+HXLINE(1430) stanzaIdsS->push(HX_("(?,?)",7f,3f,cd,31));
}
}
}
-HXLINE(1264) ::Array< ::String > q = ::Array_obj< ::String >::__new(0);
-HXLINE(1265) if ((mamIds->length > 0)) {
-HXLINE(1266) q->push((((HX_("SELECT chat_id, stanza_id, stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=?",4d,a5,ce,57) + HX_(" AND (chat_id, mam_id) IN (",9c,23,d1,7d)) + mamIdsS->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)));
-HXLINE(1267) params = params->concat(mamIds);
+HXLINE(1433) ::Array< ::String > q = ::Array_obj< ::String >::__new(0);
+HXLINE(1434) if ((mamIds->length > 0)) {
+HXLINE(1435) q->push((((qStart + HX_(" AND (chat_id, mam_id) IN (",9c,23,d1,7d)) + mamIdsS->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)));
+HXLINE(1436) params = params->concat(mamIds);
}
-HXLINE(1269) if ((stanzaIds->length > 0)) {
-HXLINE(1270) q->push((((HX_("SELECT chat_id, stanza_id, stanza, direction, type, status, status_text, strftime('%FT%H:%M:%fZ', created_at / 1000.0, 'unixepoch') AS timestamp, sender_id, mam_id, mam_by, sort_id, sync_point FROM messages WHERE account_id=?",4d,a5,ce,57) + HX_(" AND (chat_id, stanza_id) IN (",72,6a,27,14)) + stanzaIdsS->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)));
-HXLINE(1271) params = params->concat(stanzaIds);
+HXLINE(1438) if ((stanzaIds->length > 0)) {
+HXLINE(1439) q->push((((qStart + HX_(" AND (chat_id, stanza_id) IN (",72,6a,27,14)) + stanzaIdsS->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00)));
+HXLINE(1440) params = params->concat(stanzaIds);
}
-HXLINE(1273) ::borogove::persistence::SqliteDriver _hx_tmp1 = this->db;
-HXLINE(1244) _hx_tmp = _hx_tmp1->exec(q->join(HX_(" UNION ALL ",f0,e4,70,26)),params);
+HXLINE(1442) ::borogove::persistence::SqliteDriver _hx_tmp1 = this->db;
+HXLINE(1408) _hx_tmp = _hx_tmp1->exec(q->join(HX_(" UNION ALL ",f0,e4,70,26)),params);
}
-HXDLIN(1244) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_1(messages,_gthis,accountId)),null());
+HXDLIN(1408) return ::thenshim::_Promise::Promise_Impl__obj::then(_hx_tmp, ::Dynamic(new _hx_Closure_1(messages,_gthis,accountId)),null());
}
HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,hydrateReplyTo,return )
+ ::borogove::EncryptionInfo Sqlite_obj::hydrateEncryption( ::Dynamic encryption){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1463_hydrateEncryption)
+HXLINE(1464) if (::hx::IsNull( encryption )) {
+HXLINE(1464) return null();
+ }
+HXLINE(1466) return ::borogove::EncryptionInfo_obj::__alloc( HX_CTX ,( (int)(encryption->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic)) ),( (::String)(encryption->__Field(HX_("method",e1,f6,5a,09),::hx::paccDynamic)) ),( (::String)(encryption->__Field(HX_("reason",c4,0f,9d,fc),::hx::paccDynamic)) ),( (::String)(encryption->__Field(HX_("reasonText",91,3a,2d,24),::hx::paccDynamic)) ),( (::String)(encryption->__Field(HX_("methodName",cc,19,0f,12),::hx::paccDynamic)) ));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,hydrateEncryption,return )
+
+::Dynamic Sqlite_obj::hydrateMessagesAndLoadMeta(::String accountId, ::Dynamic rows){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1496_hydrateMessagesAndLoadMeta)
+HXDLIN(1496) return this->messagesLoadMeta(accountId,this->hydrateMessages(accountId,rows));
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateMessagesAndLoadMeta,return )
+
+::Dynamic Sqlite_obj::messagesLoadMeta(::String accountId,::Array< ::Dynamic> messages){
+ HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,messages, ::borogove::persistence::Sqlite,_gthis,::Array< ::Dynamic>,replyTos,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> _){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1511_messagesLoadMeta)
+HXLINE(1511) return _gthis->hydrateReplyTo(accountId,messages,replyTos);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::Sqlite,_gthis,::String,accountId) HXARGC(1)
+ ::Dynamic _hx_run(::Array< ::Dynamic> messages){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1512_messagesLoadMeta)
+HXLINE(1512) return _gthis->hydrateReactions(accountId,messages);
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1499_messagesLoadMeta)
+HXDLIN(1499) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1500) ::Array< ::Dynamic> replyTos = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1501) ::Array< ::Dynamic> attachments = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE(1502) {
+HXLINE(1502) int _g = 0;
+HXDLIN(1502) while((_g < messages->length)){
+HXLINE(1502) ::borogove::ChatMessage message = messages->__get(_g).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1502) _g = (_g + 1);
+HXLINE(1503) bool _hx_tmp;
+HXDLIN(1503) if (::hx::IsNotNull( message->replyToMessage )) {
+HXLINE(1503) _hx_tmp = ::hx::IsNull( message->replyToMessage->stanza );
+ }
+ else {
+HXLINE(1503) _hx_tmp = false;
+ }
+HXDLIN(1503) if (_hx_tmp) {
+HXLINE(1504) ::Array< ::Dynamic> replyTos1 = replyTos;
+HXDLIN(1504) ::String _hx_tmp1 = message->chatId();
+HXDLIN(1504) replyTos1->push( ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("chatId",d3,04,77,b7),_hx_tmp1)
+ ->setFixed(1,HX_("serverId",7e,01,b2,e2),message->replyToMessage->serverId)
+ ->setFixed(2,HX_("localId",26,7a,c6,2d),message->replyToMessage->localId)));
+ }
+HXLINE(1506) {
+HXLINE(1506) int _g1 = 0;
+HXDLIN(1506) ::Array< ::Dynamic> _g2 = message->attachments;
+HXDLIN(1506) while((_g1 < _g2->length)){
+HXLINE(1506) ::borogove::ChatAttachment attachment = _g2->__get(_g1).StaticCast< ::borogove::ChatAttachment >();
+HXDLIN(1506) _g1 = (_g1 + 1);
+HXLINE(1507) attachments->push(attachment->lookup(::hx::ObjectPtr<OBJ_>(this)));
+ }
+ }
+ }
+ }
+HXLINE(1510) return ::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::_Promise::Promise_Impl__obj::then(::thenshim::PromiseTools_obj::all(attachments), ::Dynamic(new _hx_Closure_0(messages,_gthis,replyTos,accountId)),null()), ::Dynamic(new _hx_Closure_1(_gthis,accountId)),null());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,messagesLoadMeta,return )
+
::Array< ::Dynamic> Sqlite_obj::hydrateMessages(::String accountId, ::Dynamic rows){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1288_hydrateMessages)
-HXLINE(1290) ::borogove::JID accountJid = ::borogove::JID_obj::parse(accountId);
-HXLINE(1291) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
-HXDLIN(1291) {
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1535_hydrateMessages)
+HXDLIN(1535) ::borogove::persistence::Sqlite _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE(1537) ::borogove::JID accountJid = ::borogove::JID_obj::parse(accountId);
+HXLINE(1538) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1538) {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,rows) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1291_hydrateMessages)
-HXLINE(1291) return rows;
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1538_hydrateMessages)
+HXLINE(1538) return rows;
}
HX_END_LOCAL_FUNC0(return)
-HXLINE(1291) ::Dynamic x = ::Dynamic(new _hx_Closure_0(rows))();
-HXDLIN(1291) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_3, ::borogove::JID,accountJid, ::Dynamic,row) HXARGC(2)
+HXLINE(1538) ::Dynamic x = ::Dynamic(new _hx_Closure_0(rows))();
+HXDLIN(1538) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+ HX_BEGIN_LOCAL_FUNC_S3(::hx::LocalFunc,_hx_Closure_3, ::borogove::JID,accountJid, ::borogove::persistence::Sqlite,_gthis, ::Dynamic,row) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder builder, ::borogove::Stanza _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1291_hydrateMessages)
-HXLINE(1292) builder->syncPoint = ::hx::IsNotEq( row->__Field(HX_("sync_point",2c,6c,7f,80),::hx::paccDynamic),0 );
-HXLINE(1293) builder->timestamp = ( (::String)(row->__Field(HX_("timestamp",d6,d4,ce,a5),::hx::paccDynamic)) );
-HXLINE(1294) builder->type = ( (int)(row->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) );
-HXLINE(1295) builder->status = ( (int)(row->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic)) );
-HXLINE(1296) builder->statusText = ( (::String)(row->__Field(HX_("status_text",1a,ac,61,da),::hx::paccDynamic)) );
-HXLINE(1297) builder->senderId = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
-HXLINE(1298) ::String _hx_tmp;
-HXDLIN(1298) if (::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
-HXLINE(1298) _hx_tmp = null();
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1538_hydrateMessages)
+HXLINE(1539) builder->syncPoint = ::hx::IsNotEq( row->__Field(HX_("sync_point",2c,6c,7f,80),::hx::paccDynamic),0 );
+HXLINE(1540) builder->timeSent = ( (::String)(row->__Field(HX_("time_sent",0a,0e,25,21),::hx::paccDynamic)) );
+HXLINE(1541) builder->timeReceived = ( (::String)(row->__Field(HX_("time_received",d3,06,65,79),::hx::paccDynamic)) );
+HXLINE(1542) builder->type = ( (int)(row->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) );
+HXLINE(1543) builder->status = ( (int)(row->__Field(HX_("status",32,e7,fb,05),::hx::paccDynamic)) );
+HXLINE(1544) builder->statusText = ( (::String)(row->__Field(HX_("status_text",1a,ac,61,da),::hx::paccDynamic)) );
+HXLINE(1545) builder->senderId = ( (::String)(row->__Field(HX_("sender_id",65,a9,5d,a0),::hx::paccDynamic)) );
+HXLINE(1546) ::String _hx_tmp;
+HXDLIN(1546) if (::hx::IsEq( row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
+HXLINE(1546) _hx_tmp = null();
+ }
+ else {
+HXLINE(1546) _hx_tmp = ( (::String)(row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic)) );
+ }
+HXDLIN(1546) builder->serverId = _hx_tmp;
+HXLINE(1547) ::String _hx_tmp1;
+HXDLIN(1547) if (::hx::IsEq( row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
+HXLINE(1547) _hx_tmp1 = null();
}
else {
-HXLINE(1298) _hx_tmp = ( (::String)(row->__Field(HX_("mam_id",01,4d,19,b7),::hx::paccDynamic)) );
+HXLINE(1547) _hx_tmp1 = ( (::String)(row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic)) );
}
-HXDLIN(1298) builder->serverId = _hx_tmp;
-HXLINE(1299) ::String _hx_tmp1;
-HXDLIN(1299) if (::hx::IsEq( row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic),HX_("",00,00,00,00) )) {
-HXLINE(1299) _hx_tmp1 = null();
+HXDLIN(1547) builder->serverIdBy = _hx_tmp1;
+HXLINE(1548) builder->sortId = ( (::String)(row->__Field(HX_("sort_id",5c,b9,64,00),::hx::paccDynamic)) );
+HXLINE(1549) ::Dynamic _hx_tmp2;
+HXDLIN(1549) if (::hx::IsNull( row->__Field(HX_("debug",53,52,1f,d7),::hx::paccDynamic) )) {
+HXLINE(1549) _hx_tmp2 = null();
}
else {
-HXLINE(1299) _hx_tmp1 = ( (::String)(row->__Field(HX_("mam_by",fd,46,19,b7),::hx::paccDynamic)) );
+HXLINE(1549) _hx_tmp2 = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("debug",53,52,1f,d7),::hx::paccDynamic)) ))->doParse();
}
-HXDLIN(1299) builder->serverIdBy = _hx_tmp1;
-HXLINE(1300) builder->sortId = ( (::String)(row->__Field(HX_("sort_id",5c,b9,64,00),::hx::paccDynamic)) );
-HXLINE(1301) if (::hx::IsNotEq( builder->direction,row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic) )) {
-HXLINE(1302) builder->direction = ( (int)(row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic)) );
-HXLINE(1303) ::Array< ::Dynamic> replyTo = builder->replyTo;
-HXLINE(1304) builder->replyTo = builder->recipients;
-HXLINE(1305) builder->recipients = replyTo;
+HXDLIN(1549) builder->debug = _hx_tmp2;
+HXLINE(1550) if (::hx::IsNotEq( builder->direction,row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic) )) {
+HXLINE(1551) builder->direction = ( (int)(row->__Field(HX_("direction",3f,62,40,10),::hx::paccDynamic)) );
+HXLINE(1552) ::Array< ::Dynamic> replyTo = builder->replyTo;
+HXLINE(1553) builder->replyTo = builder->recipients;
+HXLINE(1554) builder->recipients = replyTo;
}
-HXLINE(1307) bool _hx_tmp2;
-HXDLIN(1307) if (::hx::IsNotNull( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic) )) {
-HXLINE(1307) _hx_tmp2 = ::hx::IsNotEq( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),HX_("",00,00,00,00) );
+HXLINE(1556) bool _hx_tmp3;
+HXDLIN(1556) if (::hx::IsNotNull( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic) )) {
+HXLINE(1556) _hx_tmp3 = ::hx::IsNotEq( row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic),HX_("",00,00,00,00) );
}
else {
-HXLINE(1307) _hx_tmp2 = false;
+HXLINE(1556) _hx_tmp3 = false;
}
-HXDLIN(1307) if (_hx_tmp2) {
-HXLINE(1307) builder->localId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
+HXDLIN(1556) if (_hx_tmp3) {
+HXLINE(1556) builder->localId = ( (::String)(row->__Field(HX_("stanza_id",25,7b,7a,e9),::hx::paccDynamic)) );
}
-HXLINE(1308) if (::hx::IsNotNull( row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic) )) {
-HXLINE(1309) ::Dynamic versionTimes = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("version_times",1f,50,f9,17),::hx::paccDynamic)) ))->doParse();
-HXLINE(1310) ::Dynamic versions = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) ))->doParse();
-HXLINE(1311) if ((::Reflect_obj::fields(versions)->length > 1)) {
+HXLINE(1557) if (::hx::IsNotNull( row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic) )) {
+HXLINE(1558) ::Dynamic versions = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("versions",5b,4e,b8,d6),::hx::paccDynamic)) ))->doParse();
+HXLINE(1567) if ((::Reflect_obj::fields(versions)->length > 1)) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(2)
int _hx_run( ::borogove::ChatMessage a, ::borogove::ChatMessage b){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1323_hydrateMessages)
-HXLINE(1323) return ::Reflect_obj::compare(b->timestamp,a->timestamp);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1582_hydrateMessages)
+HXLINE(1582) return ::Reflect_obj::compare(b->timeReceived,a->timeReceived);
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(1312) {
-HXLINE(1312) ::Array< ::String > _g_keys = ::Reflect_obj::fields(versions);
-HXDLIN(1312) int _g_index = 0;
-HXDLIN(1312) while((_g_index < _g_keys->length)){
-HXLINE(1312) _g_index = (_g_index + 1);
-HXDLIN(1312) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN(1312) ::String versionId = key;
-HXDLIN(1312) {
- HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::Dynamic,versionTimes,::String,versionId) HXARGC(2)
+HXLINE(1568) {
+HXLINE(1568) ::Array< ::String > _g_keys = ::Reflect_obj::fields(versions);
+HXDLIN(1568) int _g_index = 0;
+HXDLIN(1568) while((_g_index < _g_keys->length)){
+HXLINE(1568) _g_index = (_g_index + 1);
+HXDLIN(1568) ::String key = _g_keys->__get((_g_index - 1));
+HXDLIN(1568) ::String versionId = key;
+HXDLIN(1568) ::Dynamic version = ::Reflect_obj::field(versions,key);
+HXDLIN(1568) {
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1,::String,versionId, ::Dynamic,version) HXARGC(2)
::borogove::ChatMessageBuilder _hx_run( ::borogove::ChatMessageBuilder toPushB, ::borogove::Stanza _){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1313_hydrateMessages)
-HXLINE(1314) bool versionM;
-HXDLIN(1314) if (::hx::IsNull( toPushB->serverId )) {
-HXLINE(1314) versionM = (versionId != toPushB->localId);
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1569_hydrateMessages)
+HXLINE(1570) bool versionM;
+HXDLIN(1570) if (::hx::IsNull( toPushB->serverId )) {
+HXLINE(1570) versionM = (versionId != toPushB->localId);
}
else {
-HXLINE(1314) versionM = false;
+HXLINE(1570) versionM = false;
}
-HXDLIN(1314) if (versionM) {
-HXLINE(1314) toPushB->serverId = versionId;
+HXDLIN(1570) if (versionM) {
+HXLINE(1570) toPushB->serverId = versionId;
}
-HXLINE(1315) toPushB->timestamp = ( (::String)(::Reflect_obj::field(versionTimes,versionId)) );
-HXLINE(1316) return toPushB;
+HXLINE(1571) toPushB->timeSent = ( (::String)(version->__Field(HX_("time_sent",0a,0e,25,21),::hx::paccDynamic)) );
+HXLINE(1572) toPushB->timeReceived = ( (::String)(version->__Field(HX_("time_received",d3,06,65,79),::hx::paccDynamic)) );
+HXLINE(1573) toPushB->sortId = ( (::String)(version->__Field(HX_("sort_id",5c,b9,64,00),::hx::paccDynamic)) );
+HXLINE(1574) toPushB->debug = ::Dynamic(version->__Field(HX_("debug",53,52,1f,d7),::hx::paccDynamic));
+HXLINE(1575) return toPushB;
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(1313) ::borogove::Stanza versionM = ::borogove::Stanza_obj::parse(( (::String)(::Reflect_obj::field(versions,key)) ));
-HXDLIN(1313) ::borogove::ChatMessage versionM1 = ::borogove::ChatMessage_obj::fromStanza(versionM,accountJid, ::Dynamic(new _hx_Closure_1(versionTimes,versionId)));
-HXLINE(1318) ::borogove::ChatMessage toPush;
-HXDLIN(1318) bool toPush1;
-HXDLIN(1318) if (::hx::IsNotNull( versionM1 )) {
-HXLINE(1318) toPush1 = (versionM1->versions->length < 1);
+HXLINE(1569) ::borogove::Stanza versionM = ::borogove::Stanza_obj::parse(( (::String)(version->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) ));
+HXDLIN(1569) ::borogove::JID accountJid1 = accountJid;
+HXDLIN(1569) ::borogove::ChatMessage versionM1 = ::borogove::ChatMessage_obj::fromStanza(versionM,accountJid1, ::Dynamic(new _hx_Closure_1(versionId,version)),_gthis->hydrateEncryption(version->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic)));
+HXLINE(1577) ::borogove::ChatMessage toPush;
+HXDLIN(1577) bool toPush1;
+HXDLIN(1577) if (::hx::IsNotNull( versionM1 )) {
+HXLINE(1577) toPush1 = (versionM1->versions->length < 1);
}
else {
-HXLINE(1318) toPush1 = true;
+HXLINE(1577) toPush1 = true;
}
-HXDLIN(1318) if (toPush1) {
-HXLINE(1318) toPush = versionM1;
+HXDLIN(1577) if (toPush1) {
+HXLINE(1577) toPush = versionM1;
}
else {
-HXLINE(1318) toPush = versionM1->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+HXLINE(1577) toPush = versionM1->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
}
-HXLINE(1319) if (::hx::IsNotNull( toPush )) {
-HXLINE(1320) builder->versions->push(toPush);
+HXLINE(1578) if (::hx::IsNotNull( toPush )) {
+HXLINE(1579) builder->versions->push(toPush);
}
}
}
}
-HXLINE(1323) builder->versions->sort( ::Dynamic(new _hx_Closure_2()));
+HXLINE(1582) builder->versions->sort( ::Dynamic(new _hx_Closure_2()));
}
}
-HXLINE(1326) return builder;
+HXLINE(1585) return builder;
}
HX_END_LOCAL_FUNC2(return)
-HXLINE(1291) ::Dynamic row = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
-HXDLIN(1291) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::parse(( (::String)(row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) ));
-HXDLIN(1291) _g->push(::borogove::ChatMessage_obj::fromStanza(_hx_tmp,accountJid, ::Dynamic(new _hx_Closure_3(accountJid,row))));
+HXLINE(1538) ::Dynamic row = x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)();
+HXDLIN(1538) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::parse(( (::String)(row->__Field(HX_("stanza",f5,5d,f7,05),::hx::paccDynamic)) ));
+HXDLIN(1538) ::borogove::JID accountJid1 = accountJid;
+HXLINE(1586) ::borogove::persistence::Sqlite _gthis1 = _gthis;
+HXDLIN(1586) ::Dynamic _hx_tmp1;
+HXDLIN(1586) if (::hx::IsNull( row->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic) )) {
+HXLINE(1586) _hx_tmp1 = null();
+ }
+ else {
+HXLINE(1586) _hx_tmp1 = ::haxe::format::JsonParser_obj::__alloc( HX_CTX ,( (::String)(row->__Field(HX_("encryption",83,dc,39,4f),::hx::paccDynamic)) ))->doParse();
+ }
+HXLINE(1538) _g->push(::borogove::ChatMessage_obj::fromStanza(_hx_tmp,accountJid1, ::Dynamic(new _hx_Closure_3(accountJid,_gthis,row)),_gthis1->hydrateEncryption(_hx_tmp1)));
}
}
-HXDLIN(1291) return _g;
+HXDLIN(1538) return _g;
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateMessages,return )
::borogove::Caps Sqlite_obj::hydrateCaps( ::Dynamic o,::Array< unsigned char > ver){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1331_hydrateCaps)
-HXLINE(1332) ::String o1 = ( (::String)(o->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
-HXLINE(1333) ::Array< ::Dynamic> _this;
-HXDLIN(1333) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(o->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic)) );
-HXDLIN(1333) if (::hx::IsNotNull( tmp )) {
-HXLINE(1333) _this = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1590_hydrateCaps)
+HXLINE(1591) ::String o1 = ( (::String)(o->__Field(HX_("node",02,0a,0a,49),::hx::paccDynamic)) );
+HXLINE(1592) ::Array< ::Dynamic> _this;
+HXDLIN(1592) ::Array< ::Dynamic> tmp = ( (::Array< ::Dynamic>)(o->__Field(HX_("identities",1c,c5,6d,d7),::hx::paccDynamic)) );
+HXDLIN(1592) if (::hx::IsNotNull( tmp )) {
+HXLINE(1592) _this = tmp;
}
else {
-HXLINE(1333) _this = ::Array_obj< ::Dynamic>::__new(0);
- }
-HXDLIN(1333) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN(1333) {
-HXLINE(1333) int _g = 0;
-HXDLIN(1333) int _g1 = _this->length;
-HXDLIN(1333) while((_g < _g1)){
-HXLINE(1333) _g = (_g + 1);
-HXDLIN(1333) int i = (_g - 1);
-HXDLIN(1333) {
-HXLINE(1333) ::Dynamic i1 = _hx_array_unsafe_get(_this,i);
-HXDLIN(1333) result->__unsafe_set(i, ::borogove::Identity_obj::__alloc( HX_CTX ,( (::String)(i1->__Field(HX_("category",fe,2a,6c,ad),::hx::paccDynamic)) ),( (::String)(i1->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) ),( (::String)(i1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ),null()));
+HXLINE(1592) _this = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXDLIN(1592) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
+HXDLIN(1592) {
+HXLINE(1592) int _g = 0;
+HXDLIN(1592) int _g1 = _this->length;
+HXDLIN(1592) while((_g < _g1)){
+HXLINE(1592) _g = (_g + 1);
+HXDLIN(1592) int i = (_g - 1);
+HXDLIN(1592) {
+HXLINE(1592) ::Dynamic i1 = _hx_array_unsafe_get(_this,i);
+HXDLIN(1592) result->__unsafe_set(i, ::borogove::Identity_obj::__alloc( HX_CTX ,( (::String)(i1->__Field(HX_("category",fe,2a,6c,ad),::hx::paccDynamic)) ),( (::String)(i1->__Field(HX_("type",ba,f2,08,4d),::hx::paccDynamic)) ),( (::String)(i1->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ),null()));
}
}
}
-HXLINE(1334) ::Array< ::String > _hx_tmp;
-HXDLIN(1334) ::Array< ::String > tmp1 = ( (::Array< ::String >)(o->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
-HXDLIN(1334) if (::hx::IsNotNull( tmp1 )) {
-HXLINE(1334) _hx_tmp = tmp1;
+HXLINE(1593) ::Array< ::String > _hx_tmp;
+HXDLIN(1593) ::Array< ::String > tmp1 = ( (::Array< ::String >)(o->__Field(HX_("features",fd,6c,d7,12),::hx::paccDynamic)) );
+HXDLIN(1593) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1593) _hx_tmp = tmp1;
}
else {
-HXLINE(1334) _hx_tmp = ::Array_obj< ::String >::__new(0);
+HXLINE(1593) _hx_tmp = ::Array_obj< ::String >::__new(0);
}
-HXLINE(1335) ::Array< ::String > _this1;
-HXDLIN(1335) ::Array< ::String > tmp2 = ( (::Array< ::String >)(o->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) );
-HXDLIN(1335) if (::hx::IsNotNull( tmp2 )) {
-HXLINE(1335) _this1 = tmp2;
+HXLINE(1594) ::Array< ::String > _this1;
+HXDLIN(1594) ::Array< ::String > tmp2 = ( (::Array< ::String >)(o->__Field(HX_("data",2a,56,63,42),::hx::paccDynamic)) );
+HXDLIN(1594) if (::hx::IsNotNull( tmp2 )) {
+HXLINE(1594) _this1 = tmp2;
}
else {
-HXLINE(1335) _this1 = ::Array_obj< ::String >::__new(0);
- }
-HXDLIN(1335) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
-HXDLIN(1335) {
-HXLINE(1335) int _g2 = 0;
-HXDLIN(1335) int _g3 = _this1->length;
-HXDLIN(1335) while((_g2 < _g3)){
-HXLINE(1335) _g2 = (_g2 + 1);
-HXDLIN(1335) int i2 = (_g2 - 1);
-HXDLIN(1335) {
-HXLINE(1335) ::borogove::Stanza inValue = ::borogove::Stanza_obj::parse(( (::String)(_hx_array_unsafe_get(_this1,i2)) ));
-HXDLIN(1335) result1->__unsafe_set(i2,inValue);
+HXLINE(1594) _this1 = ::Array_obj< ::String >::__new(0);
+ }
+HXDLIN(1594) ::Array< ::Dynamic> result1 = ::Array_obj< ::Dynamic>::__new(_this1->length);
+HXDLIN(1594) {
+HXLINE(1594) int _g2 = 0;
+HXDLIN(1594) int _g3 = _this1->length;
+HXDLIN(1594) while((_g2 < _g3)){
+HXLINE(1594) _g2 = (_g2 + 1);
+HXDLIN(1594) int i2 = (_g2 - 1);
+HXDLIN(1594) {
+HXLINE(1594) ::borogove::Stanza inValue = ::borogove::Stanza_obj::parse(( (::String)(_hx_array_unsafe_get(_this1,i2)) ));
+HXDLIN(1594) result1->__unsafe_set(i2,inValue);
}
}
}
-HXLINE(1331) return ::borogove::Caps_obj::__alloc( HX_CTX ,o1,result,_hx_tmp,result1,ver);
+HXLINE(1590) return ::borogove::Caps_obj::__alloc( HX_CTX ,o1,result,_hx_tmp,result1,ver);
}
HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,hydrateCaps,return )
+::Dynamic Sqlite_obj::insertMessages(::String accountId,::Array< ::Dynamic> messages){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1902_insertMessages)
+HXLINE(1902) ::String tmp = m->callSid();
+HXDLIN(1902) ::String tmp1;
+HXDLIN(1902) if (::hx::IsNotNull( tmp )) {
+HXLINE(1902) tmp1 = tmp;
+ }
+ else {
+HXLINE(1902) tmp1 = m->localId;
+ }
+HXDLIN(1902) if (::hx::IsNotNull( tmp1 )) {
+HXLINE(1902) return tmp1;
+ }
+ else {
+HXLINE(1902) return m->serverId;
+ }
+HXDLIN(1902) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_1) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1904_insertMessages)
+HXLINE(1904) return m->chatId();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_2) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1911_insertMessages)
+HXLINE(1911) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->asStanza()->toString();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_3) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1914_insertMessages)
+HXLINE(1914) if (::hx::IsNull( ::borogove::persistence::Sqlite_obj::originalMessage(m)->debug )) {
+HXLINE(1914) return null();
+ }
+ else {
+HXLINE(1914) ::Dynamic replacer = null();
+HXDLIN(1914) ::String space = null();
+HXDLIN(1914) return ::haxe::format::JsonPrinter_obj::print(::borogove::persistence::Sqlite_obj::originalMessage(m)->debug,replacer,space);
+ }
+HXDLIN(1914) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_4) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1915_insertMessages)
+HXLINE(1916) ::borogove::ChatMessage message = ::borogove::persistence::Sqlite_obj::originalMessage(m);
+HXLINE(1917) if (::hx::IsNull( message->encryption )) {
+HXLINE(1917) return null();
+ }
+ else {
+HXLINE(1917) return ::borogove::JsonPrinter_obj::print(message->encryption,null(),null());
+ }
+HXDLIN(1917) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_5,::String,accountId) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage _){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1898_insertMessages)
+HXLINE(1898) return accountId;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_6) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1899_insertMessages)
+HXLINE(1899) ::String tmp = ::borogove::persistence::Sqlite_obj::originalMessage(m)->serverId;
+HXDLIN(1899) if (::hx::IsNotNull( tmp )) {
+HXLINE(1899) return tmp;
+ }
+ else {
+HXLINE(1899) return HX_("",00,00,00,00);
+ }
+HXDLIN(1899) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_7) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1900_insertMessages)
+HXLINE(1900) ::String tmp = ::borogove::persistence::Sqlite_obj::originalMessage(m)->serverIdBy;
+HXDLIN(1900) if (::hx::IsNotNull( tmp )) {
+HXLINE(1900) return tmp;
+ }
+ else {
+HXLINE(1900) return HX_("",00,00,00,00);
+ }
+HXDLIN(1900) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_8) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1901_insertMessages)
+HXLINE(1901) ::String tmp = ::borogove::persistence::Sqlite_obj::originalMessage(m)->localId;
+HXDLIN(1901) if (::hx::IsNotNull( tmp )) {
+HXLINE(1901) return tmp;
+ }
+ else {
+HXLINE(1901) return HX_("",00,00,00,00);
+ }
+HXDLIN(1901) return null();
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_9) HXARGC(1)
+ bool _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1903_insertMessages)
+HXLINE(1903) return m->syncPoint;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_10) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1905_insertMessages)
+HXLINE(1905) return m->senderId;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_11) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1906_insertMessages)
+HXLINE(1906) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->timeSent;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_12) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1907_insertMessages)
+HXLINE(1907) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->timeReceived;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_13) HXARGC(1)
+ int _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1908_insertMessages)
+HXLINE(1908) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->status;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_14) HXARGC(1)
+ int _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1909_insertMessages)
+HXLINE(1909) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->direction;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_15) HXARGC(1)
+ int _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1910_insertMessages)
+HXLINE(1910) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->type;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_16) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1912_insertMessages)
+HXLINE(1912) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->statusText;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_17) HXARGC(1)
+ ::String _hx_run( ::borogove::ChatMessage m){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1913_insertMessages)
+HXLINE(1913) return ::borogove::persistence::Sqlite_obj::originalMessage(m)->sortId;
+ }
+ HX_END_LOCAL_FUNC1(return)
+
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1896_insertMessages)
+HXLINE(1902) ::Dynamic columns = ::borogove::persistence::Sqlite_obj::insertCol(HX_("correction_id",1c,c5,11,dd), ::Dynamic(new _hx_Closure_0()),null());
+HXLINE(1904) ::Dynamic columns1 = ::borogove::persistence::Sqlite_obj::insertCol(HX_("chat_id",22,ea,bd,d0), ::Dynamic(new _hx_Closure_1()),null());
+HXLINE(1911) ::Dynamic columns2 = ::borogove::persistence::Sqlite_obj::insertCol(HX_("stanza",f5,5d,f7,05), ::Dynamic(new _hx_Closure_2()),null());
+HXLINE(1914) ::Dynamic columns3 = ::borogove::persistence::Sqlite_obj::insertCol(HX_("debug",53,52,1f,d7), ::Dynamic(new _hx_Closure_3()),HX_("jsonb(?)",38,f0,9d,55));
+HXLINE(1915) ::Dynamic columns4 = ::borogove::persistence::Sqlite_obj::insertCol(HX_("encryption",83,dc,39,4f), ::Dynamic(new _hx_Closure_4()),HX_("jsonb(?)",38,f0,9d,55));
+HXLINE(1897) ::Array< ::Dynamic> columns5 = ::Array_obj< ::Dynamic>::__new(18)->init(0,::borogove::persistence::Sqlite_obj::insertCol(HX_("account_id",6d,df,ad,00), ::Dynamic(new _hx_Closure_5(accountId)),null()))->init(1,::borogove::persistence::Sqlite_obj::insertCol(HX_("mam_id",01,4d,19,b7), ::Dynamic(new _hx_Closure_6()),null()))->init(2,::borogove::persistence::Sqlite_obj::insertCol(HX_("mam_by",fd,46,19,b7), ::Dynamic(new _hx_Closure_7()),null()))->init(3,::borogove::persistence::Sqlite_obj::insertCol(HX_("stanza_id",25,7b,7a,e9), ::Dynamic(new _hx_Closure_8()),null()))->init(4,columns)->init(5,::borogove::persistence::Sqlite_obj::insertCol(HX_("sync_point",2c,6c,7f,80), ::Dynamic(new _hx_Closure_9()),null()))->init(6,columns1)->init(7,::borogove::persistence::Sqlite_obj::insertCol(HX_("sender_id",65,a9,5d,a0), ::Dynamic(new _hx_Closure_10()),null()))->init(8,::borogove::persistence::Sqlite_obj::insertCol(HX_("time_sent",0a,0e,25,21), ::Dynamic(new _hx_Closure_11()),HX_("CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER)",17,de,5d,f8)))->init(9,::borogove::persistence::Sqlite_obj::insertCol(HX_("time_received",d3,06,65,79), ::Dynamic(new _hx_Closure_12()),HX_("CAST(unixepoch(?, 'subsec') * 1000 AS INTEGER)",17,de,5d,f8)))->init(10,::borogove::persistence::Sqlite_obj::insertCol(HX_("status",32,e7,fb,05), ::Dynamic(new _hx_Closure_13()),null()))->init(11,::borogove::persistence::Sqlite_obj::insertCol(HX_("direction",3f,62,40,10), ::Dynamic(new _hx_Closure_14()),null()))->init(12,::borogove::persistence::Sqlite_obj::insertCol(HX_("type",ba,f2,08,4d), ::Dynamic(new _hx_Closure_15()),null()))->init(13,columns2)->init(14,::borogove::persistence::Sqlite_obj::insertCol(HX_("status_text",1a,ac,61,da), ::Dynamic(new _hx_Closure_16()),null()))->init(15,::borogove::persistence::Sqlite_obj::insertCol(HX_("sort_id",5c,b9,64,00), ::Dynamic(new _hx_Closure_17()),null()))->init(16,columns3)->init(17,columns4);
+HXLINE(1920) ::Array< ::String > result = ::Array_obj< ::String >::__new(messages->length);
+HXDLIN(1920) {
+HXLINE(1920) int _g = 0;
+HXDLIN(1920) int _g1 = messages->length;
+HXDLIN(1920) while((_g < _g1)){
+HXLINE(1920) _g = (_g + 1);
+HXDLIN(1920) int i = (_g - 1);
+HXDLIN(1920) {
+HXLINE(1920) _hx_array_unsafe_get(messages,i);
+HXDLIN(1920) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(columns5->length);
+HXDLIN(1920) {
+HXLINE(1920) int _g2 = 0;
+HXDLIN(1920) int _g3 = columns5->length;
+HXDLIN(1920) while((_g2 < _g3)){
+HXLINE(1920) _g2 = (_g2 + 1);
+HXDLIN(1920) int i1 = (_g2 - 1);
+HXDLIN(1920) {
+HXLINE(1920) ::String inValue = ( (::String)(_hx_array_unsafe_get(columns5,i1)->__Field(HX_("valueSql",1d,5b,51,ee),::hx::paccDynamic)) );
+HXDLIN(1920) result1->__unsafe_set(i1,inValue);
+ }
+ }
+ }
+HXDLIN(1920) ::String inValue1 = ((HX_("(",28,00,00,00) + result1->join(HX_(",",2c,00,00,00))) + HX_(")",29,00,00,00));
+HXDLIN(1920) result->__unsafe_set(i,inValue1);
+ }
+ }
+ }
+HXDLIN(1920) ::String values = result->join(HX_(",",2c,00,00,00));
+HXLINE(1922) ::borogove::persistence::SqliteDriver _hx_tmp = this->db;
+HXLINE(1924) ::Array< ::String > result2 = ::Array_obj< ::String >::__new(columns5->length);
+HXDLIN(1924) {
+HXLINE(1924) int _g4 = 0;
+HXDLIN(1924) int _g5 = columns5->length;
+HXDLIN(1924) while((_g4 < _g5)){
+HXLINE(1924) _g4 = (_g4 + 1);
+HXDLIN(1924) int i2 = (_g4 - 1);
+HXDLIN(1924) {
+HXLINE(1924) ::String inValue2 = ( (::String)(_hx_array_unsafe_get(columns5,i2)->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) );
+HXDLIN(1924) result2->__unsafe_set(i2,inValue2);
+ }
+ }
+ }
+HXDLIN(1924) ::String _hx_tmp1 = (((HX_("INSERT OR REPLACE INTO messages (",d2,20,89,b3) + result2->join(HX_(", ",74,26,00,00))) + HX_(") VALUES ",07,4b,38,df)) + values);
+HXLINE(1925) ::Array< ::Dynamic> _g6 = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN(1925) {
+HXLINE(1925) int _g_current = 0;
+HXDLIN(1925) while((_g_current < messages->length)){
+HXLINE(1925) _g_current = (_g_current + 1);
+HXDLIN(1925) ::borogove::ChatMessage x = messages->__get((_g_current - 1)).StaticCast< ::borogove::ChatMessage >();
+HXDLIN(1925) ::cpp::VirtualArray result3 = ::cpp::VirtualArray_obj::__new(columns5->length);
+HXDLIN(1925) {
+HXLINE(1925) int _g7 = 0;
+HXDLIN(1925) int _g8 = columns5->length;
+HXDLIN(1925) while((_g7 < _g8)){
+HXLINE(1925) _g7 = (_g7 + 1);
+HXDLIN(1925) int i3 = (_g7 - 1);
+HXDLIN(1925) {
+HXLINE(1925) ::Dynamic inValue3 = _hx_array_unsafe_get(columns5,i3)->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)(x);
+HXDLIN(1925) result3->__unsafe_set(i3,inValue3);
+ }
+ }
+ }
+HXDLIN(1925) _g6->push(result3);
+ }
+ }
+HXDLIN(1925) ::cpp::VirtualArray _g9 = ::cpp::VirtualArray_obj::__new(0);
+HXDLIN(1925) {
+HXLINE(1925) ::Dynamic e = _g6->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN(1925) while(( (bool)(e->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1925) ::Dynamic x1 = e->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN(1925) while(( (bool)(x1->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE(1925) _g9->push(x1->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)());
+ }
+ }
+ }
+HXLINE(1922) return _hx_tmp->exec(_hx_tmp1,_g9);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,insertMessages,return )
+
::String Sqlite_obj::prepare( ::Dynamic q){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,q) HXARGC(1)
::String _hx_run( ::EReg f){
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_41_prepare)
-HXLINE( 42) ::cpp::VirtualArray tmp = ( (::cpp::VirtualArray)(q->__Field(HX_("params",46,fb,7a,ed),::hx::paccDynamic)) );
-HXDLIN( 42) ::cpp::VirtualArray p;
-HXDLIN( 42) if (::hx::IsNotNull( tmp )) {
-HXLINE( 42) p = tmp;
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_49_prepare)
+HXLINE( 50) ::cpp::VirtualArray tmp = ( (::cpp::VirtualArray)(q->__Field(HX_("params",46,fb,7a,ed),::hx::paccDynamic)) );
+HXDLIN( 50) ::cpp::VirtualArray p;
+HXDLIN( 50) if (::hx::IsNotNull( tmp )) {
+HXLINE( 50) p = tmp;
}
else {
-HXLINE( 42) p = ::cpp::VirtualArray_obj::__new(0);
+HXLINE( 50) p = ::cpp::VirtualArray_obj::__new(0);
}
-HXDLIN( 42) ::Dynamic p1 = p->shift();
-HXLINE( 43) ::ValueType _g = ::Type_obj::_hx_typeof(p1);
-HXDLIN( 43) switch((int)(_g->_hx_getIndex())){
+HXDLIN( 50) ::Dynamic p1 = p->shift();
+HXLINE( 51) ::ValueType _g = ::Type_obj::_hx_typeof(p1);
+HXDLIN( 51) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 61) return HX_("NULL",87,66,cf,33);
+HXLINE( 69) return HX_("NULL",87,66,cf,33);
}
break;
case (int)1: {
-HXLINE( 59) return ::Std_obj::string(p1);
+HXLINE( 67) return ::Std_obj::string(p1);
}
break;
case (int)2: {
-HXLINE( 57) return ::Std_obj::string(p1);
+HXLINE( 65) return ::Std_obj::string(p1);
}
break;
case (int)3: {
-HXLINE( 55) if (::hx::IsEq( p1,true )) {
-HXLINE( 55) return HX_("1",31,00,00,00);
+HXLINE( 63) if (::hx::IsEq( p1,true )) {
+HXLINE( 63) return HX_("1",31,00,00,00);
}
else {
-HXLINE( 55) return HX_("0",30,00,00,00);
+HXLINE( 63) return HX_("0",30,00,00,00);
}
}
break;
case (int)6: {
-HXLINE( 65) ::hx::Class _hx_switch_0 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
+HXLINE( 73) ::hx::Class _hx_switch_0 = _g->_hx_getObject(0).StaticCast< ::hx::Class >();
if ( (_hx_switch_0==::hx::ArrayBase::__mClass) ){
-HXLINE( 64) return ((HX_("X'",cf,4c,00,00) + ::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(p1) ))->toHex()) + HX_("'",27,00,00,00));
-HXDLIN( 64) goto _hx_goto_246;
+HXLINE( 72) return ((HX_("X'",cf,4c,00,00) + ::haxe::io::Bytes_obj::ofData(( (::Array< unsigned char >)(p1) ))->toHex()) + HX_("'",27,00,00,00));
+HXDLIN( 72) goto _hx_goto_294;
}
if ( (_hx_switch_0==::hx::ClassOf< ::String >()) ){
-HXLINE( 45) if (::hx::IsGreaterEq( p1->__Field(HX_("indexOf",c9,48,bf,e0),::hx::paccDynamic)(HX_("\x00""",00,00,00,00)),0 )) {
-HXLINE( 46) ::Array< ::String > hexChars = ::Array_obj< ::String >::__new();
-HXLINE( 47) {
-HXLINE( 47) int _g1 = 0;
-HXDLIN( 47) int _g2 = ( (int)(p1->__Field(HX_("length",e6,94,07,9f),::hx::paccDynamic)) );
-HXDLIN( 47) while((_g1 < _g2)){
-HXLINE( 47) _g1 = (_g1 + 1);
-HXLINE( 48) hexChars->push(::StringTools_obj::hex(( (::String)(p1) ).cca((_g1 - 1)),2));
+HXLINE( 53) if (::hx::IsGreaterEq( p1->__Field(HX_("indexOf",c9,48,bf,e0),::hx::paccDynamic)(HX_("\x00""",00,00,00,00)),0 )) {
+HXLINE( 54) ::Array< ::String > hexChars = ::Array_obj< ::String >::__new();
+HXLINE( 55) {
+HXLINE( 55) int _g1 = 0;
+HXDLIN( 55) int _g2 = ( (int)(p1->__Field(HX_("length",e6,94,07,9f),::hx::paccDynamic)) );
+HXDLIN( 55) while((_g1 < _g2)){
+HXLINE( 55) _g1 = (_g1 + 1);
+HXLINE( 56) hexChars->push(::StringTools_obj::hex(( (::String)(p1) ).cca((_g1 - 1)),2));
}
}
-HXLINE( 50) return ((HX_("x'",af,68,00,00) + hexChars->join(HX_("",00,00,00,00))) + HX_("'",27,00,00,00));
+HXLINE( 58) return ((HX_("x'",af,68,00,00) + hexChars->join(HX_("",00,00,00,00))) + HX_("'",27,00,00,00));
}
else {
-HXLINE( 52) return ((HX_("'",27,00,00,00) + ::Std_obj::string(p1->__Field(HX_("split",da,ea,6e,81),::hx::paccDynamic)(HX_("'",27,00,00,00))->__Field(HX_("join",ea,33,65,46),::hx::paccDynamic)(HX_("''",20,22,00,00)))) + HX_("'",27,00,00,00));
+HXLINE( 60) return ((HX_("'",27,00,00,00) + ::Std_obj::string(p1->__Field(HX_("split",da,ea,6e,81),::hx::paccDynamic)(HX_("'",27,00,00,00))->__Field(HX_("join",ea,33,65,46),::hx::paccDynamic)(HX_("''",20,22,00,00)))) + HX_("'",27,00,00,00));
}
-HXLINE( 45) goto _hx_goto_246;
+HXLINE( 53) goto _hx_goto_294;
}
if ( (_hx_switch_0==::hx::ClassOf< ::haxe::io::Bytes >()) ){
-HXLINE( 66) return ((HX_("X'",cf,4c,00,00) + ::Std_obj::string(p1->__Field(HX_("toHex",20,f4,10,14),::hx::paccDynamic)())) + HX_("'",27,00,00,00));
-HXDLIN( 66) goto _hx_goto_246;
+HXLINE( 74) return ((HX_("X'",cf,4c,00,00) + ::Std_obj::string(p1->__Field(HX_("toHex",20,f4,10,14),::hx::paccDynamic)())) + HX_("'",27,00,00,00));
+HXDLIN( 74) goto _hx_goto_294;
}
/* default */{
-HXLINE( 68) HX_STACK_DO_THROW((HX_("UNKNOWN: ",90,58,8b,8c) + ::Std_obj::string(::Type_obj::_hx_typeof(p1))));
+HXLINE( 76) HX_STACK_DO_THROW((HX_("UNKNOWN: ",90,58,8b,8c) + ::Std_obj::string(::Type_obj::_hx_typeof(p1))));
}
- _hx_goto_246:;
+ _hx_goto_294:;
}
break;
default:{
-HXLINE( 68) HX_STACK_DO_THROW((HX_("UNKNOWN: ",90,58,8b,8c) + ::Std_obj::string(::Type_obj::_hx_typeof(p1))));
+HXLINE( 76) HX_STACK_DO_THROW((HX_("UNKNOWN: ",90,58,8b,8c) + ::Std_obj::string(::Type_obj::_hx_typeof(p1))));
}
}
-HXLINE( 43) return null();
+HXLINE( 51) return null();
}
HX_END_LOCAL_FUNC1(return)
- HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_41_prepare)
-HXDLIN( 41) return ::EReg_obj::__alloc( HX_CTX ,HX_("\\?",63,50,00,00),HX_("gm",26,5a,00,00))->map(( (::String)(q->__Field(HX_("sql",0e,a6,57,00),::hx::paccDynamic)) ), ::Dynamic(new _hx_Closure_0(q)));
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_49_prepare)
+HXDLIN( 49) return ::EReg_obj::__alloc( HX_CTX ,HX_("\\?",63,50,00,00),HX_("gm",26,5a,00,00))->map(( (::String)(q->__Field(HX_("sql",0e,a6,57,00),::hx::paccDynamic)) ), ::Dynamic(new _hx_Closure_0(q)));
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,prepare,return )
+ ::Dynamic Sqlite_obj::col(::String name,::String sql){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1819_col)
+HXDLIN(1819) ::String _hx_tmp;
+HXDLIN(1819) if (::hx::IsNotNull( sql )) {
+HXDLIN(1819) _hx_tmp = sql;
+ }
+ else {
+HXDLIN(1819) _hx_tmp = name;
+ }
+HXDLIN(1819) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("sql",0e,a6,57,00),_hx_tmp)
+ ->setFixed(1,HX_("name",4b,72,ff,48),name));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Sqlite_obj,col,return )
+
+::String Sqlite_obj::messageColumnsString(::Array< ::Dynamic> customColumns){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1823_messageColumnsString)
+HXDLIN(1823) return ::borogove::persistence::Sqlite_obj::messageColumns(customColumns)->join(HX_(", ",74,26,00,00));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,messageColumnsString,return )
+
+::Array< ::String > Sqlite_obj::messageColumns(::Array< ::Dynamic> customColumns){
+ HX_GC_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1827_messageColumns)
+HXLINE(1843) ::Array< ::Dynamic> it;
+HXDLIN(1843) if (::hx::IsNotNull( customColumns )) {
+HXLINE(1843) it = customColumns;
+ }
+ else {
+HXLINE(1843) it = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE(1827) ::Array< ::Dynamic> it1 = ::Array_obj< ::Dynamic>::__new(14)->init(0,::borogove::persistence::Sqlite_obj::col(HX_("stanza",f5,5d,f7,05),null()))->init(1,::borogove::persistence::Sqlite_obj::col(HX_("direction",3f,62,40,10),null()))->init(2,::borogove::persistence::Sqlite_obj::col(HX_("type",ba,f2,08,4d),null()))->init(3,::borogove::persistence::Sqlite_obj::col(HX_("status",32,e7,fb,05),null()))->init(4,::borogove::persistence::Sqlite_obj::col(HX_("status_text",1a,ac,61,da),null()))->init(5,::borogove::persistence::Sqlite_obj::col(HX_("time_sent",0a,0e,25,21),HX_("strftime('%FT%H:%M:%fZ', time_sent / 1000.0, 'unixepoch') AS time_sent",f5,bb,e6,08)))->init(6,::borogove::persistence::Sqlite_obj::col(HX_("time_received",d3,06,65,79),HX_("strftime('%FT%H:%M:%fZ', time_received / 1000.0, 'unixepoch') AS time_received",87,10,b6,eb)))->init(7,::borogove::persistence::Sqlite_obj::col(HX_("sender_id",65,a9,5d,a0),null()))->init(8,::borogove::persistence::Sqlite_obj::col(HX_("mam_id",01,4d,19,b7),null()))->init(9,::borogove::persistence::Sqlite_obj::col(HX_("mam_by",fd,46,19,b7),null()))->init(10,::borogove::persistence::Sqlite_obj::col(HX_("sort_id",5c,b9,64,00),null()))->init(11,::borogove::persistence::Sqlite_obj::col(HX_("sync_point",2c,6c,7f,80),null()))->init(12,::borogove::persistence::Sqlite_obj::col(HX_("encryption",83,dc,39,4f),HX_("json(encryption) AS encryption",97,9c,f1,10)))->init(13,::borogove::persistence::Sqlite_obj::col(HX_("debug",53,52,1f,d7),HX_("json(debug) AS debug",8f,c2,6b,70)))->concat(it);
+HXDLIN(1827) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
+HXDLIN(1827) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
+ ::haxe::ds::StringMap _hx_run( ::Dynamic column, ::haxe::ds::StringMap map){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1844_messageColumns)
+HXLINE(1845) map->set(( (::String)(column->__Field(HX_("name",4b,72,ff,48),::hx::paccDynamic)) ),column);
+HXLINE(1846) return map;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+HXDLIN(1827) ::Dynamic x = ::Lambda_obj::fold(it1, ::Dynamic(new _hx_Closure_0()), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ))->__Field(HX_("iterator",ee,49,9a,93),::hx::paccDynamic)();
+HXDLIN(1827) while(( (bool)(x->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN(1827) _g->push( ::Dynamic(x->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()->__Field(HX_("sql",0e,a6,57,00),::hx::paccDynamic)));
+ }
+ }
+HXDLIN(1827) return _g;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,messageColumns,return )
+
+ ::Dynamic Sqlite_obj::insertCol(::String name, ::Dynamic value,::String valueSql){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1889_insertCol)
+HXDLIN(1889) ::String _hx_tmp;
+HXDLIN(1889) if (::hx::IsNotNull( valueSql )) {
+HXDLIN(1889) _hx_tmp = valueSql;
+ }
+ else {
+HXDLIN(1889) _hx_tmp = HX_("?",3f,00,00,00);
+ }
+HXDLIN(1889) return ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("valueSql",1d,5b,51,ee),_hx_tmp)
+ ->setFixed(1,HX_("value",71,7f,b8,31),value)
+ ->setFixed(2,HX_("name",4b,72,ff,48),name));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(Sqlite_obj,insertCol,return )
+
+ ::borogove::ChatMessage Sqlite_obj::originalMessage( ::borogove::ChatMessage message){
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_1893_originalMessage)
+HXDLIN(1893) if ((message->versions->length == 1)) {
+HXDLIN(1893) return message->versions->__get(0).StaticCast< ::borogove::ChatMessage >();
+ }
+ else {
+HXDLIN(1893) return message;
+ }
+HXDLIN(1893) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Sqlite_obj,originalMessage,return )
+
::hx::ObjectPtr< Sqlite_obj > Sqlite_obj::__new(::String dbfile,::Dynamic media) {
::hx::ObjectPtr< Sqlite_obj > __this = new Sqlite_obj();
@@ -3993,6 +4514,7 @@ void Sqlite_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
HX_MARK_MEMBER_NAME(smStoreNext,"smStoreNext");
HX_MARK_MEMBER_NAME(smStoreIdNext,"smStoreIdNext");
+ HX_MARK_MEMBER_NAME(versionedMessageColumns,"versionedMessageColumns");
HX_MARK_END_CLASS();
}
@@ -4006,6 +4528,7 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(smStoreInProgress,"smStoreInProgress");
HX_VISIT_MEMBER_NAME(smStoreNext,"smStoreNext");
HX_VISIT_MEMBER_NAME(smStoreIdNext,"smStoreIdNext");
+ HX_VISIT_MEMBER_NAME(versionedMessageColumns,"versionedMessageColumns");
}
::hx::Val Sqlite_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -4065,6 +4588,7 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"searchMessages") ) { return ::hx::Val( searchMessages_dyn() ); }
if (HX_FIELD_EQ(inName,"fetchReactions") ) { return ::hx::Val( fetchReactions_dyn() ); }
if (HX_FIELD_EQ(inName,"hydrateReplyTo") ) { return ::hx::Val( hydrateReplyTo_dyn() ); }
+ if (HX_FIELD_EQ(inName,"insertMessages") ) { return ::hx::Val( insertMessages_dyn() ); }
break;
case 15:
if (HX_FIELD_EQ(inName,"storeChatBuffer") ) { return ::hx::Val( storeChatBuffer ); }
@@ -4074,11 +4598,15 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
if (HX_FIELD_EQ(inName,"getMemberDetails") ) { return ::hx::Val( getMemberDetails_dyn() ); }
if (HX_FIELD_EQ(inName,"getMessagesAfter") ) { return ::hx::Val( getMessagesAfter_dyn() ); }
if (HX_FIELD_EQ(inName,"hydrateReactions") ) { return ::hx::Val( hydrateReactions_dyn() ); }
+ if (HX_FIELD_EQ(inName,"messagesLoadMeta") ) { return ::hx::Val( messagesLoadMeta_dyn() ); }
break;
case 17:
+ if (HX_FIELD_EQ(inName,"storeVoiceRequest") ) { return ::hx::Val( storeVoiceRequest_dyn() ); }
+ if (HX_FIELD_EQ(inName,"listVoiceRequests") ) { return ::hx::Val( listVoiceRequests_dyn() ); }
if (HX_FIELD_EQ(inName,"getMessagesBefore") ) { return ::hx::Val( getMessagesBefore_dyn() ); }
if (HX_FIELD_EQ(inName,"getMessagesAround") ) { return ::hx::Val( getMessagesAround_dyn() ); }
if (HX_FIELD_EQ(inName,"smStoreInProgress") ) { return ::hx::Val( smStoreInProgress ); }
+ if (HX_FIELD_EQ(inName,"hydrateEncryption") ) { return ::hx::Val( hydrateEncryption_dyn() ); }
break;
case 18:
if (HX_FIELD_EQ(inName,"hydratePresenceMap") ) { return ::hx::Val( hydratePresenceMap_dyn() ); }
@@ -4087,6 +4615,7 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
case 19:
if (HX_FIELD_EQ(inName,"hydrateStoredMember") ) { return ::hx::Val( hydrateStoredMember_dyn() ); }
if (HX_FIELD_EQ(inName,"clearMemberPresence") ) { return ::hx::Val( clearMemberPresence_dyn() ); }
+ if (HX_FIELD_EQ(inName,"getMessagesByStatus") ) { return ::hx::Val( getMessagesByStatus_dyn() ); }
if (HX_FIELD_EQ(inName,"updateMessageStatus") ) { return ::hx::Val( updateMessageStatus_dyn() ); }
if (HX_FIELD_EQ(inName,"getStreamManagement") ) { return ::hx::Val( getStreamManagement_dyn() ); }
break;
@@ -4101,6 +4630,10 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
case 23:
if (HX_FIELD_EQ(inName,"storeMessagesSerialized") ) { return ::hx::Val( storeMessagesSerialized ); }
if (HX_FIELD_EQ(inName,"findServicesWithFeature") ) { return ::hx::Val( findServicesWithFeature_dyn() ); }
+ if (HX_FIELD_EQ(inName,"versionedMessageColumns") ) { return ::hx::Val( versionedMessageColumns ); }
+ break;
+ case 26:
+ if (HX_FIELD_EQ(inName,"hydrateMessagesAndLoadMeta") ) { return ::hx::Val( hydrateMessagesAndLoadMeta_dyn() ); }
break;
case 29:
if (HX_FIELD_EQ(inName,"chatPresenceAndMembersForName") ) { return ::hx::Val( chatPresenceAndMembersForName_dyn() ); }
@@ -4111,8 +4644,23 @@ void Sqlite_obj::__Visit(HX_VISIT_PARAMS)
bool Sqlite_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"col") ) { outValue = col_dyn(); return true; }
+ break;
case 7:
if (HX_FIELD_EQ(inName,"prepare") ) { outValue = prepare_dyn(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"insertCol") ) { outValue = insertCol_dyn(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"messageColumns") ) { outValue = messageColumns_dyn(); return true; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"originalMessage") ) { outValue = originalMessage_dyn(); return true; }
+ break;
+ case 20:
+ if (HX_FIELD_EQ(inName,"messageColumnsString") ) { outValue = messageColumnsString_dyn(); return true; }
}
return false;
}
@@ -4143,6 +4691,7 @@ bool Sqlite_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Pr
break;
case 23:
if (HX_FIELD_EQ(inName,"storeMessagesSerialized") ) { storeMessagesSerialized=inValue.Cast< ::borogove::AsyncLock >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"versionedMessageColumns") ) { versionedMessageColumns=inValue.Cast< ::String >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -4157,6 +4706,7 @@ void Sqlite_obj::__GetFields(Array< ::String> &outFields)
outFields->push(HX_("smStoreInProgress",79,f8,70,5d));
outFields->push(HX_("smStoreNext",7a,e1,91,0a));
outFields->push(HX_("smStoreIdNext",b5,62,eb,8c));
+ outFields->push(HX_("versionedMessageColumns",ad,c1,7c,cd));
super::__GetFields(outFields);
};
@@ -4170,6 +4720,7 @@ static ::hx::StorageInfo Sqlite_obj_sMemberStorageInfo[] = {
{::hx::fsBool,(int)offsetof(Sqlite_obj,smStoreInProgress),HX_("smStoreInProgress",79,f8,70,5d)},
{::hx::fsObject /* ::Array< unsigned char > */ ,(int)offsetof(Sqlite_obj,smStoreNext),HX_("smStoreNext",7a,e1,91,0a)},
{::hx::fsString,(int)offsetof(Sqlite_obj,smStoreIdNext),HX_("smStoreIdNext",b5,62,eb,8c)},
+ {::hx::fsString,(int)offsetof(Sqlite_obj,versionedMessageColumns),HX_("versionedMessageColumns",ad,c1,7c,cd)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *Sqlite_obj_sStaticStorageInfo = 0;
@@ -4194,6 +4745,8 @@ static ::String Sqlite_obj_sMemberFields[] = {
HX_("clearMemberPresence",22,9d,db,a5),
HX_("getMembers",e3,b2,d1,69),
HX_("getMemberDetails",12,2b,2f,b3),
+ HX_("storeVoiceRequest",3e,09,f8,ef),
+ HX_("listVoiceRequests",d8,ba,8f,00),
HX_("searchMessages",54,dc,f0,62),
HX_("getChats",25,ae,8a,a5),
HX_("storeMessages",cd,f1,bd,e9),
@@ -4204,6 +4757,7 @@ static ::String Sqlite_obj_sMemberFields[] = {
HX_("getMessagesBefore",a1,f1,44,11),
HX_("getMessagesAfter",3a,43,91,57),
HX_("getMessagesAround",6f,95,16,2d),
+ HX_("getMessagesByStatus",0b,d6,52,1e),
HX_("getChatUnreadDetails",e5,a6,9e,c8),
HX_("getChatsUnreadDetails",ee,d4,5a,85),
HX_("storeReaction",aa,00,75,ab),
@@ -4228,14 +4782,24 @@ static ::String Sqlite_obj_sMemberFields[] = {
HX_("hydrateReactions",97,c5,06,27),
HX_("fetchReactions",10,41,6b,5e),
HX_("hydrateReplyTo",f2,64,45,9b),
+ HX_("hydrateEncryption",f6,b2,a2,92),
+ HX_("hydrateMessagesAndLoadMeta",c3,5f,dd,8d),
+ HX_("messagesLoadMeta",f7,5c,a0,55),
HX_("hydrateMessages",7f,1c,88,4e),
HX_("hydrateCaps",54,ca,65,93),
+ HX_("versionedMessageColumns",ad,c1,7c,cd),
+ HX_("insertMessages",25,39,c8,77),
::String(null()) };
::hx::Class Sqlite_obj::__mClass;
static ::String Sqlite_obj_sStaticFields[] = {
HX_("prepare",87,91,dd,37),
+ HX_("col",40,80,4b,00),
+ HX_("messageColumnsString",47,97,ec,41),
+ HX_("messageColumns",d6,f5,90,e2),
+ HX_("insertCol",87,fe,6e,19),
+ HX_("originalMessage",76,c5,9e,4b),
::String(null())
};
@@ -4265,9 +4829,9 @@ void Sqlite_obj::__register()
void Sqlite_obj::__boot()
{
{
- HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_34_boot)
-HXDLIN( 34) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(34)
+ HX_STACKFRAME(&_hx_pos_4648627e4fbfb4d7_42_boot)
+HXDLIN( 42) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("fields",79,8e,8e,80), ::Dynamic(::hx::Anon_obj::Create(37)
->setFixed(0,HX_("storeChats",fa,4a,32,83), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
->setFixed(1,HX_("getChatsUnreadDetails",ee,d4,5a,85), ::Dynamic(::hx::Anon_obj::Create(1)
@@ -4302,39 +4866,45 @@ HXDLIN( 34) __mClass->__meta__ = ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),::cpp::VirtualArray_obj::__new(1)->init(0,HX_("wrapped",45,d5,64,0d)))))
->setFixed(16,HX_("storeMessages",cd,f1,bd,e9), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(17,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(17,HX_("storeVoiceRequest",3e,09,f8,ef), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(18,HX_("get",96,80,4e,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(18,HX_("listAccounts",a4,81,e8,f5), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(19,HX_("set",a2,9b,57,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(19,HX_("get",96,80,4e,00), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(20,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(20,HX_("set",a2,9b,57,00), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(21,HX_("getMessage__fromC",c8,40,46,05), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(21,HX_("listVoiceRequests",d8,ba,8f,00), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(22,HX_("removeMedia",00,e2,ef,03), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(23,HX_("getMessage__fromC",c8,40,46,05), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.wrapper",8b,ea,27,d4),null())))
- ->setFixed(22,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(24,HX_("updateMessageStatus",90,98,ad,0f), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
+ ->setFixed(25,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(23,HX_("getMessagesBefore",a1,f1,44,11), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(26,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(24,HX_("getCaps",d7,cb,3c,14), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(27,HX_("getMessagesByStatus",0b,d6,52,1e), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(25,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(28,HX_("getMessagesAround",6f,95,16,2d), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(26,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(29,HX_("storeMedia",43,b1,3a,43), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(27,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(30,HX_("findServicesWithFeature",99,4e,bd,4a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(28,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(31,HX_("getMessagesAfter",3a,43,91,57), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(29,HX_("searchMessages",54,dc,f0,62), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(32,HX_("searchMessages",54,dc,f0,62), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(30,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(33,HX_("updateMessage",be,9a,7f,65), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(31,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(34,HX_("getMembers",e3,b2,d1,69), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(32,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(35,HX_("getStreamManagement",d9,03,ec,6c), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null())))
- ->setFixed(33,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(36,HX_("removeAccount",c9,58,14,7a), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("HaxeCBridge.noemit",dc,2c,99,2f),null()))))));
}
}
diff --git a/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp b/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
index 5c12090..18726b3 100644
--- a/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
+++ b/Sources/c_borogove/src/borogove/persistence/SqliteDriver.cpp
@@ -25,6 +25,9 @@
#ifndef INCLUDED_haxe_Exception
#include <haxe/Exception.h>
#endif
+#ifndef INCLUDED_haxe_Log
+#include <haxe/Log.h>
+#endif
#ifndef INCLUDED_haxe_iterators_ArrayIterator
#include <haxe/iterators/ArrayIterator.h>
#endif
@@ -56,25 +59,26 @@
#include <thenshim/_Promise/Promise_Impl_.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_19_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",19,0xf8c083ec)
-HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_28_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",28,0xf8c083ec)
-HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_29_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",29,0xf8c083ec)
-HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_21_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",21,0xf8c083ec)
+HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_20_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",20,0xf8c083ec)
+HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_38_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",38,0xf8c083ec)
+HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_39_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",39,0xf8c083ec)
+HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_25_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",25,0xf8c083ec)
HX_DEFINE_STACK_FRAME(_hx_pos_a11c44f890417883_8_new,"borogove.persistence.SqliteDriver","new",0x5c9c4682,"borogove.persistence.SqliteDriver.new","borogove/persistence/SqliteDriver.hx",8,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_36_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",36,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_50_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",50,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_34_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",34,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_65_execMany,"borogove.persistence.SqliteDriver","execMany",0x784b076e,"borogove.persistence.SqliteDriver.execMany","borogove/persistence/SqliteDriver.hx",65,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_64_execMany,"borogove.persistence.SqliteDriver","execMany",0x784b076e,"borogove.persistence.SqliteDriver.execMany","borogove/persistence/SqliteDriver.hx",64,0xf8c083ec)
-HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_72_exec,"borogove.persistence.SqliteDriver","exec",0xa63cdb2f,"borogove.persistence.SqliteDriver.exec","borogove/persistence/SqliteDriver.hx",72,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_46_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",46,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_60_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",60,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_44_execute,"borogove.persistence.SqliteDriver","execute",0xc8683957,"borogove.persistence.SqliteDriver.execute","borogove/persistence/SqliteDriver.hx",44,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_75_execMany,"borogove.persistence.SqliteDriver","execMany",0x784b076e,"borogove.persistence.SqliteDriver.execMany","borogove/persistence/SqliteDriver.hx",75,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_74_execMany,"borogove.persistence.SqliteDriver","execMany",0x784b076e,"borogove.persistence.SqliteDriver.execMany","borogove/persistence/SqliteDriver.hx",74,0xf8c083ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_a11c44f890417883_82_exec,"borogove.persistence.SqliteDriver","exec",0xa63cdb2f,"borogove.persistence.SqliteDriver.exec","borogove/persistence/SqliteDriver.hx",82,0xf8c083ec)
namespace borogove{
namespace persistence{
void SqliteDriver_obj::__construct(::String dbfile, ::Dynamic migrate){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::SqliteDriver,_gthis) HXARGC(2)
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
- HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_19_new)
-HXLINE( 19) _gthis->setReady = resolve;
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_20_new)
+HXLINE( 21) _gthis->setReady = resolve;
+HXLINE( 22) _gthis->setFailed = reject;
}
HX_END_LOCAL_FUNC2((void))
@@ -82,63 +86,83 @@ HXLINE( 19) _gthis->setReady = resolve;
void _hx_run(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::SqliteDriver,_gthis) HXARGC(1)
::Dynamic _hx_run(::Array< ::String > sql){
- HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_28_new)
-HXLINE( 28) ::borogove::persistence::SqliteDriver _gthis1 = _gthis;
-HXDLIN( 28) ::Dynamic _gthis2 = _gthis->writePool;
-HXDLIN( 28) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(sql->length);
-HXDLIN( 28) {
-HXLINE( 28) int _g = 0;
-HXDLIN( 28) int _g1 = sql->length;
-HXDLIN( 28) while((_g < _g1)){
-HXLINE( 28) _g = (_g + 1);
-HXDLIN( 28) int i = (_g - 1);
-HXDLIN( 28) {
-HXLINE( 28) ::Dynamic inValue = ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_38_new)
+HXLINE( 38) ::borogove::persistence::SqliteDriver _gthis1 = _gthis;
+HXDLIN( 38) ::Dynamic _gthis2 = _gthis->writePool;
+HXDLIN( 38) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(sql->length);
+HXDLIN( 38) {
+HXLINE( 38) int _g = 0;
+HXDLIN( 38) int _g1 = sql->length;
+HXDLIN( 38) while((_g < _g1)){
+HXLINE( 38) _g = (_g + 1);
+HXDLIN( 38) int i = (_g - 1);
+HXDLIN( 38) {
+HXLINE( 38) ::Dynamic inValue = ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("params",46,fb,7a,ed),::cpp::VirtualArray_obj::__new(0))
->setFixed(1,HX_("sql",0e,a6,57,00),_hx_array_unsafe_get(sql,i)));
-HXDLIN( 28) result->__unsafe_set(i,inValue);
+HXDLIN( 38) result->__unsafe_set(i,inValue);
}
}
}
-HXDLIN( 28) return _gthis1->execute(_gthis2,result);
+HXDLIN( 38) return _gthis1->execute(_gthis2,result);
}
HX_END_LOCAL_FUNC1(return)
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_2, ::borogove::persistence::SqliteDriver,_gthis) HXARGC(1)
void _hx_run( ::Dynamic _){
- HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_29_new)
-HXLINE( 29) _gthis->setReady(true);
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_39_new)
+HXLINE( 39) _gthis->setReady(true);
}
HX_END_LOCAL_FUNC1((void))
- HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_21_new)
-HXLINE( 22) ::Dynamic db = ::sys::db::Sqlite_obj::open(dbfile);
-HXLINE( 23) ::sys::db::Connection_obj::request(db,HX_("PRAGMA journal_mode=WAL",74,ce,b2,c7));
-HXLINE( 24) ::sys::db::Connection_obj::request(db,HX_("PRAGMA synchronous=NORMAL",9f,05,c5,b7));
-HXLINE( 25) ::sys::db::Connection_obj::request(db,HX_("PRAGMA temp_store=2",ef,8d,52,36));
-HXLINE( 26) if (::borogove::Config_obj::constrainedMemoryMode) {
-HXLINE( 26) ::sys::db::Connection_obj::request(db,HX_("PRAGMA cache_size=0",d5,e5,b6,fc));
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_25_new)
+HXLINE( 26) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 27) ::Dynamic db = ::sys::db::Sqlite_obj::open(dbfile);
+HXLINE( 28) ::sys::db::Connection_obj::request(db,HX_("PRAGMA journal_mode=WAL",74,ce,b2,c7));
+HXLINE( 29) ::sys::db::Connection_obj::request(db,HX_("PRAGMA synchronous=NORMAL",9f,05,c5,b7));
+HXLINE( 30) ::sys::db::Connection_obj::request(db,HX_("PRAGMA temp_store=2",ef,8d,52,36));
+HXLINE( 31) if (::borogove::Config_obj::constrainedMemoryMode) {
+HXLINE( 31) ::sys::db::Connection_obj::request(db,HX_("PRAGMA cache_size=0",d5,e5,b6,fc));
+ }
+HXLINE( 32) _gthis->dbs->push(db);
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g = _hx_e;
+HXLINE( 33) ::haxe::Exception _g1 = ::haxe::Exception_obj::caught(_g);
+HXLINE( 34) ::haxe::Log_obj::trace(HX_("Could not open Sqlite db",a8,50,19,85), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.persistence.SqliteDriver",90,9d,1a,56))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,_g1))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("new",60,d0,53,00))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/persistence/SqliteDriver.hx",ec,83,c0,f8))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),34)));
+HXLINE( 35) _gthis->setFailed(_g1);
+HXLINE( 36) return;
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
}
-HXLINE( 27) _gthis->dbs->push(db);
-HXLINE( 28) ::thenshim::_Promise::Promise_Impl__obj::then(migrate( ::Dynamic(new _hx_Closure_1(_gthis))), ::Dynamic(new _hx_Closure_2(_gthis)),null());
+HXLINE( 38) ::thenshim::_Promise::Promise_Impl__obj::then(migrate( ::Dynamic(new _hx_Closure_1(_gthis))), ::Dynamic(new _hx_Closure_2(_gthis)),null());
}
HX_END_LOCAL_FUNC0((void))
HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_8_new)
HXLINE( 10) this->writePool = ::sys::thread::FixedThreadPool_obj::__alloc( HX_CTX ,1);
HXLINE( 9) this->dbs = ::sys::thread::Deque_obj::__alloc( HX_CTX );
-HXLINE( 16) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 17) this->dbfile = dbfile;
-HXLINE( 18) ::Dynamic _hx_tmp;
-HXDLIN( 18) if (::borogove::Config_obj::constrainedMemoryMode) {
-HXLINE( 18) _hx_tmp = this->writePool;
+HXLINE( 17) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 18) this->dbfile = dbfile;
+HXLINE( 19) ::Dynamic _hx_tmp;
+HXDLIN( 19) if (::borogove::Config_obj::constrainedMemoryMode) {
+HXLINE( 19) _hx_tmp = this->writePool;
}
else {
-HXLINE( 18) _hx_tmp = ::sys::thread::ElasticThreadPool_obj::__alloc( HX_CTX ,10,null());
+HXLINE( 19) _hx_tmp = ::sys::thread::ElasticThreadPool_obj::__alloc( HX_CTX ,10,null());
}
-HXDLIN( 18) this->readPool = _hx_tmp;
-HXLINE( 19) this->ready = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis)));
-HXLINE( 21) ::sys::thread::IThreadPool_obj::run(this->writePool, ::Dynamic(new _hx_Closure_3(_gthis,dbfile,migrate)));
+HXDLIN( 19) this->readPool = _hx_tmp;
+HXLINE( 20) this->ready = ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 25) ::sys::thread::IThreadPool_obj::run(this->writePool, ::Dynamic(new _hx_Closure_3(_gthis,dbfile,migrate)));
}
Dynamic SqliteDriver_obj::__CreateEmpty() { return new SqliteDriver_obj; }
@@ -161,51 +185,51 @@ bool SqliteDriver_obj::_hx_isInstanceOf(int inClassId) {
void _hx_run( ::Dynamic resolve, ::Dynamic reject){
HX_BEGIN_LOCAL_FUNC_S4(::hx::LocalFunc,_hx_Closure_1, ::borogove::persistence::SqliteDriver,_gthis,::Array< ::Dynamic>,qs, ::Dynamic,resolve, ::Dynamic,reject) HXARGC(0)
void _hx_run(){
- HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_36_execute)
-HXLINE( 37) ::Dynamic db = _gthis->dbs->pop(false);
-HXLINE( 38) try {
+ HX_GC_STACKFRAME(&_hx_pos_a11c44f890417883_46_execute)
+HXLINE( 47) ::Dynamic db = _gthis->dbs->pop(false);
+HXLINE( 48) try {
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0,::Array< ::Dynamic>,result) HXARGC(0)
::Dynamic _hx_run(){
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_50_execute)
-HXLINE( 50) return result->__get(0);
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_60_execute)
+HXLINE( 60) return result->__get(0);
}
HX_END_LOCAL_FUNC0(return)
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 39) if (::hx::IsNull( db )) {
-HXLINE( 40) db = ::sys::db::Sqlite_obj::open(_gthis->dbfile);
+HXLINE( 49) if (::hx::IsNull( db )) {
+HXLINE( 50) db = ::sys::db::Sqlite_obj::open(_gthis->dbfile);
}
-HXLINE( 42) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
-HXLINE( 43) if ((qs->length > 1)) {
-HXLINE( 43) ::sys::db::Connection_obj::request(db,HX_("BEGIN TRANSACTION",27,ad,5f,e2));
+HXLINE( 52) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(1)->init(0,null());
+HXLINE( 53) if ((qs->length > 1)) {
+HXLINE( 53) ::sys::db::Connection_obj::request(db,HX_("BEGIN TRANSACTION",27,ad,5f,e2));
}
-HXLINE( 44) {
-HXLINE( 44) int _g = 0;
-HXDLIN( 44) while((_g < qs->length)){
-HXLINE( 44) ::Dynamic q = qs->__get(_g);
-HXDLIN( 44) _g = (_g + 1);
-HXLINE( 45) ::String prepared = ::borogove::persistence::Sqlite_obj::prepare(q);
-HXLINE( 46) result[0] = ::sys::db::Connection_obj::request(db,prepared);
+HXLINE( 54) {
+HXLINE( 54) int _g = 0;
+HXDLIN( 54) while((_g < qs->length)){
+HXLINE( 54) ::Dynamic q = qs->__get(_g);
+HXDLIN( 54) _g = (_g + 1);
+HXLINE( 55) ::String prepared = ::borogove::persistence::Sqlite_obj::prepare(q);
+HXLINE( 56) result[0] = ::sys::db::Connection_obj::request(db,prepared);
}
}
-HXLINE( 50) ::cpp::VirtualArray arr = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 60) ::cpp::VirtualArray arr = ::Lambda_obj::array( ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("iterator",ee,49,9a,93), ::Dynamic(new _hx_Closure_0(result)))));
-HXLINE( 51) if ((qs->length > 1)) {
-HXLINE( 51) ::sys::db::Connection_obj::request(db,HX_("COMMIT",f7,1b,b1,79));
+HXLINE( 61) if ((qs->length > 1)) {
+HXLINE( 61) ::sys::db::Connection_obj::request(db,HX_("COMMIT",f7,1b,b1,79));
}
-HXLINE( 52) _gthis->dbs->push(db);
-HXLINE( 53) resolve( ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,arr));
+HXLINE( 62) _gthis->dbs->push(db);
+HXLINE( 63) resolve( ::haxe::iterators::ArrayIterator_obj::__alloc( HX_CTX ,arr));
} catch( ::Dynamic _hx_e) {
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g1 = _hx_e;
-HXLINE( 54) ::haxe::Exception _g2 = ::haxe::Exception_obj::caught(_g1);
-HXDLIN( 54) {
-HXLINE( 55) if ((qs->length > 1)) {
-HXLINE( 55) ::sys::db::Connection_obj::request(db,HX_("ROLLBACK",24,58,ad,78));
+HXLINE( 64) ::haxe::Exception _g2 = ::haxe::Exception_obj::caught(_g1);
+HXDLIN( 64) {
+HXLINE( 65) if ((qs->length > 1)) {
+HXLINE( 65) ::sys::db::Connection_obj::request(db,HX_("ROLLBACK",24,58,ad,78));
}
-HXLINE( 56) _gthis->dbs->push(db);
-HXLINE( 57) reject(_g2);
+HXLINE( 66) _gthis->dbs->push(db);
+HXLINE( 67) reject(_g2);
}
}
else {
@@ -215,14 +239,14 @@ HXLINE( 57) reject(_g2);
}
HX_END_LOCAL_FUNC0((void))
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_36_execute)
-HXLINE( 36) ::sys::thread::IThreadPool_obj::run(pool, ::Dynamic(new _hx_Closure_1(_gthis,qs,resolve,reject)));
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_46_execute)
+HXLINE( 46) ::sys::thread::IThreadPool_obj::run(pool, ::Dynamic(new _hx_Closure_1(_gthis,qs,resolve,reject)));
}
HX_END_LOCAL_FUNC2((void))
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_34_execute)
-HXDLIN( 34) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 35) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,pool,qs)));
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_44_execute)
+HXDLIN( 44) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 45) return ::thenshim::_Promise::Promise_Impl__obj::_new( ::Dynamic(new _hx_Closure_2(_gthis,pool,qs)));
}
@@ -231,29 +255,29 @@ HX_DEFINE_DYNAMIC_FUNC2(SqliteDriver_obj,execute,return )
::Dynamic SqliteDriver_obj::execMany(::Array< ::Dynamic> qs){
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0, ::borogove::persistence::SqliteDriver,_gthis,::Array< ::Dynamic>,qs) HXARGC(1)
::Dynamic _hx_run(bool _){
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_65_execMany)
-HXLINE( 66) ::Dynamic pool;
-HXDLIN( 66) if (::StringTools_obj::startsWith(( (::String)(qs->__get(0)->__Field(HX_("sql",0e,a6,57,00),::hx::paccDynamic)) ),HX_("SELECT",fc,c6,b5,1c))) {
-HXLINE( 66) pool = _gthis->readPool;
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_75_execMany)
+HXLINE( 76) ::Dynamic pool;
+HXDLIN( 76) if (::StringTools_obj::startsWith(( (::String)(qs->__get(0)->__Field(HX_("sql",0e,a6,57,00),::hx::paccDynamic)) ),HX_("SELECT",fc,c6,b5,1c))) {
+HXLINE( 76) pool = _gthis->readPool;
}
else {
-HXLINE( 66) pool = _gthis->writePool;
+HXLINE( 76) pool = _gthis->writePool;
}
-HXLINE( 67) return _gthis->execute(pool,qs);
+HXLINE( 77) return _gthis->execute(pool,qs);
}
HX_END_LOCAL_FUNC1(return)
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_64_execMany)
-HXDLIN( 64) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 65) return ::thenshim::_Promise::Promise_Impl__obj::then(this->ready, ::Dynamic(new _hx_Closure_0(_gthis,qs)),null());
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_74_execMany)
+HXDLIN( 74) ::borogove::persistence::SqliteDriver _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 75) return ::thenshim::_Promise::Promise_Impl__obj::then(this->ready, ::Dynamic(new _hx_Closure_0(_gthis,qs)),null());
}
HX_DEFINE_DYNAMIC_FUNC1(SqliteDriver_obj,execMany,return )
::Dynamic SqliteDriver_obj::exec(::String sql,::cpp::VirtualArray params){
- HX_STACKFRAME(&_hx_pos_a11c44f890417883_72_exec)
-HXDLIN( 72) return this->execMany(::Array_obj< ::Dynamic>::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(2)
+ HX_STACKFRAME(&_hx_pos_a11c44f890417883_82_exec)
+HXDLIN( 82) return this->execMany(::Array_obj< ::Dynamic>::__new(1)->init(0, ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("params",46,fb,7a,ed),params)
->setFixed(1,HX_("sql",0e,a6,57,00),sql))));
}
@@ -288,6 +312,7 @@ void SqliteDriver_obj::__Mark(HX_MARK_PARAMS)
HX_MARK_MEMBER_NAME(dbfile,"dbfile");
HX_MARK_MEMBER_NAME(ready,"ready");
HX_MARK_MEMBER_NAME(setReady,"setReady");
+ HX_MARK_MEMBER_NAME(setFailed,"setFailed");
HX_MARK_END_CLASS();
}
@@ -299,6 +324,7 @@ void SqliteDriver_obj::__Visit(HX_VISIT_PARAMS)
HX_VISIT_MEMBER_NAME(dbfile,"dbfile");
HX_VISIT_MEMBER_NAME(ready,"ready");
HX_VISIT_MEMBER_NAME(setReady,"setReady");
+ HX_VISIT_MEMBER_NAME(setFailed,"setFailed");
}
::hx::Val SqliteDriver_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
@@ -326,6 +352,7 @@ void SqliteDriver_obj::__Visit(HX_VISIT_PARAMS)
break;
case 9:
if (HX_FIELD_EQ(inName,"writePool") ) { return ::hx::Val( writePool ); }
+ if (HX_FIELD_EQ(inName,"setFailed") ) { return ::hx::Val( setFailed ); }
}
return super::__Field(inName,inCallProp);
}
@@ -348,6 +375,7 @@ void SqliteDriver_obj::__Visit(HX_VISIT_PARAMS)
break;
case 9:
if (HX_FIELD_EQ(inName,"writePool") ) { writePool=inValue.Cast< ::Dynamic >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"setFailed") ) { setFailed=inValue.Cast< ::Dynamic >(); return inValue; }
}
return super::__SetField(inName,inValue,inCallProp);
}
@@ -370,6 +398,7 @@ static ::hx::StorageInfo SqliteDriver_obj_sMemberStorageInfo[] = {
{::hx::fsString,(int)offsetof(SqliteDriver_obj,dbfile),HX_("dbfile",fa,bc,b0,ac)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(SqliteDriver_obj,ready),HX_("ready",63,a0,ba,e6)},
{::hx::fsObject /* ::Dynamic */ ,(int)offsetof(SqliteDriver_obj,setReady),HX_("setReady",61,09,ef,f4)},
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(SqliteDriver_obj,setFailed),HX_("setFailed",ff,3a,a6,47)},
{ ::hx::fsUnknown, 0, null()}
};
static ::hx::StaticInfo *SqliteDriver_obj_sStaticStorageInfo = 0;
@@ -382,6 +411,7 @@ static ::String SqliteDriver_obj_sMemberFields[] = {
HX_("dbfile",fa,bc,b0,ac),
HX_("ready",63,a0,ba,e6),
HX_("setReady",61,09,ef,f4),
+ HX_("setFailed",ff,3a,a6,47),
HX_("execute",35,0a,0d,cc),
HX_("execMany",d0,f8,dc,a4),
HX_("exec",91,f3,1d,43),
diff --git a/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp b/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
index 889151f..ddc64eb 100644
--- a/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/BlocklistGet.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
#include <_UUIDv7/UUIDv7_Fields_.h>
#endif
@@ -16,6 +13,12 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_1135fedfc55f8db7_12_new,"borogove.queries.BlocklistGet","new",0xe0c5dcb2,"borogove.queries.BlocklistGet.new","borogove/queries/BlocklistGet.hx",12,0x4fb2c83c)
HX_LOCAL_STACK_FRAME(_hx_pos_1135fedfc55f8db7_26_handleResponse,"borogove.queries.BlocklistGet","handleResponse",0xe9266737,"borogove.queries.BlocklistGet.handleResponse","borogove/queries/BlocklistGet.hx",26,0x4fb2c83c)
@@ -31,8 +34,8 @@ HXLINE( 19) super::__construct();
HXLINE( 21) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 22) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("blocklist",2b,bc,68,62), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)))->up();
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("blocklist",2b,bc,68,62), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null())->up();
}
Dynamic BlocklistGet_obj::__CreateEmpty() { return new BlocklistGet_obj; }
@@ -80,7 +83,7 @@ HXDLIN( 41) while((_g < _g1)){
HXLINE( 41) _g = (_g + 1);
HXDLIN( 41) int i = (_g - 1);
HXDLIN( 41) {
-HXLINE( 41) ::String inValue = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 41) ::String inValue = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) )->attr->get_string(HX_("jid",c5,ca,50,00));
HXDLIN( 41) result->__unsafe_set(i,inValue);
}
}
diff --git a/Sources/c_borogove/src/borogove/queries/BoB.cpp b/Sources/c_borogove/src/borogove/queries/BoB.cpp
index 972ef33..2a86180 100644
--- a/Sources/c_borogove/src/borogove/queries/BoB.cpp
+++ b/Sources/c_borogove/src/borogove/queries/BoB.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -25,9 +22,15 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
@@ -64,11 +67,11 @@ HXLINE( 21) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 22) ::borogove::Stanza _hx_tmp2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null());
HXLINE( 23) ::String _hx_tmp3 = this->xmlns;
HXLINE( 22) this->queryStanza = _hx_tmp2->tag(HX_("data",2a,56,63,42), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("cid",fe,7a,4b,00),uri.substr(4,null()))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),_hx_tmp3)))->up();
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),_hx_tmp3)),null())->up();
}
Dynamic BoB_obj::__CreateEmpty() { return new BoB_obj; }
@@ -107,9 +110,9 @@ HXLINE( 40) ::borogove::Stanza data = this->responseStanza->getChild(HX_("da
HXLINE( 41) if (::hx::IsNull( data )) {
HXLINE( 42) return null();
}
-HXLINE( 44) ::String maxAge = ( (::String)(::Reflect_obj::field(data->attr,HX_("max-age",56,bb,5f,b3))) );
+HXLINE( 44) ::String maxAge = data->attr->get_string(HX_("max-age",56,bb,5f,b3));
HXLINE( 46) ::haxe::io::Bytes _hx_tmp = ::haxe::crypto::Base64_obj::decode(::StringTools_obj::replace(data->getText(),HX_("\n",0a,00,00,00),HX_("",00,00,00,00)),null());
-HXLINE( 47) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(data->attr,HX_("type",ba,f2,08,4d))) );
+HXLINE( 47) ::String _hx_tmp1 = data->attr->get_string(HX_("type",ba,f2,08,4d));
HXLINE( 48) ::Dynamic _hx_tmp2;
HXDLIN( 48) if (::hx::IsNull( maxAge )) {
HXLINE( 48) _hx_tmp2 = null();
diff --git a/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp b/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp
index 096d098..4fe24e8 100644
--- a/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp
+++ b/Sources/c_borogove/src/borogove/queries/CommandExecute.cpp
@@ -46,9 +46,15 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_Log
#include <haxe/Log.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_16_new,"borogove.queries.CommandExecute","new",0x7cda1e71,"borogove.queries.CommandExecute.new","borogove/queries/CommandExecute.hx",16,0x186d8edd)
HX_LOCAL_STACK_FRAME(_hx_pos_8b2a8547b04ebfcd_38_handleResponse,"borogove.queries.CommandExecute","handleResponse",0x063a8fd8,"borogove.queries.CommandExecute.handleResponse","borogove/queries/CommandExecute.hx",38,0x186d8edd)
@@ -85,7 +91,7 @@ HXLINE( 29) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 30) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("command",4b,71,6d,81),attr);
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("command",4b,71,6d,81),attr,null());
HXLINE( 34) if (::hx::IsNotNull( payload )) {
HXLINE( 34) this->queryStanza->addChild(payload);
}
@@ -144,21 +150,21 @@ HXDLIN( 78) return 0;
HXLINE( 49) ::borogove::Stanza cmd = this->responseStanza->getChild(HX_("command",4b,71,6d,81),this->xmlns);
HXLINE( 50) bool _hx_tmp;
-HXDLIN( 50) if ((( (::String)(::Reflect_obj::field(this->responseStanza->attr,HX_("type",ba,f2,08,4d))) ) != HX_("error",c8,cb,29,73))) {
+HXDLIN( 50) if (::hx::IsNotEq( this->responseStanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
HXLINE( 50) _hx_tmp = ::hx::IsNull( cmd );
}
else {
HXLINE( 50) _hx_tmp = true;
}
HXDLIN( 50) if (_hx_tmp) {
-HXLINE( 53) ::String _hx_tmp1 = ( (::String)(::Reflect_obj::field(this->queryStanza->attr,HX_("sessionid",b1,74,4d,bb))) );
+HXLINE( 53) ::String _hx_tmp1 = this->queryStanza->attr->get_string(HX_("sessionid",b1,74,4d,bb));
HXLINE( 51) this->result = ::borogove::CommandSession_obj::__alloc( HX_CTX ,HX_("error",c8,cb,29,73),_hx_tmp1,::Array_obj< ::Dynamic>::__new(0),this->forms(::Array_obj< ::Dynamic>::__new(1)->init(0,this->responseStanza)),command);
HXLINE( 58) return this->result;
}
HXLINE( 62) bool _hx_tmp2;
-HXDLIN( 62) if (::hx::IsNotNull( ( (::String)(::Reflect_obj::field(this->queryStanza->attr,HX_("sessionid",b1,74,4d,bb))) ) )) {
-HXLINE( 63) ::String _hx_tmp3 = ( (::String)(::Reflect_obj::field(cmd->attr,HX_("sessionid",b1,74,4d,bb))) );
-HXLINE( 62) _hx_tmp2 = (_hx_tmp3 != ( (::String)(::Reflect_obj::field(this->queryStanza->attr,HX_("sessionid",b1,74,4d,bb))) ));
+HXDLIN( 62) if (::hx::IsNotNull( this->queryStanza->attr->get(HX_("sessionid",b1,74,4d,bb)) )) {
+HXLINE( 63) ::String _hx_tmp3 = cmd->attr->get_string(HX_("sessionid",b1,74,4d,bb));
+HXLINE( 62) _hx_tmp2 = ::hx::IsNotEq( _hx_tmp3,this->queryStanza->attr->get(HX_("sessionid",b1,74,4d,bb)) );
}
else {
HXLINE( 62) _hx_tmp2 = false;
@@ -174,7 +180,7 @@ HXLINE( 66) return null();
}
HXLINE( 68) ::Array< ::Dynamic> forms = this->forms(cmd->allTags(null(),null()));
HXLINE( 69) ::borogove::Stanza tmp = cmd->getChild(HX_("actions",fd,03,2e,67),null());
-HXDLIN( 69) ::Dynamic tmp1;
+HXDLIN( 69) ::haxe::ds::StringMap tmp1;
HXDLIN( 69) if (::hx::IsNotNull( tmp )) {
HXLINE( 69) tmp1 = tmp->attr;
}
@@ -183,7 +189,7 @@ HXLINE( 69) tmp1 = null();
}
HXDLIN( 69) ::String execute;
HXDLIN( 69) if (::hx::IsNotNull( tmp1 )) {
-HXLINE( 69) execute = ( (::String)(::Reflect_obj::field(tmp1,HX_("execute",35,0a,0d,cc))) );
+HXLINE( 69) execute = tmp1->get_string(HX_("execute",35,0a,0d,cc));
}
else {
HXLINE( 69) execute = null();
@@ -204,7 +210,7 @@ HXLINE( 70) extActionsField = ::borogove::_DataForm::DataForm_Impl__obj::fie
HXLINE( 70) extActionsField = null();
}
HXLINE( 71) if (::hx::IsNotNull( extActionsField )) {
-HXLINE( 71) ::Reflect_obj::setField(extActionsField->attr,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c));
+HXLINE( 71) extActionsField->attr->set(HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c));
}
HXLINE( 72) ::Array< ::Dynamic> _this;
HXDLIN( 72) ::Array< ::Dynamic> tmp4;
@@ -300,7 +306,7 @@ HXLINE( 73) actions = tmp8;
HXLINE( 73) actions = ::Array_obj< ::Dynamic>::__new(0);
}
}
-HXLINE( 74) if ((( (::String)(::Reflect_obj::field(cmd->attr,HX_("status",32,e7,fb,05))) ) == HX_("executing",b2,2a,0f,b1))) {
+HXLINE( 74) if (::hx::IsEq( cmd->attr->get(HX_("status",32,e7,fb,05)),HX_("executing",b2,2a,0f,b1) )) {
HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
bool _hx_run( ::borogove::FormOption a){
HX_GC_STACKFRAME(&_hx_pos_8b2a8547b04ebfcd_76_getResult)
@@ -316,8 +322,8 @@ HXLINE( 76) actions->push( ::borogove::FormOption_obj::__alloc( HX_CTX ,HX_
}
}
HXLINE( 78) actions->sort( ::Dynamic(new _hx_Closure_1(execute)));
-HXLINE( 80) ::String _hx_tmp4 = ( (::String)(::Reflect_obj::field(cmd->attr,HX_("status",32,e7,fb,05))) );
-HXLINE( 79) this->result = ::borogove::CommandSession_obj::__alloc( HX_CTX ,_hx_tmp4,( (::String)(::Reflect_obj::field(cmd->attr,HX_("sessionid",b1,74,4d,bb))) ),actions,forms,command);
+HXLINE( 80) ::String _hx_tmp4 = cmd->attr->get_string(HX_("status",32,e7,fb,05));
+HXLINE( 79) this->result = ::borogove::CommandSession_obj::__alloc( HX_CTX ,_hx_tmp4,cmd->attr->get_string(HX_("sessionid",b1,74,4d,bb)),actions,forms,command);
}
HXLINE( 87) return this->result;
}
@@ -335,7 +341,7 @@ HXLINE( 92) ::borogove::Stanza el = els->__get(_g).StaticCast< ::borogove:
HXDLIN( 92) _g = (_g + 1);
HXLINE( 93) bool _hx_tmp;
HXDLIN( 93) if ((el->name == HX_("x",78,00,00,00))) {
-HXLINE( 93) _hx_tmp = (( (::String)(::Reflect_obj::field(el->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 93) _hx_tmp = ::hx::IsEq( el->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:x:data",c2,e1,e9,7c) );
}
else {
HXLINE( 93) _hx_tmp = false;
@@ -345,7 +351,7 @@ HXLINE( 94) fs->push( ::borogove::Form_obj::__alloc( HX_CTX ,el,null()));
}
HXLINE( 96) bool _hx_tmp1;
HXDLIN( 96) if ((el->name == HX_("x",78,00,00,00))) {
-HXLINE( 96) _hx_tmp1 = (( (::String)(::Reflect_obj::field(el->attr,HX_("xmlns",dc,31,74,60))) ) == HX_("jabber:x:oob",aa,8a,5f,ef));
+HXLINE( 96) _hx_tmp1 = ::hx::IsEq( el->attr->get(HX_("xmlns",dc,31,74,60)),HX_("jabber:x:oob",aa,8a,5f,ef) );
}
else {
HXLINE( 96) _hx_tmp1 = false;
@@ -355,7 +361,7 @@ HXLINE( 97) fs->push( ::borogove::Form_obj::__alloc( HX_CTX ,null(),el));
}
HXLINE( 99) bool _hx_tmp2;
HXDLIN( 99) if ((el->name == HX_("iq",e8,5b,00,00))) {
-HXLINE( 99) _hx_tmp2 = (( (::String)(::Reflect_obj::field(el->attr,HX_("type",ba,f2,08,4d))) ) == HX_("error",c8,cb,29,73));
+HXLINE( 99) _hx_tmp2 = ::hx::IsEq( el->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) );
}
else {
HXLINE( 99) _hx_tmp2 = false;
@@ -372,16 +378,16 @@ HXLINE( 101) formish = error->condition;
}
HXLINE( 102) fs->push( ::borogove::Form_obj::__alloc( HX_CTX , ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->textTag(HX_("instructions",a5,96,3f,6d),formish, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73)))),null()));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->textTag(HX_("instructions",a5,96,3f,6d),formish, ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("error",c8,cb,29,73))),null()),null()));
}
HXLINE( 104) if ((el->name == HX_("note",f2,17,0a,49))) {
HXLINE( 105) ::borogove::Stanza formish1 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))));
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null());
HXDLIN( 105) ::String formish2 = el->getText();
HXLINE( 106) fs->push( ::borogove::Form_obj::__alloc( HX_CTX ,formish1->textTag(HX_("instructions",a5,96,3f,6d),formish2, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),( (::String)(::Reflect_obj::field(el->attr,HX_("type",ba,f2,08,4d))) )))),null()));
+ ->setFixed(0,HX_("type",ba,f2,08,4d),el->attr->get(HX_("type",ba,f2,08,4d)))),null()),null()));
}
}
}
diff --git a/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp b/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
index d2eced8..06ab154 100644
--- a/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/DiscoInfoGet.cpp
@@ -22,6 +22,12 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_ed0ef8fead0ee9f6_12_new,"borogove.queries.DiscoInfoGet","new",0x10b37175,"borogove.queries.DiscoInfoGet.new","borogove/queries/DiscoInfoGet.hx",12,0x692b3cd9)
HX_LOCAL_STACK_FRAME(_hx_pos_ed0ef8fead0ee9f6_30_handleResponse,"borogove.queries.DiscoInfoGet","handleResponse",0x5689d354,"borogove.queries.DiscoInfoGet.handleResponse","borogove/queries/DiscoInfoGet.hx",30,0x692b3cd9)
@@ -43,7 +49,7 @@ HXLINE( 23) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 24) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("query",08,8b,ea,5d),attr)->up();
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("query",08,8b,ea,5d),attr,null())->up();
}
Dynamic DiscoInfoGet_obj::__CreateEmpty() { return new DiscoInfoGet_obj; }
@@ -84,7 +90,7 @@ HXLINE( 42) return null();
}
HXLINE( 44) ::Array< ::Dynamic> identities = q->allTags(HX_("identity",3e,45,2f,b9),null());
HXLINE( 45) ::Array< ::Dynamic> features = q->allTags(HX_("feature",b6,f2,7c,1a),null());
-HXLINE( 47) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(q->attr,HX_("node",02,0a,0a,49))) );
+HXLINE( 47) ::String _hx_tmp = q->attr->get_string(HX_("node",02,0a,0a,49));
HXLINE( 48) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(identities->length);
HXDLIN( 48) {
HXLINE( 48) int _g = 0;
@@ -94,10 +100,10 @@ HXLINE( 48) _g = (_g + 1);
HXDLIN( 48) int i = (_g - 1);
HXDLIN( 48) {
HXLINE( 49) ::borogove::Stanza identity = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(identities,i)) );
-HXLINE( 50) ::String inValue = ( (::String)(::Reflect_obj::field(identity->attr,HX_("category",fe,2a,6c,ad))) );
-HXLINE( 51) ::String inValue1 = ( (::String)(::Reflect_obj::field(identity->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 52) ::String inValue2 = ( (::String)(::Reflect_obj::field(identity->attr,HX_("name",4b,72,ff,48))) );
-HXLINE( 48) ::borogove::Identity inValue3 = ::borogove::Identity_obj::__alloc( HX_CTX ,inValue,inValue1,inValue2,( (::String)(::Reflect_obj::field(identity->attr,HX_("xml:lang",f1,b1,be,5f))) ));
+HXLINE( 50) ::String inValue = identity->attr->get_string(HX_("category",fe,2a,6c,ad));
+HXLINE( 51) ::String inValue1 = identity->attr->get_string(HX_("type",ba,f2,08,4d));
+HXLINE( 52) ::String inValue2 = identity->attr->get_string(HX_("name",4b,72,ff,48));
+HXLINE( 48) ::borogove::Identity inValue3 = ::borogove::Identity_obj::__alloc( HX_CTX ,inValue,inValue1,inValue2,identity->attr->get_string(HX_("xml:lang",f1,b1,be,5f)));
HXDLIN( 48) result->__unsafe_set(i,inValue3);
}
}
@@ -110,7 +116,7 @@ HXDLIN( 56) while((_g2 < _g3)){
HXLINE( 56) _g2 = (_g2 + 1);
HXDLIN( 56) int i1 = (_g2 - 1);
HXDLIN( 56) {
-HXLINE( 56) ::String inValue4 = ( (::String)(::Reflect_obj::field(( ( ::borogove::Stanza)(_hx_array_unsafe_get(features,i1)) )->attr,HX_("var",e7,de,59,00))) );
+HXLINE( 56) ::String inValue4 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(features,i1)) )->attr->get_string(HX_("var",e7,de,59,00));
HXDLIN( 56) result1->__unsafe_set(i1,inValue4);
}
}
diff --git a/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp b/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
index a7763ad..9d18f22 100644
--- a/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/DiscoItemsGet.cpp
@@ -19,6 +19,12 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_86f8447d6718115f_13_new,"borogove.queries.DiscoItemsGet","new",0x44ec104d,"borogove.queries.DiscoItemsGet.new","borogove/queries/DiscoItemsGet.hx",13,0x8b2444c5)
HX_LOCAL_STACK_FRAME(_hx_pos_86f8447d6718115f_30_handleResponse,"borogove.queries.DiscoItemsGet","handleResponse",0x3c7e737c,"borogove.queries.DiscoItemsGet.handleResponse","borogove/queries/DiscoItemsGet.hx",30,0x8b2444c5)
@@ -40,7 +46,7 @@ HXLINE( 23) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 24) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("query",08,8b,ea,5d),attr)->up();
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("query",08,8b,ea,5d),attr,null())->up();
}
Dynamic DiscoItemsGet_obj::__CreateEmpty() { return new DiscoItemsGet_obj; }
@@ -86,15 +92,15 @@ HXDLIN( 45) ::Array< ::Dynamic> _g1 = q->allTags(HX_("item",13,c5,bf,45),nul
HXDLIN( 45) while((_g < _g1->length)){
HXLINE( 45) ::borogove::Stanza item = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
HXDLIN( 45) _g = (_g + 1);
-HXLINE( 46) ::String jid = ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) );
+HXLINE( 46) ::String jid = item->attr->get_string(HX_("jid",c5,ca,50,00));
HXLINE( 47) if (::hx::IsNotNull( jid )) {
HXLINE( 48) ::Array< ::Dynamic> _hx_tmp = this->result;
HXDLIN( 48) ::borogove::JID _hx_tmp1 = ::borogove::JID_obj::parse(jid);
-HXDLIN( 48) ::String _hx_tmp2 = ( (::String)(::Reflect_obj::field(item->attr,HX_("name",4b,72,ff,48))) );
+HXDLIN( 48) ::String _hx_tmp2 = item->attr->get_string(HX_("name",4b,72,ff,48));
HXDLIN( 48) _hx_tmp->push( ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("jid",c5,ca,50,00),_hx_tmp1)
->setFixed(1,HX_("name",4b,72,ff,48),_hx_tmp2)
- ->setFixed(2,HX_("node",02,0a,0a,49),( (::String)(::Reflect_obj::field(item->attr,HX_("node",02,0a,0a,49))) ))));
+ ->setFixed(2,HX_("node",02,0a,0a,49),item->attr->get(HX_("node",02,0a,0a,49)))));
}
}
}
diff --git a/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp b/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
index 5e5fd60..704d207 100644
--- a/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/ExtDiscoGet.cpp
@@ -13,6 +13,12 @@
#ifndef INCLUDED_borogove_queries_GenericQuery
#include <borogove/queries/GenericQuery.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_7c20bf4cb6261d46_13_new,"borogove.queries.ExtDiscoGet","new",0xb0242afa,"borogove.queries.ExtDiscoGet.new","borogove/queries/ExtDiscoGet.hx",13,0x05e63a38)
HX_LOCAL_STACK_FRAME(_hx_pos_7c20bf4cb6261d46_29_handleResponse,"borogove.queries.ExtDiscoGet","handleResponse",0x8bc5adef,"borogove.queries.ExtDiscoGet.handleResponse","borogove/queries/ExtDiscoGet.hx",29,0x05e63a38)
@@ -29,8 +35,8 @@ HXLINE( 22) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 23) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("services",9e,92,4b,e5), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)))->up();
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("services",9e,92,4b,e5), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null())->up();
}
Dynamic ExtDiscoGet_obj::__CreateEmpty() { return new ExtDiscoGet_obj; }
diff --git a/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp b/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
index b5adfcd..54c1cec 100644
--- a/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
+++ b/Sources/c_borogove/src/borogove/queries/HttpUploadSlot.cpp
@@ -1,18 +1,12 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
#include <_UUIDv7/UUIDv7_Fields_.h>
#endif
-#ifndef INCLUDED_borogove_Hash
-#include <borogove/Hash.h>
-#endif
#ifndef INCLUDED_borogove_Stanza
#include <borogove/Stanza.h>
#endif
@@ -22,11 +16,11 @@
#ifndef INCLUDED_borogove_queries_HttpUploadSlot
#include <borogove/queries/HttpUploadSlot.h>
#endif
-#ifndef INCLUDED_haxe_crypto_Base64
-#include <haxe/crypto/Base64.h>
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
#endif
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
#endif
#ifndef INCLUDED_tink_core_NamedWith
#include <tink/core/NamedWith.h>
@@ -36,12 +30,12 @@
#endif
HX_DEFINE_STACK_FRAME(_hx_pos_9d272fcc1f8cfff5_16_new,"borogove.queries.HttpUploadSlot","new",0xb6de630e,"borogove.queries.HttpUploadSlot.new","borogove/queries/HttpUploadSlot.hx",16,0x81278ce0)
-HX_LOCAL_STACK_FRAME(_hx_pos_9d272fcc1f8cfff5_35_handleResponse,"borogove.queries.HttpUploadSlot","handleResponse",0xee3b065b,"borogove.queries.HttpUploadSlot.handleResponse","borogove/queries/HttpUploadSlot.hx",35,0x81278ce0)
-HX_LOCAL_STACK_FRAME(_hx_pos_9d272fcc1f8cfff5_40_getResult,"borogove.queries.HttpUploadSlot","getResult",0x4035bb41,"borogove.queries.HttpUploadSlot.getResult","borogove/queries/HttpUploadSlot.hx",40,0x81278ce0)
+HX_LOCAL_STACK_FRAME(_hx_pos_9d272fcc1f8cfff5_32_handleResponse,"borogove.queries.HttpUploadSlot","handleResponse",0xee3b065b,"borogove.queries.HttpUploadSlot.handleResponse","borogove/queries/HttpUploadSlot.hx",32,0x81278ce0)
+HX_LOCAL_STACK_FRAME(_hx_pos_9d272fcc1f8cfff5_37_getResult,"borogove.queries.HttpUploadSlot","getResult",0x4035bb41,"borogove.queries.HttpUploadSlot.getResult","borogove/queries/HttpUploadSlot.hx",37,0x81278ce0)
namespace borogove{
namespace queries{
-void HttpUploadSlot_obj::__construct(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes){
+void HttpUploadSlot_obj::__construct(::String to,::String filename,int size,::String mime){
HX_GC_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_16_new)
HXLINE( 18) this->queryId = null();
HXLINE( 17) this->xmlns = HX_("urn:xmpp:http:upload:0",0d,db,46,68);
@@ -50,26 +44,14 @@ HXLINE( 24) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 25) ::borogove::Stanza _hx_tmp = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null());
HXLINE( 28) ::String _hx_tmp1 = this->xmlns;
HXLINE( 25) this->queryStanza = _hx_tmp->tag(HX_("request",4f,df,84,44), ::Dynamic(::hx::Anon_obj::Create(4)
->setFixed(0,HX_("content-type",8e,f1,71,89),mime)
->setFixed(1,HX_("size",c1,a0,53,4c),::Std_obj::string(size))
->setFixed(2,HX_("xmlns",dc,31,74,60),_hx_tmp1)
- ->setFixed(3,HX_("filename",c7,2e,6a,77),filename)));
-HXLINE( 29) {
-HXLINE( 29) int _g = 0;
-HXDLIN( 29) while((_g < hashes->length)){
-HXLINE( 29) ::borogove::Hash hash = hashes->__get(_g).StaticCast< ::borogove::Hash >();
-HXDLIN( 29) _g = (_g + 1);
-HXLINE( 30) ::borogove::Stanza _hx_tmp2 = this->queryStanza;
-HXDLIN( 30) ::String _hx_tmp3 = ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofData(hash->hash),null());
-HXDLIN( 30) _hx_tmp2->textTag(HX_("hash",ce,2f,08,45),_hx_tmp3, ::Dynamic(::hx::Anon_obj::Create(2)
- ->setFixed(0,HX_("algo",d3,ff,6f,40),hash->algorithm)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:hashes:2",90,ad,87,c7))));
- }
- }
-HXLINE( 32) this->queryStanza->up();
+ ->setFixed(3,HX_("filename",c7,2e,6a,77),filename)),null());
+HXLINE( 29) this->queryStanza->up();
}
Dynamic HttpUploadSlot_obj::__CreateEmpty() { return new HttpUploadSlot_obj; }
@@ -79,7 +61,7 @@ void *HttpUploadSlot_obj::_hx_vtable = 0;
Dynamic HttpUploadSlot_obj::__Create(::hx::DynamicArray inArgs)
{
::hx::ObjectPtr< HttpUploadSlot_obj > _hx_result = new HttpUploadSlot_obj();
- _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3],inArgs[4]);
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
return _hx_result;
}
@@ -92,63 +74,63 @@ bool HttpUploadSlot_obj::_hx_isInstanceOf(int inClassId) {
}
void HttpUploadSlot_obj::handleResponse( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_35_handleResponse)
-HXLINE( 36) this->responseStanza = stanza;
-HXLINE( 37) this->finish();
+ HX_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_32_handleResponse)
+HXLINE( 33) this->responseStanza = stanza;
+HXLINE( 34) this->finish();
}
::Dynamic HttpUploadSlot_obj::getResult(){
- HX_GC_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_40_getResult)
-HXLINE( 41) if (::hx::IsNull( this->responseStanza )) {
-HXLINE( 42) return null();
+ HX_GC_STACKFRAME(&_hx_pos_9d272fcc1f8cfff5_37_getResult)
+HXLINE( 38) if (::hx::IsNull( this->responseStanza )) {
+HXLINE( 39) return null();
}
-HXLINE( 44) if (::hx::IsNull( this->result )) {
-HXLINE( 45) ::borogove::Stanza q = this->responseStanza->getChild(HX_("slot",fe,dd,55,4c),this->xmlns);
-HXLINE( 46) if (::hx::IsNull( q )) {
-HXLINE( 47) return null();
+HXLINE( 41) if (::hx::IsNull( this->result )) {
+HXLINE( 42) ::borogove::Stanza q = this->responseStanza->getChild(HX_("slot",fe,dd,55,4c),this->xmlns);
+HXLINE( 43) if (::hx::IsNull( q )) {
+HXLINE( 44) return null();
}
-HXLINE( 49) ::String get = q->findText(HX_("get@url",c5,56,50,12));
-HXLINE( 50) if (::hx::IsNull( get )) {
-HXLINE( 50) return null();
+HXLINE( 46) ::String get = q->findText(HX_("get@url",c5,56,50,12));
+HXLINE( 47) if (::hx::IsNull( get )) {
+HXLINE( 47) return null();
}
-HXLINE( 51) ::String put = q->findText(HX_("put@url",7e,49,47,ee));
-HXLINE( 52) if (::hx::IsNull( put )) {
-HXLINE( 52) return null();
+HXLINE( 48) ::String put = q->findText(HX_("put@url",7e,49,47,ee));
+HXLINE( 49) if (::hx::IsNull( put )) {
+HXLINE( 49) return null();
}
-HXLINE( 53) ::Array< ::Dynamic> headers = ::Array_obj< ::Dynamic>::__new(0);
-HXLINE( 54) {
-HXLINE( 54) int _g = 0;
-HXDLIN( 54) ::Array< ::Dynamic> _g1 = q->getChild(HX_("put",cf,62,55,00),null())->allTags(HX_("header",8d,09,00,fd),null());
-HXDLIN( 54) while((_g < _g1->length)){
-HXLINE( 54) ::borogove::Stanza header = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
-HXDLIN( 54) _g = (_g + 1);
-HXLINE( 55) ::String _hx_tmp = ( (::String)(::Reflect_obj::field(header->attr,HX_("name",4b,72,ff,48))) ).toLowerCase();
-HXDLIN( 55) headers->push( ::tink::http::HeaderField_obj::__alloc( HX_CTX ,_hx_tmp,header->getText()));
+HXLINE( 50) ::Array< ::Dynamic> headers = ::Array_obj< ::Dynamic>::__new(0);
+HXLINE( 51) {
+HXLINE( 51) int _g = 0;
+HXDLIN( 51) ::Array< ::Dynamic> _g1 = q->getChild(HX_("put",cf,62,55,00),null())->allTags(HX_("header",8d,09,00,fd),null());
+HXDLIN( 51) while((_g < _g1->length)){
+HXLINE( 51) ::borogove::Stanza header = _g1->__get(_g).StaticCast< ::borogove::Stanza >();
+HXDLIN( 51) _g = (_g + 1);
+HXLINE( 52) ::String _hx_tmp = header->attr->get_string(HX_("name",4b,72,ff,48)).toLowerCase();
+HXDLIN( 52) headers->push( ::tink::http::HeaderField_obj::__alloc( HX_CTX ,_hx_tmp,header->getText()));
}
}
-HXLINE( 57) this->result = ::Dynamic(::hx::Anon_obj::Create(3)
+HXLINE( 54) this->result = ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("putHeaders",37,9f,1e,a4),headers)
->setFixed(1,HX_("get",96,80,4e,00),get)
->setFixed(2,HX_("put",cf,62,55,00),put));
}
-HXLINE( 59) return this->result;
+HXLINE( 56) return this->result;
}
HX_DEFINE_DYNAMIC_FUNC0(HttpUploadSlot_obj,getResult,return )
-::hx::ObjectPtr< HttpUploadSlot_obj > HttpUploadSlot_obj::__new(::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes) {
+::hx::ObjectPtr< HttpUploadSlot_obj > HttpUploadSlot_obj::__new(::String to,::String filename,int size,::String mime) {
::hx::ObjectPtr< HttpUploadSlot_obj > __this = new HttpUploadSlot_obj();
- __this->__construct(to,filename,size,mime,hashes);
+ __this->__construct(to,filename,size,mime);
return __this;
}
-::hx::ObjectPtr< HttpUploadSlot_obj > HttpUploadSlot_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String filename,int size,::String mime,::Array< ::Dynamic> hashes) {
+::hx::ObjectPtr< HttpUploadSlot_obj > HttpUploadSlot_obj::__alloc(::hx::Ctx *_hx_ctx,::String to,::String filename,int size,::String mime) {
HttpUploadSlot_obj *__this = (HttpUploadSlot_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(HttpUploadSlot_obj), true, "borogove.queries.HttpUploadSlot"));
*(void **)__this = HttpUploadSlot_obj::_hx_vtable;
- __this->__construct(to,filename,size,mime,hashes);
+ __this->__construct(to,filename,size,mime);
return __this;
}
diff --git a/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp b/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
index c1b5ffe..868a737 100644
--- a/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/JabberIqGatewayGet.cpp
@@ -13,9 +13,15 @@
#ifndef INCLUDED_borogove_queries_JabberIqGatewayGet
#include <borogove/queries/JabberIqGatewayGet.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_ds_Either
#include <haxe/ds/Either.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_13d3300d6eeec322_14_new,"borogove.queries.JabberIqGatewayGet","new",0x3a38f045,"borogove.queries.JabberIqGatewayGet.new","borogove/queries/JabberIqGatewayGet.hx",14,0x37870a89)
HX_LOCAL_STACK_FRAME(_hx_pos_13d3300d6eeec322_34_handleResponse,"borogove.queries.JabberIqGatewayGet","handleResponse",0x64a22684,"borogove.queries.JabberIqGatewayGet.handleResponse","borogove/queries/JabberIqGatewayGet.hx",34,0x37870a89)
@@ -39,11 +45,11 @@ HXLINE( 25) _hx_tmp = HX_("set",a2,9b,57,00);
HXLINE( 23) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),_hx_tmp)));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),_hx_tmp)),null());
HXLINE( 27) ::borogove::Stanza query = this->queryStanza->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null());
HXLINE( 28) if (::hx::IsNotNull( prompt )) {
-HXLINE( 29) query->textTag(HX_("prompt",a4,51,58,b5),prompt, ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 29) query->textTag(HX_("prompt",a4,51,58,b5),prompt, ::Dynamic(::hx::Anon_obj::Create(0)),null());
}
HXLINE( 31) query->up();
}
diff --git a/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp b/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
index 580c03d..4925a00 100644
--- a/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
+++ b/Sources/c_borogove/src/borogove/queries/MAMQuery.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_Reflect
-#include <Reflect.h>
-#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -22,6 +19,12 @@
#ifndef INCLUDED_haxe_Exception
#include <haxe/Exception.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_64437080bc77dd71_31_new,"borogove.queries.MAMQuery","new",0xc92a58b6,"borogove.queries.MAMQuery.new","borogove/queries/MAMQuery.hx",31,0xf037c1b8)
HX_LOCAL_STACK_FRAME(_hx_pos_64437080bc77dd71_37_addStringField,"borogove.queries.MAMQuery","addStringField",0x44e298f2,"borogove.queries.MAMQuery.addStringField","borogove/queries/MAMQuery.hx",37,0xf037c1b8)
@@ -39,13 +42,13 @@ HXLINE( 58) super::__construct();
HXLINE( 60) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 61) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("to",7b,65,00,00),jid)
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))))->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("queryid",e3,b8,e9,95),this->queryId)
- ->setFixed(1,HX_("xmlns",dc,31,74,60),this->xmlns)))->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),this->xmlns)),null())->tag(HX_("x",78,00,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("type",ba,f2,08,4d),HX_("submit",18,58,06,9a))
- ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))))->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(1,HX_("xmlns",dc,31,74,60),HX_("jabber:x:data",c2,e1,e9,7c))),null())->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("var",e7,de,59,00),HX_("FORM_TYPE",d5,96,c9,5a))
- ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))))->textTag(HX_("value",71,7f,b8,31),this->xmlns,null())->up();
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("hidden",6a,ff,95,4c))),null())->textTag(HX_("value",71,7f,b8,31),this->xmlns,null(),null())->up();
HXLINE( 69) this->addStringField(HX_("start",62,74,0b,84),( (::String)(params->__Field(HX_("startTime",8f,45,f0,05),::hx::paccDynamic)) ));
HXLINE( 70) this->addStringField(HX_("end",db,03,4d,00),( (::String)(params->__Field(HX_("endTime",88,85,21,2f),::hx::paccDynamic)) ));
HXLINE( 71) this->addStringField(HX_("with",06,76,f8,4e),( (::String)(params->__Field(HX_("with",06,76,f8,4e),::hx::paccDynamic)) ));
@@ -56,10 +59,10 @@ HXLINE( 76) this->queryStanza->up();
HXLINE( 78) if (::hx::IsNotNull( params->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic) )) {
HXLINE( 79) ::Dynamic page = params->__Field(HX_("page",4f,da,51,4a),::hx::paccDynamic);
HXLINE( 80) this->queryStanza->tag(HX_("set",a2,9b,57,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/rsm",98,7b,83,c6))));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/rsm",98,7b,83,c6))),null());
HXLINE( 81) if (::hx::IsNotNull( page->__Field(HX_("limit",3b,1f,01,75),::hx::paccDynamic) )) {
HXLINE( 82) ::borogove::Stanza _hx_tmp = this->queryStanza;
-HXDLIN( 82) _hx_tmp->textTag(HX_("max",a4,0a,53,00),::Std_obj::string( ::Dynamic(page->__Field(HX_("limit",3b,1f,01,75),::hx::paccDynamic))),null());
+HXDLIN( 82) _hx_tmp->textTag(HX_("max",a4,0a,53,00),::Std_obj::string( ::Dynamic(page->__Field(HX_("limit",3b,1f,01,75),::hx::paccDynamic))),null(),null());
}
HXLINE( 84) bool _hx_tmp1;
HXDLIN( 84) if (::hx::IsNotNull( page->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic) )) {
@@ -72,11 +75,11 @@ HXDLIN( 84) if (_hx_tmp1) {
HXLINE( 85) HX_STACK_DO_THROW( ::haxe::Exception_obj::__alloc( HX_CTX ,HX_("It is not allowed to request a page before AND a page after",72,f7,df,75),null(),null()));
}
HXLINE( 87) if (::hx::IsNotNull( page->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic) )) {
-HXLINE( 88) this->queryStanza->textTag(HX_("before",7f,54,32,9a),( (::String)(page->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic)) ),null());
+HXLINE( 88) this->queryStanza->textTag(HX_("before",7f,54,32,9a),( (::String)(page->__Field(HX_("before",7f,54,32,9a),::hx::paccDynamic)) ),null(),null());
}
else {
HXLINE( 89) if (::hx::IsNotNull( page->__Field(HX_("after",1c,66,a2,1d),::hx::paccDynamic) )) {
-HXLINE( 90) this->queryStanza->textTag(HX_("after",1c,66,a2,1d),( (::String)(page->__Field(HX_("after",1c,66,a2,1d),::hx::paccDynamic)) ),null());
+HXLINE( 90) this->queryStanza->textTag(HX_("after",1c,66,a2,1d),( (::String)(page->__Field(HX_("after",1c,66,a2,1d),::hx::paccDynamic)) ),null(),null());
}
}
HXLINE( 92) this->queryStanza->up();
@@ -108,7 +111,7 @@ HXLINE( 38) if (::hx::IsNull( value )) {
HXLINE( 39) return;
}
HXLINE( 41) this->queryStanza->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),name)))->textTag(HX_("value",71,7f,b8,31),value,null())->up();
+ ->setFixed(0,HX_("var",e7,de,59,00),name)),null())->textTag(HX_("value",71,7f,b8,31),value,null(),null())->up();
}
@@ -120,13 +123,13 @@ HXLINE( 48) if (::hx::IsNull( values )) {
HXLINE( 49) return;
}
HXLINE( 51) this->queryStanza->tag(HX_("field",ba,94,93,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("var",e7,de,59,00),name)));
+ ->setFixed(0,HX_("var",e7,de,59,00),name)),null());
HXLINE( 52) {
HXLINE( 52) int _g = 0;
HXDLIN( 52) while((_g < values->length)){
HXLINE( 52) ::String value = values->__get(_g);
HXDLIN( 52) _g = (_g + 1);
-HXLINE( 53) this->queryStanza->textTag(HX_("value",71,7f,b8,31),value,null());
+HXLINE( 53) this->queryStanza->textTag(HX_("value",71,7f,b8,31),value,null(),null());
}
}
HXLINE( 55) this->queryStanza->up();
@@ -158,7 +161,7 @@ HXLINE( 107) _hx_tmp1 = (fin->name != HX_("fin",cb,c1,4d,00));
HXLINE( 107) _hx_tmp1 = true;
}
HXDLIN( 107) if (!(_hx_tmp1)) {
-HXLINE( 107) ::String _hx_tmp2 = ( (::String)(::Reflect_obj::field(fin->attr,HX_("xmlns",dc,31,74,60))) );
+HXLINE( 107) ::String _hx_tmp2 = fin->attr->get_string(HX_("xmlns",dc,31,74,60));
HXDLIN( 107) _hx_tmp = (_hx_tmp2 != this->xmlns);
}
else {
@@ -170,8 +173,8 @@ HXLINE( 108) return null();
HXLINE( 110) ::borogove::Stanza rsmInfo = fin->getChild(HX_("set",a2,9b,57,00),HX_("http://jabber.org/protocol/rsm",98,7b,83,c6));
HXLINE( 111) ::String count = rsmInfo->getChildText(HX_("count",cf,44,63,4a),null());
HXLINE( 113) bool _hx_tmp3;
-HXDLIN( 113) if ((( (::String)(::Reflect_obj::field(fin->attr,HX_("complete",b9,00,c8,7f))) ) != HX_("true",4e,a7,03,4d))) {
-HXLINE( 113) _hx_tmp3 = (( (::String)(::Reflect_obj::field(fin->attr,HX_("complete",b9,00,c8,7f))) ) == HX_("1",31,00,00,00));
+HXDLIN( 113) if (::hx::IsNotEq( fin->attr->get(HX_("complete",b9,00,c8,7f)),HX_("true",4e,a7,03,4d) )) {
+HXLINE( 113) _hx_tmp3 = ::hx::IsEq( fin->attr->get(HX_("complete",b9,00,c8,7f)),HX_("1",31,00,00,00) );
}
else {
HXLINE( 113) _hx_tmp3 = true;
diff --git a/Sources/c_borogove/src/borogove/queries/MucSettingsGet.cpp b/Sources/c_borogove/src/borogove/queries/MucSettingsGet.cpp
new file mode 100644
index 0000000..26cef00
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/queries/MucSettingsGet.cpp
@@ -0,0 +1,225 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
+#include <_UUIDv7/UUIDv7_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsGet
+#include <borogove/queries/MucSettingsGet.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_c7ef9399871ba990_6_new,"borogove.queries.MucSettingsGet","new",0x266cf07f,"borogove.queries.MucSettingsGet.new","borogove/queries/MucSettingsGet.hx",6,0xd44f388f)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7ef9399871ba990_16_handleResponse,"borogove.queries.MucSettingsGet","handleResponse",0x224cfc8a,"borogove.queries.MucSettingsGet.handleResponse","borogove/queries/MucSettingsGet.hx",16,0xd44f388f)
+HX_LOCAL_STACK_FRAME(_hx_pos_c7ef9399871ba990_24_getResult,"borogove.queries.MucSettingsGet","getResult",0x7ba57372,"borogove.queries.MucSettingsGet.getResult","borogove/queries/MucSettingsGet.hx",24,0xd44f388f)
+namespace borogove{
+namespace queries{
+
+void MucSettingsGet_obj::__construct(::String to){
+ HX_GC_STACKFRAME(&_hx_pos_c7ef9399871ba990_6_new)
+HXLINE( 8) this->error = null();
+HXLINE( 10) super::__construct();
+HXLINE( 11) ::String _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN( 11) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp)
+ ->setFixed(1,HX_("to",7b,65,00,00),to)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#owner",77,aa,5b,76))),null())->up();
+ }
+
+Dynamic MucSettingsGet_obj::__CreateEmpty() { return new MucSettingsGet_obj; }
+
+void *MucSettingsGet_obj::_hx_vtable = 0;
+
+Dynamic MucSettingsGet_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MucSettingsGet_obj > _hx_result = new MucSettingsGet_obj();
+ _hx_result->__construct(inArgs[0]);
+ return _hx_result;
+}
+
+bool MucSettingsGet_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x7c285bb6) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x7c285bb6;
+ } else {
+ return inClassId==(int)0x7ebf24bd;
+ }
+}
+
+void MucSettingsGet_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_c7ef9399871ba990_16_handleResponse)
+HXLINE( 17) this->responseStanza = stanza;
+HXLINE( 18) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 19) ::String tmp = stanza->getError()->text;
+HXDLIN( 19) ::String tmp1;
+HXDLIN( 19) if (::hx::IsNotNull( tmp )) {
+HXLINE( 19) tmp1 = tmp;
+ }
+ else {
+HXLINE( 19) tmp1 = stanza->getError()->condition;
+ }
+HXDLIN( 19) ::String _hx_tmp;
+HXDLIN( 19) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 19) _hx_tmp = tmp1;
+ }
+ else {
+HXLINE( 19) _hx_tmp = HX_("error",c8,cb,29,73);
+ }
+HXDLIN( 19) this->error = _hx_tmp;
+ }
+HXLINE( 21) this->finish();
+ }
+
+
+ ::borogove::Stanza MucSettingsGet_obj::getResult(){
+ HX_STACKFRAME(&_hx_pos_c7ef9399871ba990_24_getResult)
+HXLINE( 25) bool _hx_tmp;
+HXDLIN( 25) if (::hx::IsNotNull( this->responseStanza )) {
+HXLINE( 25) _hx_tmp = ::hx::IsNotNull( this->error );
+ }
+ else {
+HXLINE( 25) _hx_tmp = true;
+ }
+HXDLIN( 25) if (_hx_tmp) {
+HXLINE( 25) return null();
+ }
+HXLINE( 27) ::borogove::Stanza query = this->responseStanza->getChild(HX_("query",08,8b,ea,5d),HX_("http://jabber.org/protocol/muc#owner",77,aa,5b,76));
+HXLINE( 28) if (::hx::IsNull( query )) {
+HXLINE( 28) return null();
+ }
+HXLINE( 30) ::borogove::Stanza x = query->getChild(HX_("x",78,00,00,00),HX_("jabber:x:data",c2,e1,e9,7c));
+HXLINE( 31) if (::hx::IsNull( x )) {
+HXLINE( 31) return null();
+ }
+HXLINE( 33) return x;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(MucSettingsGet_obj,getResult,return )
+
+
+::hx::ObjectPtr< MucSettingsGet_obj > MucSettingsGet_obj::__new(::String to) {
+ ::hx::ObjectPtr< MucSettingsGet_obj > __this = new MucSettingsGet_obj();
+ __this->__construct(to);
+ return __this;
+}
+
+::hx::ObjectPtr< MucSettingsGet_obj > MucSettingsGet_obj::__alloc(::hx::Ctx *_hx_ctx,::String to) {
+ MucSettingsGet_obj *__this = (MucSettingsGet_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MucSettingsGet_obj), true, "borogove.queries.MucSettingsGet"));
+ *(void **)__this = MucSettingsGet_obj::_hx_vtable;
+ __this->__construct(to);
+ return __this;
+}
+
+MucSettingsGet_obj::MucSettingsGet_obj()
+{
+}
+
+void MucSettingsGet_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(MucSettingsGet);
+ HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_MARK_MEMBER_NAME(error,"error");
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void MucSettingsGet_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_VISIT_MEMBER_NAME(error,"error");
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val MucSettingsGet_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"error") ) { return ::hx::Val( error ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"getResult") ) { return ::hx::Val( getResult_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { return ::hx::Val( responseStanza ); }
+ if (HX_FIELD_EQ(inName,"handleResponse") ) { return ::hx::Val( handleResponse_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val MucSettingsGet_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"error") ) { error=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void MucSettingsGet_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("responseStanza",56,d7,9f,78));
+ outFields->push(HX_("error",c8,cb,29,73));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo MucSettingsGet_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(MucSettingsGet_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsString,(int)offsetof(MucSettingsGet_obj,error),HX_("error",c8,cb,29,73)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *MucSettingsGet_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MucSettingsGet_obj_sMemberFields[] = {
+ HX_("responseStanza",56,d7,9f,78),
+ HX_("error",c8,cb,29,73),
+ HX_("handleResponse",49,d6,e3,ef),
+ HX_("getResult",13,f2,da,84),
+ ::String(null()) };
+
+::hx::Class MucSettingsGet_obj::__mClass;
+
+void MucSettingsGet_obj::__register()
+{
+ MucSettingsGet_obj _hx_dummy;
+ MucSettingsGet_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.queries.MucSettingsGet",0d,45,f5,c6);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(MucSettingsGet_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MucSettingsGet_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MucSettingsGet_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MucSettingsGet_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace queries
diff --git a/Sources/c_borogove/src/borogove/queries/MucSettingsSubmit.cpp b/Sources/c_borogove/src/borogove/queries/MucSettingsSubmit.cpp
new file mode 100644
index 0000000..e10a93b
--- /dev/null
+++ b/Sources/c_borogove/src/borogove/queries/MucSettingsSubmit.cpp
@@ -0,0 +1,217 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED__UUIDv7_UUIDv7_Fields_
+#include <_UUIDv7/UUIDv7_Fields_.h>
+#endif
+#ifndef INCLUDED_borogove_Stanza
+#include <borogove/Stanza.h>
+#endif
+#ifndef INCLUDED_borogove_StanzaError
+#include <borogove/StanzaError.h>
+#endif
+#ifndef INCLUDED_borogove_queries_GenericQuery
+#include <borogove/queries/GenericQuery.h>
+#endif
+#ifndef INCLUDED_borogove_queries_MucSettingsSubmit
+#include <borogove/queries/MucSettingsSubmit.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_7f311f26785587ce_7_new,"borogove.queries.MucSettingsSubmit","new",0x7858ad73,"borogove.queries.MucSettingsSubmit.new","borogove/queries/MucSettingsSubmit.hx",7,0x34dfb75f)
+HX_LOCAL_STACK_FRAME(_hx_pos_7f311f26785587ce_18_handleResponse,"borogove.queries.MucSettingsSubmit","handleResponse",0x51373c16,"borogove.queries.MucSettingsSubmit.handleResponse","borogove/queries/MucSettingsSubmit.hx",18,0x34dfb75f)
+HX_LOCAL_STACK_FRAME(_hx_pos_7f311f26785587ce_26_getResult,"borogove.queries.MucSettingsSubmit","getResult",0xf57b5f66,"borogove.queries.MucSettingsSubmit.getResult","borogove/queries/MucSettingsSubmit.hx",26,0x34dfb75f)
+namespace borogove{
+namespace queries{
+
+void MucSettingsSubmit_obj::__construct(::String to, ::borogove::Stanza submitForm){
+ HX_GC_STACKFRAME(&_hx_pos_7f311f26785587ce_7_new)
+HXLINE( 9) this->error = null();
+HXLINE( 11) super::__construct();
+HXLINE( 12) ::String _hx_tmp = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
+HXDLIN( 12) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
+ ->setFixed(0,HX_("id",db,5b,00,00),_hx_tmp)
+ ->setFixed(1,HX_("to",7b,65,00,00),to)
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null())->tag(HX_("query",08,8b,ea,5d), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("http://jabber.org/protocol/muc#owner",77,aa,5b,76))),null())->addChild(submitForm)->up();
+ }
+
+Dynamic MucSettingsSubmit_obj::__CreateEmpty() { return new MucSettingsSubmit_obj; }
+
+void *MucSettingsSubmit_obj::_hx_vtable = 0;
+
+Dynamic MucSettingsSubmit_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< MucSettingsSubmit_obj > _hx_result = new MucSettingsSubmit_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool MucSettingsSubmit_obj::_hx_isInstanceOf(int inClassId) {
+ if (inClassId<=(int)0x425b8651) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x425b8651;
+ } else {
+ return inClassId==(int)0x7c285bb6;
+ }
+}
+
+void MucSettingsSubmit_obj::handleResponse( ::borogove::Stanza stanza){
+ HX_STACKFRAME(&_hx_pos_7f311f26785587ce_18_handleResponse)
+HXLINE( 19) this->responseStanza = stanza;
+HXLINE( 20) if (::hx::IsEq( stanza->attr->get(HX_("type",ba,f2,08,4d)),HX_("error",c8,cb,29,73) )) {
+HXLINE( 21) ::String tmp = stanza->getError()->text;
+HXDLIN( 21) ::String tmp1;
+HXDLIN( 21) if (::hx::IsNotNull( tmp )) {
+HXLINE( 21) tmp1 = tmp;
+ }
+ else {
+HXLINE( 21) tmp1 = stanza->getError()->condition;
+ }
+HXDLIN( 21) ::String _hx_tmp;
+HXDLIN( 21) if (::hx::IsNotNull( tmp1 )) {
+HXLINE( 21) _hx_tmp = tmp1;
+ }
+ else {
+HXLINE( 21) _hx_tmp = HX_("error",c8,cb,29,73);
+ }
+HXDLIN( 21) this->error = _hx_tmp;
+ }
+HXLINE( 23) this->finish();
+ }
+
+
+bool MucSettingsSubmit_obj::getResult(){
+ HX_STACKFRAME(&_hx_pos_7f311f26785587ce_26_getResult)
+HXLINE( 27) bool _hx_tmp;
+HXDLIN( 27) if (::hx::IsNotNull( this->responseStanza )) {
+HXLINE( 27) _hx_tmp = ::hx::IsNotNull( this->error );
+ }
+ else {
+HXLINE( 27) _hx_tmp = true;
+ }
+HXDLIN( 27) if (_hx_tmp) {
+HXLINE( 27) return false;
+ }
+HXLINE( 29) return true;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(MucSettingsSubmit_obj,getResult,return )
+
+
+::hx::ObjectPtr< MucSettingsSubmit_obj > MucSettingsSubmit_obj::__new(::String to, ::borogove::Stanza submitForm) {
+ ::hx::ObjectPtr< MucSettingsSubmit_obj > __this = new MucSettingsSubmit_obj();
+ __this->__construct(to,submitForm);
+ return __this;
+}
+
+::hx::ObjectPtr< MucSettingsSubmit_obj > MucSettingsSubmit_obj::__alloc(::hx::Ctx *_hx_ctx,::String to, ::borogove::Stanza submitForm) {
+ MucSettingsSubmit_obj *__this = (MucSettingsSubmit_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(MucSettingsSubmit_obj), true, "borogove.queries.MucSettingsSubmit"));
+ *(void **)__this = MucSettingsSubmit_obj::_hx_vtable;
+ __this->__construct(to,submitForm);
+ return __this;
+}
+
+MucSettingsSubmit_obj::MucSettingsSubmit_obj()
+{
+}
+
+void MucSettingsSubmit_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(MucSettingsSubmit);
+ HX_MARK_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_MARK_MEMBER_NAME(error,"error");
+ ::borogove::queries::GenericQuery_obj::__Mark(HX_MARK_ARG);
+ HX_MARK_END_CLASS();
+}
+
+void MucSettingsSubmit_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(responseStanza,"responseStanza");
+ HX_VISIT_MEMBER_NAME(error,"error");
+ ::borogove::queries::GenericQuery_obj::__Visit(HX_VISIT_ARG);
+}
+
+::hx::Val MucSettingsSubmit_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"error") ) { return ::hx::Val( error ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"getResult") ) { return ::hx::Val( getResult_dyn() ); }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { return ::hx::Val( responseStanza ); }
+ if (HX_FIELD_EQ(inName,"handleResponse") ) { return ::hx::Val( handleResponse_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val MucSettingsSubmit_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"error") ) { error=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"responseStanza") ) { responseStanza=inValue.Cast< ::borogove::Stanza >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void MucSettingsSubmit_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("responseStanza",56,d7,9f,78));
+ outFields->push(HX_("error",c8,cb,29,73));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo MucSettingsSubmit_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::borogove::Stanza */ ,(int)offsetof(MucSettingsSubmit_obj,responseStanza),HX_("responseStanza",56,d7,9f,78)},
+ {::hx::fsString,(int)offsetof(MucSettingsSubmit_obj,error),HX_("error",c8,cb,29,73)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *MucSettingsSubmit_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String MucSettingsSubmit_obj_sMemberFields[] = {
+ HX_("responseStanza",56,d7,9f,78),
+ HX_("error",c8,cb,29,73),
+ HX_("handleResponse",49,d6,e3,ef),
+ HX_("getResult",13,f2,da,84),
+ ::String(null()) };
+
+::hx::Class MucSettingsSubmit_obj::__mClass;
+
+void MucSettingsSubmit_obj::__register()
+{
+ MucSettingsSubmit_obj _hx_dummy;
+ MucSettingsSubmit_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("borogove.queries.MucSettingsSubmit",01,78,9a,db);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(MucSettingsSubmit_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< MucSettingsSubmit_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = MucSettingsSubmit_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = MucSettingsSubmit_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace borogove
+} // end namespace queries
diff --git a/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp b/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
index 25af093..363c84d 100644
--- a/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/PubsubGet.cpp
@@ -16,6 +16,12 @@
#ifndef INCLUDED_borogove_queries_PubsubGet
#include <borogove/queries/PubsubGet.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_8b5dd76f08720c34_11_new,"borogove.queries.PubsubGet","new",0x0119f3b0,"borogove.queries.PubsubGet.new","borogove/queries/PubsubGet.hx",11,0xf925f5c2)
HX_LOCAL_STACK_FRAME(_hx_pos_8b5dd76f08720c34_33_handleResponse,"borogove.queries.PubsubGet","handleResponse",0x70acd4f9,"borogove.queries.PubsubGet.handleResponse","borogove/queries/PubsubGet.hx",33,0xf925f5c2)
@@ -37,13 +43,13 @@ HXLINE( 22) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 23) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null());
HXLINE( 24) ::borogove::Stanza items = this->queryStanza->tag(HX_("pubsub",e3,da,f8,66), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)))->tag(HX_("items",00,ac,0c,c2), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("node",02,0a,0a,49),node)));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null())->tag(HX_("items",00,ac,0c,c2), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("node",02,0a,0a,49),node)),null());
HXLINE( 27) if (::hx::IsNotNull( itemId )) {
HXLINE( 28) items->tag(HX_("item",13,c5,bf,45), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("id",db,5b,00,00),itemId)))->up();
+ ->setFixed(0,HX_("id",db,5b,00,00),itemId)),null())->up();
}
HXLINE( 30) this->queryStanza->up()->up();
}
@@ -88,8 +94,8 @@ HXLINE( 47) ::borogove::Stanza items = q->getChild(HX_("items",00,ac,0c,c2),
HXLINE( 48) if (::hx::IsNull( items )) {
HXLINE( 49) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 51) if (::hx::IsNull( ( (::String)(::Reflect_obj::field(items->attr,HX_("xmlns",dc,31,74,60))) ) )) {
-HXLINE( 51) ::Reflect_obj::setField(items->attr,HX_("xmlns",dc,31,74,60),this->xmlns);
+HXLINE( 51) if (::hx::IsNull( items->attr->get(HX_("xmlns",dc,31,74,60)) )) {
+HXLINE( 51) items->attr->set(HX_("xmlns",dc,31,74,60),this->xmlns);
}
HXLINE( 53) this->result = items->allTags(HX_("item",13,c5,bf,45),null());
}
diff --git a/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp b/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
index a9e8e8c..e091bec 100644
--- a/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
+++ b/Sources/c_borogove/src/borogove/queries/Push2Disable.cpp
@@ -13,6 +13,12 @@
#ifndef INCLUDED_borogove_queries_Push2Disable
#include <borogove/queries/Push2Disable.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_888b8aba8e0d2e4e_10_new,"borogove.queries.Push2Disable","new",0xf0da31b7,"borogove.queries.Push2Disable.new","borogove/queries/Push2Disable.hx",10,0xa392bad7)
HX_LOCAL_STACK_FRAME(_hx_pos_888b8aba8e0d2e4e_25_handleResponse,"borogove.queries.Push2Disable","handleResponse",0x41b55652,"borogove.queries.Push2Disable.handleResponse","borogove/queries/Push2Disable.hx",25,0xa392bad7)
@@ -28,9 +34,9 @@ HXLINE( 17) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 18) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
HXLINE( 22) this->queryStanza->tag(HX_("disable",e8,69,58,b1), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)));
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null());
}
Dynamic Push2Disable_obj::__CreateEmpty() { return new Push2Disable_obj; }
diff --git a/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp b/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
index e9f5413..24d5068 100644
--- a/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
+++ b/Sources/c_borogove/src/borogove/queries/Push2Enable.cpp
@@ -43,15 +43,15 @@ HXLINE( 17) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 18) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),to)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("set",a2,9b,57,00))),null());
HXLINE( 22) ::borogove::Stanza enable = this->queryStanza->tag(HX_("enable",83,ae,87,f8), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)));
-HXLINE( 23) enable->textTag(HX_("service",35,1c,2d,02),service,null());
-HXLINE( 24) enable->textTag(HX_("client",4b,ca,4f,0a),client,null());
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null());
+HXLINE( 23) enable->textTag(HX_("service",35,1c,2d,02),service,null(),null());
+HXLINE( 24) enable->textTag(HX_("client",4b,ca,4f,0a),client,null(),null());
HXLINE( 25) ::borogove::Stanza match = enable->tag(HX_("match",45,49,23,03), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("profile",29,49,49,f3),HX_("urn:xmpp:push2:match:important",2f,d1,6d,52))));
+ ->setFixed(0,HX_("profile",29,49,49,f3),HX_("urn:xmpp:push2:match:important",2f,d1,6d,52))),null());
HXLINE( 26) if ((grace > 0)) {
-HXLINE( 26) match->textTag(HX_("grace",f8,03,ea,99),::Std_obj::string(grace),null());
+HXLINE( 26) match->textTag(HX_("grace",f8,03,ea,99),::Std_obj::string(grace),null(),null());
}
HXLINE( 27) {
HXLINE( 27) int _g = 0;
@@ -59,23 +59,23 @@ HXDLIN( 27) while((_g < filters->length)){
HXLINE( 27) ::Dynamic filter = filters->__get(_g);
HXDLIN( 27) _g = (_g + 1);
HXLINE( 28) ::borogove::Stanza filterel = match->tag(HX_("filter",b8,1f,35,85), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("jid",c5,ca,50,00), ::Dynamic(filter->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)))));
+ ->setFixed(0,HX_("jid",c5,ca,50,00), ::Dynamic(filter->__Field(HX_("jid",c5,ca,50,00),::hx::paccDynamic)))),null());
HXLINE( 29) if (( (bool)(filter->__Field(HX_("mention",ea,9e,bf,b9),::hx::paccDynamic)) )) {
-HXLINE( 29) filterel->tag(HX_("mention",ea,9e,bf,b9),null())->up();
+HXLINE( 29) filterel->tag(HX_("mention",ea,9e,bf,b9),null(),null())->up();
}
HXLINE( 30) if (( (bool)(filter->__Field(HX_("reply",2a,09,c6,e6),::hx::paccDynamic)) )) {
-HXLINE( 30) filterel->tag(HX_("reply",2a,09,c6,e6),null())->up();
+HXLINE( 30) filterel->tag(HX_("reply",2a,09,c6,e6),null(),null())->up();
}
HXLINE( 31) filterel->up();
}
}
HXLINE( 33) ::borogove::Stanza send = match->tag(HX_("send",48,8d,50,4c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:push2:send:sce+rfc8291+rfc8292:0",04,95,a2,be))));
-HXLINE( 34) send->textTag(HX_("ua-public",ca,9b,ab,ca),::haxe::crypto::Base64_obj::encode(ua_public,null()),null());
-HXLINE( 35) send->textTag(HX_("auth-secret",f5,4b,c1,3b),::haxe::crypto::Base64_obj::encode(auth_secret,null()),null());
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:push2:send:sce+rfc8291+rfc8292:0",04,95,a2,be))),null());
+HXLINE( 34) send->textTag(HX_("ua-public",ca,9b,ab,ca),::haxe::crypto::Base64_obj::encode(ua_public,null()),null(),null());
+HXLINE( 35) send->textTag(HX_("auth-secret",f5,4b,c1,3b),::haxe::crypto::Base64_obj::encode(auth_secret,null()),null(),null());
HXLINE( 36) if (::hx::IsNotNull( jwt_alg )) {
-HXLINE( 37) send->textTag(HX_("jwt-alg",96,f9,de,b4),jwt_alg,null());
-HXLINE( 38) send->textTag(HX_("jwt-key",19,8a,e6,b4),::haxe::crypto::Base64_obj::encode(jwt_key,null()),null());
+HXLINE( 37) send->textTag(HX_("jwt-alg",96,f9,de,b4),jwt_alg,null(),null());
+HXLINE( 38) send->textTag(HX_("jwt-key",19,8a,e6,b4),::haxe::crypto::Base64_obj::encode(jwt_key,null()),null(),null());
HXLINE( 39) {
HXLINE( 39) ::Dynamic map = jwt_claims;
HXDLIN( 39) ::Dynamic _g_keys = ::haxe::IMap_obj::keys(map);
@@ -83,7 +83,7 @@ HXDLIN( 39) while(( (bool)(_g_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx:
HXLINE( 39) ::String key = ( (::String)(_g_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
HXDLIN( 39) ::String _g_value = ( (::String)(::haxe::IMap_obj::get(map,key)) );
HXLINE( 40) send->textTag(HX_("jwt-claim",76,02,8a,0c),_g_value, ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("name",4b,72,ff,48),key)));
+ ->setFixed(0,HX_("name",4b,72,ff,48),key)),null());
}
}
}
diff --git a/Sources/c_borogove/src/borogove/queries/RosterGet.cpp b/Sources/c_borogove/src/borogove/queries/RosterGet.cpp
index fb86541..6a92eb9 100644
--- a/Sources/c_borogove/src/borogove/queries/RosterGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/RosterGet.cpp
@@ -16,6 +16,12 @@
#ifndef INCLUDED_borogove_queries_RosterGet
#include <borogove/queries/RosterGet.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
HX_DEFINE_STACK_FRAME(_hx_pos_0b59605641f7a716_12_new,"borogove.queries.RosterGet","new",0xb53e8608,"borogove.queries.RosterGet.new","borogove/queries/RosterGet.hx",12,0x1581f66a)
HX_LOCAL_STACK_FRAME(_hx_pos_0b59605641f7a716_29_handleResponse,"borogove.queries.RosterGet","handleResponse",0x6d5b31a1,"borogove.queries.RosterGet.handleResponse","borogove/queries/RosterGet.hx",29,0x1581f66a)
@@ -36,7 +42,7 @@ HXLINE( 21) ::Reflect_obj::setField(attr,HX_("ver",63,e2,59,00),ver);
}
HXLINE( 23) this->queryId = ::_UUIDv7::UUIDv7_Fields__obj::uuidv7();
HXLINE( 24) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))))->tag(HX_("query",08,8b,ea,5d),attr)->up();
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("query",08,8b,ea,5d),attr,null())->up();
}
Dynamic RosterGet_obj::__CreateEmpty() { return new RosterGet_obj; }
@@ -75,45 +81,10 @@ HXLINE( 39) ::borogove::Stanza q = this->responseStanza->getChild(HX_("query
HXLINE( 40) if (::hx::IsNull( q )) {
HXLINE( 41) return ::Array_obj< ::Dynamic>::__new(0);
}
-HXLINE( 43) this->ver = ( (::String)(::Reflect_obj::field(q->attr,HX_("ver",63,e2,59,00))) );
-HXLINE( 45) ::Array< ::Dynamic> _this = q->allTags(HX_("item",13,c5,bf,45),null());
-HXDLIN( 45) ::Array< ::Dynamic> result = ::Array_obj< ::Dynamic>::__new(_this->length);
-HXDLIN( 45) {
-HXLINE( 45) int _g = 0;
-HXDLIN( 45) int _g1 = _this->length;
-HXDLIN( 45) while((_g < _g1)){
-HXLINE( 45) _g = (_g + 1);
-HXDLIN( 45) int i = (_g - 1);
-HXDLIN( 45) {
-HXLINE( 45) ::borogove::Stanza item = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this,i)) );
-HXLINE( 46) ::String inValue = ( (::String)(::Reflect_obj::field(item->attr,HX_("jid",c5,ca,50,00))) );
-HXLINE( 47) ::String inValue1 = ( (::String)(::Reflect_obj::field(item->attr,HX_("name",4b,72,ff,48))) );
-HXLINE( 48) ::String inValue2 = ( (::String)(::Reflect_obj::field(item->attr,HX_("subscription",1d,ff,00,36))) );
-HXLINE( 49) ::Array< ::Dynamic> _this1 = item->allTags(HX_("group",3f,b3,f4,99),null());
-HXDLIN( 49) ::Array< ::String > result1 = ::Array_obj< ::String >::__new(_this1->length);
-HXDLIN( 49) {
-HXLINE( 49) int _g2 = 0;
-HXDLIN( 49) int _g3 = _this1->length;
-HXDLIN( 49) while((_g2 < _g3)){
-HXLINE( 49) _g2 = (_g2 + 1);
-HXDLIN( 49) int i1 = (_g2 - 1);
-HXDLIN( 49) {
-HXLINE( 49) ::String inValue3 = ( ( ::borogove::Stanza)(_hx_array_unsafe_get(_this1,i1)) )->getText();
-HXDLIN( 49) result1->__unsafe_set(i1,inValue3);
- }
- }
- }
-HXLINE( 45) result->__unsafe_set(i, ::Dynamic(::hx::Anon_obj::Create(4)
- ->setFixed(0,HX_("fn",48,59,00,00),inValue1)
- ->setFixed(1,HX_("jid",c5,ca,50,00),inValue)
- ->setFixed(2,HX_("groups",54,24,28,1c),result1)
- ->setFixed(3,HX_("subscription",1d,ff,00,36),inValue2)));
- }
- }
- }
-HXDLIN( 45) this->result = result;
+HXLINE( 43) this->ver = q->attr->get_string(HX_("ver",63,e2,59,00));
+HXLINE( 44) this->result = q->allTags(HX_("item",13,c5,bf,45),null());
}
-HXLINE( 52) return this->result;
+HXLINE( 46) return this->result;
}
diff --git a/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp b/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
index b04c6ee..e930901 100644
--- a/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
+++ b/Sources/c_borogove/src/borogove/queries/VcardTempGet.cpp
@@ -19,9 +19,15 @@
#ifndef INCLUDED_borogove_queries_VcardTempGet
#include <borogove/queries/VcardTempGet.h>
#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
@@ -42,9 +48,9 @@ HXLINE( 24) ::String _hx_tmp = to->asString();
HXDLIN( 24) this->queryStanza = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(3)
->setFixed(0,HX_("id",db,5b,00,00),this->queryId)
->setFixed(1,HX_("to",7b,65,00,00),_hx_tmp)
- ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))));
+ ->setFixed(2,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null());
HXLINE( 25) this->queryStanza->tag(HX_("vCard",66,bd,db,1d), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)))->up();
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),this->xmlns)),null())->up();
}
Dynamic VcardTempGet_obj::__CreateEmpty() { return new VcardTempGet_obj; }
diff --git a/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp b/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp
index 1787deb..b0731db 100644
--- a/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp
+++ b/Sources/c_borogove/src/borogove/streams/XmppStropheStream.cpp
@@ -36,6 +36,9 @@
#ifndef INCLUDED_borogove_streams_XmppStropheStream
#include <borogove/streams/XmppStropheStream.h>
#endif
+#ifndef INCLUDED_cpp_vm_WeakRef
+#include <cpp/vm/WeakRef.h>
+#endif
#ifndef INCLUDED_haxe_IMap
#include <haxe/IMap.h>
#endif
@@ -55,27 +58,30 @@
#include <haxe/ds/StringMap.h>
#endif
-HX_DEFINE_STACK_FRAME(_hx_pos_0c65e41c3007e035_272_new,"borogove.streams.XmppStropheStream","new",0x591fef04,"borogove.streams.XmppStropheStream.new","borogove/streams/XmppStropheStream.hx",272,0x2dd892ee)
+HX_DEFINE_STACK_FRAME(_hx_pos_0c65e41c3007e035_292_new,"borogove.streams.XmppStropheStream","new",0x591fef04,"borogove.streams.XmppStropheStream.new","borogove/streams/XmppStropheStream.hx",292,0x2dd892ee)
HX_DEFINE_STACK_FRAME(_hx_pos_0c65e41c3007e035_239_new,"borogove.streams.XmppStropheStream","new",0x591fef04,"borogove.streams.XmppStropheStream.new","borogove/streams/XmppStropheStream.hx",239,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_381_onIq,"borogove.streams.XmppStropheStream","onIq",0xa38117c3,"borogove.streams.XmppStropheStream.onIq","borogove/streams/XmppStropheStream.hx",381,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_422_connect,"borogove.streams.XmppStropheStream","connect",0x376a7c8e,"borogove.streams.XmppStropheStream.connect","borogove/streams/XmppStropheStream.hx",422,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_435_disconnect,"borogove.streams.XmppStropheStream","disconnect",0x8fa92238,"borogove.streams.XmppStropheStream.disconnect","borogove/streams/XmppStropheStream.hx",435,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_440_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",440,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_438_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",438,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_523_sendStanza,"borogove.streams.XmppStropheStream","sendStanza",0xcdb24339,"borogove.streams.XmppStropheStream.sendStanza","borogove/streams/XmppStropheStream.hx",523,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_531_finalize,"borogove.streams.XmppStropheStream","finalize",0x8048947a,"borogove.streams.XmppStropheStream.finalize","borogove/streams/XmppStropheStream.hx",531,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_295_strophe_certfail_handler,"borogove.streams.XmppStropheStream","strophe_certfail_handler",0x762926d9,"borogove.streams.XmppStropheStream.strophe_certfail_handler","borogove/streams/XmppStropheStream.hx",295,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_313_strophe_fast_token_handler,"borogove.streams.XmppStropheStream","strophe_fast_token_handler",0x01296ced,"borogove.streams.XmppStropheStream.strophe_fast_token_handler","borogove/streams/XmppStropheStream.hx",313,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_319_strophe_sm_handler,"borogove.streams.XmppStropheStream","strophe_sm_handler",0x892f1fb1,"borogove.streams.XmppStropheStream.strophe_sm_handler","borogove/streams/XmppStropheStream.hx",319,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_325_strophe_sm_ack_handler,"borogove.streams.XmppStropheStream","strophe_sm_ack_handler",0xbb54dafb,"borogove.streams.XmppStropheStream.strophe_sm_ack_handler","borogove/streams/XmppStropheStream.hx",325,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_331_strophe_sm_fail_handler,"borogove.streams.XmppStropheStream","strophe_sm_fail_handler",0x56025be2,"borogove.streams.XmppStropheStream.strophe_sm_fail_handler","borogove/streams/XmppStropheStream.hx",331,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_337_strophe_stanza,"borogove.streams.XmppStropheStream","strophe_stanza",0x9ef00fc1,"borogove.streams.XmppStropheStream.strophe_stanza","borogove/streams/XmppStropheStream.hx",337,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_384_strophe_connect,"borogove.streams.XmppStropheStream","strophe_connect",0x56231c9e,"borogove.streams.XmppStropheStream.strophe_connect","borogove/streams/XmppStropheStream.hx",384,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_402_strophe_connect,"borogove.streams.XmppStropheStream","strophe_connect",0x56231c9e,"borogove.streams.XmppStropheStream.strophe_connect","borogove/streams/XmppStropheStream.hx",402,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_447_parseStanza,"borogove.streams.XmppStropheStream","parseStanza",0xf2f56d2c,"borogove.streams.XmppStropheStream.parseStanza","borogove/streams/XmppStropheStream.hx",447,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_456_serializeStanza,"borogove.streams.XmppStropheStream","serializeStanza",0xb8bb5c99,"borogove.streams.XmppStropheStream.serializeStanza","borogove/streams/XmppStropheStream.hx",456,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_469_convertToStanza,"borogove.streams.XmppStropheStream","convertToStanza",0xfb6eef87,"borogove.streams.XmppStropheStream.convertToStanza","borogove/streams/XmppStropheStream.hx",469,0x2dd892ee)
-HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_497_convertFromStanza,"borogove.streams.XmppStropheStream","convertFromStanza",0xc6cb6876,"borogove.streams.XmppStropheStream.convertFromStanza","borogove/streams/XmppStropheStream.hx",497,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_401_onIq,"borogove.streams.XmppStropheStream","onIq",0xa38117c3,"borogove.streams.XmppStropheStream.onIq","borogove/streams/XmppStropheStream.hx",401,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_442_connect,"borogove.streams.XmppStropheStream","connect",0x376a7c8e,"borogove.streams.XmppStropheStream.connect","borogove/streams/XmppStropheStream.hx",442,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_454_disconnect,"borogove.streams.XmppStropheStream","disconnect",0x8fa92238,"borogove.streams.XmppStropheStream.disconnect","borogove/streams/XmppStropheStream.hx",454,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_459_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",459,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_457_poll,"borogove.streams.XmppStropheStream","poll",0xa42b2f1b,"borogove.streams.XmppStropheStream.poll","borogove/streams/XmppStropheStream.hx",457,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_542_sendStanza,"borogove.streams.XmppStropheStream","sendStanza",0xcdb24339,"borogove.streams.XmppStropheStream.sendStanza","borogove/streams/XmppStropheStream.hx",542,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_550_finalize,"borogove.streams.XmppStropheStream","finalize",0x8048947a,"borogove.streams.XmppStropheStream.finalize","borogove/streams/XmppStropheStream.hx",550,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_251_startHeartbeat,"borogove.streams.XmppStropheStream","startHeartbeat",0x5443a716,"borogove.streams.XmppStropheStream.startHeartbeat","borogove/streams/XmppStropheStream.hx",251,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_258_startHeartbeat,"borogove.streams.XmppStropheStream","startHeartbeat",0x5443a716,"borogove.streams.XmppStropheStream.startHeartbeat","borogove/streams/XmppStropheStream.hx",258,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_249_startHeartbeat,"borogove.streams.XmppStropheStream","startHeartbeat",0x5443a716,"borogove.streams.XmppStropheStream.startHeartbeat","borogove/streams/XmppStropheStream.hx",249,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_315_strophe_certfail_handler,"borogove.streams.XmppStropheStream","strophe_certfail_handler",0x762926d9,"borogove.streams.XmppStropheStream.strophe_certfail_handler","borogove/streams/XmppStropheStream.hx",315,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_333_strophe_fast_token_handler,"borogove.streams.XmppStropheStream","strophe_fast_token_handler",0x01296ced,"borogove.streams.XmppStropheStream.strophe_fast_token_handler","borogove/streams/XmppStropheStream.hx",333,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_339_strophe_sm_handler,"borogove.streams.XmppStropheStream","strophe_sm_handler",0x892f1fb1,"borogove.streams.XmppStropheStream.strophe_sm_handler","borogove/streams/XmppStropheStream.hx",339,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_345_strophe_sm_ack_handler,"borogove.streams.XmppStropheStream","strophe_sm_ack_handler",0xbb54dafb,"borogove.streams.XmppStropheStream.strophe_sm_ack_handler","borogove/streams/XmppStropheStream.hx",345,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_351_strophe_sm_fail_handler,"borogove.streams.XmppStropheStream","strophe_sm_fail_handler",0x56025be2,"borogove.streams.XmppStropheStream.strophe_sm_fail_handler","borogove/streams/XmppStropheStream.hx",351,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_357_strophe_stanza,"borogove.streams.XmppStropheStream","strophe_stanza",0x9ef00fc1,"borogove.streams.XmppStropheStream.strophe_stanza","borogove/streams/XmppStropheStream.hx",357,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_404_strophe_connect,"borogove.streams.XmppStropheStream","strophe_connect",0x56231c9e,"borogove.streams.XmppStropheStream.strophe_connect","borogove/streams/XmppStropheStream.hx",404,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_422_strophe_connect,"borogove.streams.XmppStropheStream","strophe_connect",0x56231c9e,"borogove.streams.XmppStropheStream.strophe_connect","borogove/streams/XmppStropheStream.hx",422,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_466_parseStanza,"borogove.streams.XmppStropheStream","parseStanza",0xf2f56d2c,"borogove.streams.XmppStropheStream.parseStanza","borogove/streams/XmppStropheStream.hx",466,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_475_serializeStanza,"borogove.streams.XmppStropheStream","serializeStanza",0xb8bb5c99,"borogove.streams.XmppStropheStream.serializeStanza","borogove/streams/XmppStropheStream.hx",475,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_488_convertToStanza,"borogove.streams.XmppStropheStream","convertToStanza",0xfb6eef87,"borogove.streams.XmppStropheStream.convertToStanza","borogove/streams/XmppStropheStream.hx",488,0x2dd892ee)
+HX_LOCAL_STACK_FRAME(_hx_pos_0c65e41c3007e035_516_convertFromStanza,"borogove.streams.XmppStropheStream","convertFromStanza",0xc6cb6876,"borogove.streams.XmppStropheStream.convertFromStanza","borogove/streams/XmppStropheStream.hx",516,0x2dd892ee)
xmpp_log_t *logger = xmpp_get_default_logger(XMPP_LEVEL_DEBUG);
xmpp_ctx_t* borogove::streams::XmppStropheStream_obj::ctx = xmpp_ctx_new(0,logger);
@@ -86,31 +92,31 @@ namespace streams{
void XmppStropheStream_obj::__construct(){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::streams::XmppStropheStream,_gthis) HXARGC(1)
::borogove::EventResult _hx_run( ::Dynamic event){
- HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_272_new)
-HXLINE( 273) ::borogove::streams::XmppStropheStream o = _gthis;
-HXLINE( 274) ::String pass = ( (::String)(event->__Field(HX_("password",1b,23,d0,48),::hx::paccDynamic)) );
-HXLINE( 275) if (::hx::IsNotNull( event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic) )) {
-HXLINE( 276) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(pass.c_str());
-HXDLIN( 276) ::cpp::Pointer< char > tmp1 = tmp;
-HXDLIN( 276) xmpp_conn_set_fast(_gthis->conn,tmp1,( (int)(event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic)) ));
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_292_new)
+HXLINE( 293) ::borogove::streams::XmppStropheStream o = _gthis;
+HXLINE( 294) ::String pass = ( (::String)(event->__Field(HX_("password",1b,23,d0,48),::hx::paccDynamic)) );
+HXLINE( 295) if (::hx::IsNotNull( event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic) )) {
+HXLINE( 296) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(pass.c_str());
+HXDLIN( 296) ::cpp::Pointer< char > tmp1 = tmp;
+HXDLIN( 296) xmpp_conn_set_fast(_gthis->conn,tmp1,( (int)(event->__Field(HX_("fastCount",93,fc,67,a5),::hx::paccDynamic)) ));
}
else {
-HXLINE( 278) ::cpp::Pointer< char > tmp11 = cpp::Pointer_obj::fromPointer(pass.c_str());
-HXDLIN( 278) ::cpp::Pointer< char > tmp2 = tmp11;
-HXDLIN( 278) xmpp_conn_set_pass(_gthis->conn,tmp2);
-HXLINE( 279) ::cpp::Pointer< char > tmp21 = null();
-HXDLIN( 279) ::cpp::Pointer< char > tmp3 = tmp21;
-HXDLIN( 279) xmpp_conn_set_fast(_gthis->conn,tmp3,-1);
+HXLINE( 298) ::cpp::Pointer< char > tmp11 = cpp::Pointer_obj::fromPointer(pass.c_str());
+HXDLIN( 298) ::cpp::Pointer< char > tmp2 = tmp11;
+HXDLIN( 298) xmpp_conn_set_pass(_gthis->conn,tmp2);
+HXLINE( 299) ::cpp::Pointer< char > tmp21 = null();
+HXDLIN( 299) ::cpp::Pointer< char > tmp3 = tmp21;
+HXDLIN( 299) xmpp_conn_set_fast(_gthis->conn,tmp3,-1);
}
-HXLINE( 281) ::cpp::Pointer< char > tmp31 = cpp::Pointer_obj::fromPointer(_gthis->clientId.c_str());
-HXDLIN( 281) ::cpp::Pointer< char > tmp4 = tmp31;
-HXDLIN( 281) xmpp_conn_set_user_agent_id(_gthis->conn,tmp4);
-HXLINE( 284) ::cpp::Pointer< char > tmp41 = null();
-HXLINE( 283) xmpp_conn_t* _gthis1 = _gthis->conn;
-HXLINE( 286) ::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*) > _hx_tmp = ::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_connect ));
-HXLINE( 284) ::cpp::Pointer< char > tmp5 = tmp41;
-HXLINE( 282) xmpp_connect_client(_gthis1,tmp5,( (unsigned short)(0) ),_hx_tmp,o.GetPtr());
-HXLINE( 290) return ::borogove::EventResult_obj::EventHandled_dyn();
+HXLINE( 301) ::cpp::Pointer< char > tmp31 = cpp::Pointer_obj::fromPointer(_gthis->clientId.c_str());
+HXDLIN( 301) ::cpp::Pointer< char > tmp4 = tmp31;
+HXDLIN( 301) xmpp_conn_set_user_agent_id(_gthis->conn,tmp4);
+HXLINE( 304) ::cpp::Pointer< char > tmp41 = null();
+HXLINE( 303) xmpp_conn_t* _gthis1 = _gthis->conn;
+HXLINE( 306) ::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*) > _hx_tmp = ::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_connect ));
+HXLINE( 304) ::cpp::Pointer< char > tmp5 = tmp41;
+HXLINE( 302) xmpp_connect_client(_gthis1,tmp5,( (unsigned short)(0) ),_hx_tmp,o.GetPtr());
+HXLINE( 310) return ::borogove::EventResult_obj::EventHandled_dyn();
}
HX_END_LOCAL_FUNC1(return)
@@ -123,37 +129,38 @@ HXLINE( 242) ::haxe::ds::EnumValueMap _g = ::haxe::ds::EnumValueMap_obj::__al
HXDLIN( 242) _g->set(::borogove::IqRequestType_obj::Get_dyn(), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
HXDLIN( 242) _g->set(::borogove::IqRequestType_obj::Set_dyn(), ::haxe::ds::StringMap_obj::__alloc( HX_CTX ));
HXDLIN( 242) this->iqHandlers = _g;
-HXLINE( 248) ::borogove::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 249) super::__construct();
-HXLINE( 250) xmpp_initialize();
-HXLINE( 251) this->conn = xmpp_conn_new(::borogove::streams::XmppStropheStream_obj::ctx);
-HXLINE( 255) ::cpp::Pointer< char > tmp = null();
-HXLINE( 256) ::cpp::Pointer< char > tmp1 = null();
-HXLINE( 257) ::cpp::Pointer< char > tmp2 = null();
-HXLINE( 253) xmpp_conn_t* _hx_tmp = this->conn;
-HXLINE( 254) ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*) > _hx_tmp1 = ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_stanza ));
-HXLINE( 255) ::cpp::Pointer< char > tmp3 = tmp;
-HXLINE( 256) ::cpp::Pointer< char > tmp4 = tmp1;
-HXLINE( 257) ::cpp::Pointer< char > tmp5 = tmp2;
-HXLINE( 252) xmpp_handler_add(_hx_tmp,_hx_tmp1,tmp3,tmp4,tmp5,(void*)this);
-HXLINE( 260) xmpp_conn_t* _hx_tmp2 = this->conn;
-HXDLIN( 260) xmpp_conn_set_certfail_handler(_hx_tmp2,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_certfail_handler )));
-HXLINE( 262) xmpp_conn_t* _hx_tmp3 = this->conn;
-HXLINE( 263) ::cpp::Function< void ( xmpp_conn_t*,const char*,void*) > _hx_tmp4 = ::cpp::Function< void ( xmpp_conn_t*,const char*,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_fast_token_handler ));
-HXLINE( 261) xmpp_conn_set_fast_token_handler(_hx_tmp3,_hx_tmp4,(void*)this);
-HXLINE( 266) xmpp_conn_t* _hx_tmp5 = this->conn;
-HXDLIN( 266) xmpp_conn_set_certfail_handler(_hx_tmp5,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_certfail_handler )));
-HXLINE( 267) xmpp_conn_t* _hx_tmp6 = this->conn;
-HXDLIN( 267) ::cpp::Function< void ( xmpp_conn_t*,void*,const unsigned char*,size_t) > _hx_tmp7 = ::cpp::Function< void ( xmpp_conn_t*,void*,const unsigned char*,size_t)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_handler ));
-HXDLIN( 267) xmpp_conn_set_sm_callback(_hx_tmp6,_hx_tmp7,(void*)this);
-HXLINE( 268) xmpp_conn_t* _hx_tmp8 = this->conn;
-HXDLIN( 268) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp9 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_ack_handler ));
-HXDLIN( 268) xmpp_conn_set_sm_ack_callback(_hx_tmp8,_hx_tmp9,(void*)this);
-HXLINE( 269) xmpp_conn_t* _hx_tmp10 = this->conn;
-HXDLIN( 269) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp11 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_fail_handler ));
-HXDLIN( 269) xmpp_conn_set_sm_fail_callback(_hx_tmp10,_hx_tmp11,(void*)this);
-HXLINE( 270) _hx_add_finalizable(::hx::ObjectPtr<OBJ_>(this),false);
-HXLINE( 272) this->on(HX_("auth/password",e2,5d,98,00), ::Dynamic(new _hx_Closure_0(_gthis)));
+HXLINE( 267) ::borogove::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 268) super::__construct();
+HXLINE( 269) xmpp_initialize();
+HXLINE( 270) this->conn = xmpp_conn_new(::borogove::streams::XmppStropheStream_obj::ctx);
+HXLINE( 274) ::cpp::Pointer< char > tmp = null();
+HXLINE( 275) ::cpp::Pointer< char > tmp1 = null();
+HXLINE( 276) ::cpp::Pointer< char > tmp2 = null();
+HXLINE( 272) xmpp_conn_t* _hx_tmp = this->conn;
+HXLINE( 273) ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*) > _hx_tmp1 = ::cpp::Function< int ( xmpp_conn_t*, xmpp_stanza_t*,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_stanza ));
+HXLINE( 274) ::cpp::Pointer< char > tmp3 = tmp;
+HXLINE( 275) ::cpp::Pointer< char > tmp4 = tmp1;
+HXLINE( 276) ::cpp::Pointer< char > tmp5 = tmp2;
+HXLINE( 271) xmpp_handler_add(_hx_tmp,_hx_tmp1,tmp3,tmp4,tmp5,(void*)this);
+HXLINE( 279) xmpp_conn_t* _hx_tmp2 = this->conn;
+HXDLIN( 279) xmpp_conn_set_certfail_handler(_hx_tmp2,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_certfail_handler )));
+HXLINE( 281) xmpp_conn_t* _hx_tmp3 = this->conn;
+HXLINE( 282) ::cpp::Function< void ( xmpp_conn_t*,const char*,void*) > _hx_tmp4 = ::cpp::Function< void ( xmpp_conn_t*,const char*,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_fast_token_handler ));
+HXLINE( 280) xmpp_conn_set_fast_token_handler(_hx_tmp3,_hx_tmp4,(void*)this);
+HXLINE( 285) xmpp_conn_t* _hx_tmp5 = this->conn;
+HXDLIN( 285) xmpp_conn_set_certfail_handler(_hx_tmp5,::cpp::Function< int ( const xmpp_tlscert_t*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_certfail_handler )));
+HXLINE( 286) xmpp_conn_t* _hx_tmp6 = this->conn;
+HXDLIN( 286) ::cpp::Function< void ( xmpp_conn_t*,void*,const unsigned char*,size_t) > _hx_tmp7 = ::cpp::Function< void ( xmpp_conn_t*,void*,const unsigned char*,size_t)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_handler ));
+HXDLIN( 286) xmpp_conn_set_sm_callback(_hx_tmp6,_hx_tmp7,(void*)this);
+HXLINE( 287) xmpp_conn_t* _hx_tmp8 = this->conn;
+HXDLIN( 287) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp9 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_ack_handler ));
+HXDLIN( 287) xmpp_conn_set_sm_ack_callback(_hx_tmp8,_hx_tmp9,(void*)this);
+HXLINE( 288) xmpp_conn_t* _hx_tmp10 = this->conn;
+HXDLIN( 288) ::cpp::Function< void ( xmpp_conn_t*,void*,const char*) > _hx_tmp11 = ::cpp::Function< void ( xmpp_conn_t*,void*,const char*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_sm_fail_handler ));
+HXDLIN( 288) xmpp_conn_set_sm_fail_callback(_hx_tmp10,_hx_tmp11,(void*)this);
+HXLINE( 289) _hx_add_finalizable(::hx::ObjectPtr<OBJ_>(this),false);
+HXLINE( 291) ::borogove::streams::XmppStropheStream_obj::startHeartbeat( ::cpp::vm::WeakRef_obj::__alloc( HX_CTX ,::hx::ObjectPtr<OBJ_>(this),null()));
+HXLINE( 292) this->on(HX_("auth/password",e2,5d,98,00), ::Dynamic(new _hx_Closure_0(_gthis)));
}
Dynamic XmppStropheStream_obj::__CreateEmpty() { return new XmppStropheStream_obj; }
@@ -180,227 +187,265 @@ bool XmppStropheStream_obj::_hx_isInstanceOf(int inClassId) {
}
void XmppStropheStream_obj::onIq( ::borogove::IqRequestType type,::String tag,::String xmlns, ::Dynamic handler){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_381_onIq)
-HXDLIN( 381) this->iqHandlers->get(type).StaticCast< ::haxe::ds::StringMap >()->set((((HX_("{",7b,00,00,00) + xmlns) + HX_("}",7d,00,00,00)) + tag),handler);
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_401_onIq)
+HXDLIN( 401) this->iqHandlers->get(type).StaticCast< ::haxe::ds::StringMap >()->set((((HX_("{",7b,00,00,00) + xmlns) + HX_("}",7d,00,00,00)) + tag),handler);
}
void XmppStropheStream_obj::connect(::String jid,::Array< unsigned char > sm){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_422_connect)
-HXLINE( 423) ::haxe::Log_obj::trace(HX_("SM data",70,2f,26,f4), ::Dynamic(::hx::Anon_obj::Create(5)
- ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.streams.XmppStropheStream",12,5d,bb,9f))
- ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,sm))
- ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("connect",ea,3b,80,15))
- ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/streams/XmppStropheStream.hx",ee,92,d8,2d))
- ->setFixed(4,HX_("lineNumber",dd,81,22,76),423)));
-HXLINE( 424) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(jid.c_str());
-HXDLIN( 424) xmpp_conn_set_jid(this->conn,tmp);
-HXLINE( 430) this->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 431) ::Dynamic _hx_tmp;
-HXDLIN( 431) if (this->stanzaThisPoll) {
-HXLINE( 431) _hx_tmp = 5;
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_442_connect)
+HXLINE( 443) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(jid.c_str());
+HXDLIN( 443) xmpp_conn_set_jid(this->conn,tmp);
+HXLINE( 444) if (::hx::IsNotNull( sm )) {
+HXLINE( 446) const unsigned char* smPtr = (unsigned char*)sm->getBase();
+HXLINE( 447) xmpp_conn_restore_sm_state(this->conn,smPtr,( (size_t)(sm->length) ));
+ }
+HXLINE( 449) this->trigger(HX_("auth/password-needed",80,f0,74,49), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 450) ::Dynamic _hx_tmp;
+HXDLIN( 450) if (this->stanzaThisPoll) {
+HXLINE( 450) _hx_tmp = 5;
}
else {
-HXLINE( 431) _hx_tmp = 100;
+HXLINE( 450) _hx_tmp = 100;
}
-HXDLIN( 431) this->poll(_hx_tmp);
+HXDLIN( 450) this->poll(_hx_tmp);
}
void XmppStropheStream_obj::disconnect(){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_435_disconnect)
-HXDLIN( 435) xmpp_disconnect(this->conn);
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_454_disconnect)
+HXDLIN( 454) xmpp_disconnect(this->conn);
}
void XmppStropheStream_obj::poll( ::Dynamic __o_timeout){
HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::borogove::streams::XmppStropheStream,_gthis) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_440_poll)
-HXLINE( 441) _gthis->stanzaThisPoll = false;
-HXLINE( 442) xmpp_run_once(::borogove::streams::XmppStropheStream_obj::ctx,( (::cpp::UInt64)(5) ));
-HXLINE( 443) ::Dynamic _hx_tmp;
-HXDLIN( 443) if (_gthis->stanzaThisPoll) {
-HXLINE( 443) _hx_tmp = 5;
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_459_poll)
+HXLINE( 460) _gthis->stanzaThisPoll = false;
+HXLINE( 461) xmpp_run_once(::borogove::streams::XmppStropheStream_obj::ctx,( (::cpp::UInt64)(5) ));
+HXLINE( 462) ::Dynamic _hx_tmp;
+HXDLIN( 462) if (_gthis->stanzaThisPoll) {
+HXLINE( 462) _hx_tmp = 5;
}
else {
-HXLINE( 443) _hx_tmp = 100;
+HXLINE( 462) _hx_tmp = 100;
}
-HXDLIN( 443) _gthis->poll(_hx_tmp);
+HXDLIN( 462) _gthis->poll(_hx_tmp);
}
HX_END_LOCAL_FUNC0((void))
::Dynamic timeout = __o_timeout;
if (::hx::IsNull(__o_timeout)) timeout = 100;
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_438_poll)
-HXDLIN( 438) ::borogove::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
-HXLINE( 439) if (::hx::IsNotNull( this->pollTimer )) {
-HXLINE( 439) this->pollTimer->stop();
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_457_poll)
+HXDLIN( 457) ::borogove::streams::XmppStropheStream _gthis = ::hx::ObjectPtr<OBJ_>(this);
+HXLINE( 458) if (::hx::IsNotNull( this->pollTimer )) {
+HXLINE( 458) this->pollTimer->stop();
}
-HXLINE( 440) this->pollTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),( (int)(timeout) ));
+HXLINE( 459) this->pollTimer = ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(_gthis)),( (int)(timeout) ));
}
HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,poll,(void))
void XmppStropheStream_obj::sendStanza( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_523_sendStanza)
-HXDLIN( 523) if (this->ready) {
-HXLINE( 524) xmpp_conn_t* _hx_tmp = this->conn;
-HXDLIN( 524) xmpp_send(_hx_tmp,::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza));
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_542_sendStanza)
+HXDLIN( 542) if (this->ready) {
+HXLINE( 543) xmpp_conn_t* _hx_tmp = this->conn;
+HXDLIN( 543) xmpp_send(_hx_tmp,::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza));
}
else {
-HXLINE( 526) this->pending->push(stanza);
+HXLINE( 545) this->pending->push(stanza);
}
}
void XmppStropheStream_obj::finalize(){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_531_finalize)
-HXDLIN( 531) xmpp_conn_release(this->conn);
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_550_finalize)
+HXDLIN( 550) xmpp_conn_release(this->conn);
}
HX_DEFINE_DYNAMIC_FUNC0(XmppStropheStream_obj,finalize,(void))
+void XmppStropheStream_obj::startHeartbeat( ::cpp::vm::WeakRef weakThis){
+ HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_1, ::cpp::vm::WeakRef,weakThis, ::haxe::Timer,heartbeat) HXARGC(0)
+ void _hx_run(){
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_251_startHeartbeat)
+HXLINE( 252) ::borogove::streams::XmppStropheStream stream = weakThis->get().StaticCast< ::borogove::streams::XmppStropheStream >();
+HXLINE( 253) if (::hx::IsNotNull( stream )) {
+HXLINE( 254) if (stream->ready) {
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(1)
+ void _hx_run( ::borogove::Stanza reply){
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_258_startHeartbeat)
+HXLINE( 258) ::haxe::Log_obj::trace(HX_("ABCDEFG ping reply",58,7f,85,ac), ::Dynamic(::hx::Anon_obj::Create(5)
+ ->setFixed(0,HX_("className",a3,92,3d,dc),HX_("borogove.streams.XmppStropheStream",12,5d,bb,9f))
+ ->setFixed(1,HX_("customParams",d7,51,18,ed),::cpp::VirtualArray_obj::__new(1)->init(0,reply))
+ ->setFixed(2,HX_("methodName",cc,19,0f,12),HX_("startHeartbeat",3a,cb,14,c4))
+ ->setFixed(3,HX_("fileName",e7,5a,43,62),HX_("borogove/streams/XmppStropheStream.hx",ee,92,d8,2d))
+ ->setFixed(4,HX_("lineNumber",dd,81,22,76),258)));
+ }
+ HX_END_LOCAL_FUNC1((void))
+
+HXLINE( 255) ::haxe::Log_obj::trace(HX_("ABCDEFG ping",ce,1b,88,2a),::hx::SourceInfo(HX_("borogove/streams/XmppStropheStream.hx",ee,92,d8,2d),255,HX_("borogove.streams.XmppStropheStream",12,5d,bb,9f),HX_("startHeartbeat",3a,cb,14,c4)));
+HXLINE( 257) stream->sendIq( ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("to",7b,65,00,00),HX_("singpolyma.net",9e,a8,3c,17))
+ ->setFixed(1,HX_("type",ba,f2,08,4d),HX_("get",96,80,4e,00))),null())->tag(HX_("ping",72,f2,57,4a), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:xmpp:ping",8e,30,3f,fd))),null()), ::Dynamic(new _hx_Closure_0()));
+ }
+ }
+ else {
+HXLINE( 262) heartbeat->stop();
+ }
+ }
+ HX_END_LOCAL_FUNC0((void))
+
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_249_startHeartbeat)
+HXLINE( 250) ::haxe::Timer heartbeat = ::haxe::Timer_obj::__alloc( HX_CTX ,5000);
+HXLINE( 251) heartbeat->run = ::Dynamic(new _hx_Closure_1(weakThis,heartbeat));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,startHeartbeat,(void))
+
int XmppStropheStream_obj::strophe_certfail_handler( const xmpp_tlscert_t* cert,const char* err){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_295_strophe_certfail_handler)
-HXLINE( 296) void* userdata = xmpp_tlscert_get_userdata(cert);
-HXLINE( 297) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 298) ::Array< ::String > dnsNames = ::Array_obj< ::String >::__new(0);
-HXLINE( 299) ::cpp::Pointer< char > dnsName = null();
-HXLINE( 300) int dnsNameN = 0;
-HXLINE( 301) while(true){
-HXLINE( 301) dnsNameN = (dnsNameN + 1);
-HXDLIN( 301) dnsName = xmpp_tlscert_get_dnsname(cert,( (size_t)((dnsNameN - 1)) ));
-HXDLIN( 301) if (!(::hx::IsNotNull( dnsName ))) {
-HXLINE( 301) goto _hx_goto_9;
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_315_strophe_certfail_handler)
+HXLINE( 316) void* userdata = xmpp_tlscert_get_userdata(cert);
+HXLINE( 317) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 318) ::Array< ::String > dnsNames = ::Array_obj< ::String >::__new(0);
+HXLINE( 319) ::cpp::Pointer< char > dnsName = null();
+HXLINE( 320) int dnsNameN = 0;
+HXLINE( 321) while(true){
+HXLINE( 321) dnsNameN = (dnsNameN + 1);
+HXDLIN( 321) dnsName = xmpp_tlscert_get_dnsname(cert,( (size_t)((dnsNameN - 1)) ));
+HXDLIN( 321) if (!(::hx::IsNotNull( dnsName ))) {
+HXLINE( 321) goto _hx_goto_12;
}
-HXLINE( 302) dnsNames->push( ::String(dnsName->ptr));
+HXLINE( 322) dnsNames->push( ::String(dnsName->ptr));
}
- _hx_goto_9:;
-HXLINE( 304) ::cpp::Pointer< char > inPtr = xmpp_tlscert_get_pem(cert);
-HXDLIN( 304) ::String pem = ::String(inPtr->ptr);
-HXLINE( 305) ::borogove::EventResult _g = stream->trigger(HX_("tls/check",74,a0,4c,75), ::Dynamic(::hx::Anon_obj::Create(2)
+ _hx_goto_12:;
+HXLINE( 324) ::cpp::Pointer< char > inPtr = xmpp_tlscert_get_pem(cert);
+HXDLIN( 324) ::String pem = ::String(inPtr->ptr);
+HXLINE( 325) ::borogove::EventResult _g = stream->trigger(HX_("tls/check",74,a0,4c,75), ::Dynamic(::hx::Anon_obj::Create(2)
->setFixed(0,HX_("pem",d8,54,55,00),pem)
->setFixed(1,HX_("dnsNames",5f,19,aa,5a),dnsNames)));
-HXDLIN( 305) if ((_g->_hx_getIndex() == 3)) {
-HXLINE( 306) ::Dynamic result = _g->_hx_getObject(0);
-HXLINE( 307) if (( (bool)(result) )) {
-HXLINE( 307) return 1;
+HXDLIN( 325) if ((_g->_hx_getIndex() == 3)) {
+HXLINE( 326) ::Dynamic result = _g->_hx_getObject(0);
+HXLINE( 327) if (( (bool)(result) )) {
+HXLINE( 327) return 1;
}
else {
-HXLINE( 307) return 0;
+HXLINE( 327) return 0;
}
}
else {
-HXLINE( 309) return 0;
+HXLINE( 329) return 0;
}
-HXLINE( 305) return 0;
+HXLINE( 325) return 0;
}
void XmppStropheStream_obj::strophe_fast_token_handler( xmpp_conn_t* conn,const char* token,void* userdata){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_313_strophe_fast_token_handler)
-HXLINE( 314) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 315) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(token);
-HXDLIN( 315) ::String token1 = ::String(inPtr->ptr);
-HXLINE( 316) stream->trigger(HX_("fast-token",48,5f,c2,26), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_333_strophe_fast_token_handler)
+HXLINE( 334) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 335) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(token);
+HXDLIN( 335) ::String token1 = ::String(inPtr->ptr);
+HXLINE( 336) stream->trigger(HX_("fast-token",48,5f,c2,26), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("token",f9,82,2b,14),token1)));
}
void XmppStropheStream_obj::strophe_sm_handler( xmpp_conn_t* conn,void* userdata,const unsigned char* sm_state,size_t sm_state_len){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_319_strophe_sm_handler)
-HXLINE( 320) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 321) ::cpp::Pointer< ::Dynamic > _this = cpp::Pointer_obj::fromRaw(sm_state)->reinterpret();
-HXDLIN( 321) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new();
-HXDLIN( 321) ::cpp::Pointer< ::Dynamic > tmp = _this;
-HXDLIN( 321) result->setUnmanagedData(tmp,( (int)(sm_state_len) ));
-HXDLIN( 321) ::cpp::VirtualArray bytes = result->copy();
-HXLINE( 322) stream->trigger(HX_("sm/update",1e,16,63,46), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_339_strophe_sm_handler)
+HXLINE( 340) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 341) ::cpp::Pointer< ::Dynamic > _this = cpp::Pointer_obj::fromRaw(sm_state)->reinterpret();
+HXDLIN( 341) ::cpp::VirtualArray result = ::cpp::VirtualArray_obj::__new();
+HXDLIN( 341) ::cpp::Pointer< ::Dynamic > tmp = _this;
+HXDLIN( 341) result->setUnmanagedData(tmp,( (int)(sm_state_len) ));
+HXDLIN( 341) ::cpp::VirtualArray bytes = result->copy();
+HXLINE( 342) stream->trigger(HX_("sm/update",1e,16,63,46), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("sm",9a,64,00,00),bytes)));
}
void XmppStropheStream_obj::strophe_sm_ack_handler( xmpp_conn_t* conn,void* userdata,const char* id){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_325_strophe_sm_ack_handler)
-HXLINE( 326) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 327) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
-HXDLIN( 327) ::String sid = ::String(inPtr->ptr);
-HXLINE( 328) stream->trigger(HX_("sm/ack",14,b2,12,dd), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_345_strophe_sm_ack_handler)
+HXLINE( 346) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 347) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
+HXDLIN( 347) ::String sid = ::String(inPtr->ptr);
+HXLINE( 348) stream->trigger(HX_("sm/ack",14,b2,12,dd), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("id",db,5b,00,00),sid)));
}
void XmppStropheStream_obj::strophe_sm_fail_handler( xmpp_conn_t* conn,void* userdata,const char* id){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_331_strophe_sm_fail_handler)
-HXLINE( 332) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 333) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
-HXDLIN( 333) ::String sid = ::String(inPtr->ptr);
-HXLINE( 334) stream->trigger(HX_("sm/fail",b3,aa,95,96), ::Dynamic(::hx::Anon_obj::Create(1)
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_351_strophe_sm_fail_handler)
+HXLINE( 352) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 353) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(id);
+HXDLIN( 353) ::String sid = ::String(inPtr->ptr);
+HXLINE( 354) stream->trigger(HX_("sm/fail",b3,aa,95,96), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("id",db,5b,00,00),sid)));
}
int XmppStropheStream_obj::strophe_stanza( xmpp_conn_t* conn, xmpp_stanza_t* sstanza,void* userdata){
- HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_337_strophe_stanza)
-HXLINE( 338) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 339) stream->stanzaThisPoll = true;
-HXLINE( 340) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
-HXLINE( 342) ::String xmlns = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("xmlns",dc,31,74,60))) );
-HXLINE( 343) if ((xmlns == HX_("jabber:client",21,64,c5,e4))) {
-HXLINE( 344) ::String name = stanza->name;
-HXLINE( 345) if ((name == HX_("iq",e8,5b,00,00))) {
-HXLINE( 346) ::String type = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("type",ba,f2,08,4d))) );
-HXLINE( 347) bool _hx_tmp;
-HXDLIN( 347) if ((type != HX_("result",dd,68,84,08))) {
-HXLINE( 347) _hx_tmp = (type == HX_("error",c8,cb,29,73));
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_357_strophe_stanza)
+HXLINE( 358) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 359) stream->stanzaThisPoll = true;
+HXLINE( 360) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
+HXLINE( 362) ::String xmlns = stanza->attr->get_string(HX_("xmlns",dc,31,74,60));
+HXLINE( 363) if ((xmlns == HX_("jabber:client",21,64,c5,e4))) {
+HXLINE( 364) ::String name = stanza->name;
+HXLINE( 365) if ((name == HX_("iq",e8,5b,00,00))) {
+HXLINE( 366) ::String type = stanza->attr->get_string(HX_("type",ba,f2,08,4d));
+HXLINE( 367) bool _hx_tmp;
+HXDLIN( 367) if ((type != HX_("result",dd,68,84,08))) {
+HXLINE( 367) _hx_tmp = (type == HX_("error",c8,cb,29,73));
}
else {
-HXLINE( 347) _hx_tmp = true;
+HXLINE( 367) _hx_tmp = true;
}
-HXDLIN( 347) if (_hx_tmp) {
-HXLINE( 348) stream->onStanza(stanza);
+HXDLIN( 367) if (_hx_tmp) {
+HXLINE( 368) stream->onStanza(stanza);
}
else {
-HXLINE( 351) ::borogove::Stanza child = stanza->getFirstChild();
-HXLINE( 352) if (::hx::IsNotNull( child )) {
-HXLINE( 353) ::borogove::IqRequestType this1;
-HXDLIN( 353) if ((type == HX_("get",96,80,4e,00))) {
-HXLINE( 353) this1 = ::borogove::IqRequestType_obj::Get_dyn();
+HXLINE( 371) ::borogove::Stanza child = stanza->getFirstChild();
+HXLINE( 372) if (::hx::IsNotNull( child )) {
+HXLINE( 373) ::borogove::IqRequestType this1;
+HXDLIN( 373) if ((type == HX_("get",96,80,4e,00))) {
+HXLINE( 373) this1 = ::borogove::IqRequestType_obj::Get_dyn();
}
else {
-HXLINE( 353) this1 = ::borogove::IqRequestType_obj::Set_dyn();
+HXLINE( 373) this1 = ::borogove::IqRequestType_obj::Set_dyn();
}
-HXDLIN( 353) ::Dynamic this2 = stream->iqHandlers->get(this1).StaticCast< ::haxe::ds::StringMap >();
-HXDLIN( 353) ::String key = ((HX_("{",7b,00,00,00) + ( (::String)(::Reflect_obj::field(child->attr,HX_("xmlns",dc,31,74,60))) )) + HX_("}",7d,00,00,00));
-HXDLIN( 353) ::Dynamic handler = ( ( ::haxe::ds::StringMap)(this2) )->get((key + child->name));
-HXLINE( 354) if (::hx::IsNotNull( handler )) {
-HXLINE( 355) ::String reply = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("to",7b,65,00,00))) );
-HXDLIN( 355) ::String reply1 = ( (::String)(::Reflect_obj::field(stanza->attr,HX_("from",6a,a5,c2,43))) );
-HXDLIN( 355) ::borogove::Stanza reply2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(4)
- ->setFixed(0,HX_("id",db,5b,00,00),( (::String)(::Reflect_obj::field(stanza->attr,HX_("id",db,5b,00,00))) ))
+HXDLIN( 373) ::Dynamic this2 = stream->iqHandlers->get(this1).StaticCast< ::haxe::ds::StringMap >();
+HXDLIN( 373) ::String key = ((HX_("{",7b,00,00,00) + child->attr->get(HX_("xmlns",dc,31,74,60))) + HX_("}",7d,00,00,00));
+HXDLIN( 373) ::Dynamic handler = ( ( ::haxe::ds::StringMap)(this2) )->get((key + child->name));
+HXLINE( 374) if (::hx::IsNotNull( handler )) {
+HXLINE( 375) ::String reply = stanza->attr->get_string(HX_("to",7b,65,00,00));
+HXDLIN( 375) ::String reply1 = stanza->attr->get_string(HX_("from",6a,a5,c2,43));
+HXDLIN( 375) ::borogove::Stanza reply2 = ::borogove::Stanza_obj::__alloc( HX_CTX ,HX_("iq",e8,5b,00,00), ::Dynamic(::hx::Anon_obj::Create(4)
+ ->setFixed(0,HX_("id",db,5b,00,00),stanza->attr->get(HX_("id",db,5b,00,00)))
->setFixed(1,HX_("to",7b,65,00,00),reply1)
->setFixed(2,HX_("from",6a,a5,c2,43),reply)
- ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))));
-HXLINE( 356) try {
+ ->setFixed(3,HX_("type",ba,f2,08,4d),HX_("result",dd,68,84,08))),null());
+HXLINE( 376) try {
HX_STACK_CATCHABLE( ::Dynamic, 0);
-HXLINE( 357) ::borogove::IqResult _g = handler(stanza);
-HXDLIN( 357) switch((int)(_g->_hx_getIndex())){
+HXLINE( 377) ::borogove::IqResult _g = handler(stanza);
+HXDLIN( 377) switch((int)(_g->_hx_getIndex())){
case (int)0: {
-HXLINE( 358) ::borogove::Stanza el = _g->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
-HXDLIN( 358) reply2->addChild(el);
+HXLINE( 378) ::borogove::Stanza el = _g->_hx_getObject(0).StaticCast< ::borogove::Stanza >();
+HXDLIN( 378) reply2->addChild(el);
}
break;
case (int)1: {
}
break;
case (int)2: {
-HXLINE( 361) ::Reflect_obj::setField(reply2->attr,HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
-HXLINE( 362) reply2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))))->tag(HX_("service-unavailable",f8,3c,11,1c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))));
+HXLINE( 381) reply2->attr->set(HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
+HXLINE( 382) reply2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))),null())->tag(HX_("service-unavailable",f8,3c,11,1c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null());
}
break;
}
@@ -408,193 +453,191 @@ HXLINE( 362) reply2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon
if (_hx_e.IsClass< ::Dynamic >() ){
HX_STACK_BEGIN_CATCH
::Dynamic _g1 = _hx_e;
-HXLINE( 365) ::Reflect_obj::setField(reply2->attr,HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
-HXLINE( 366) reply2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))))->tag(HX_("internal-server-error",ce,6d,55,6c), ::Dynamic(::hx::Anon_obj::Create(1)
- ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))));
+HXLINE( 385) reply2->attr->set(HX_("result",dd,68,84,08),HX_("error",c8,cb,29,73));
+HXLINE( 386) reply2->tag(HX_("error",c8,cb,29,73), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("type",ba,f2,08,4d),HX_("cancel",7a,ed,33,b8))),null())->tag(HX_("internal-server-error",ce,6d,55,6c), ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("xmlns",dc,31,74,60),HX_("urn:ietf:params:xml:ns:xmpp-stanzas",27,f2,3d,30))),null());
}
else {
HX_STACK_DO_THROW(_hx_e);
}
}
-HXLINE( 368) stream->sendStanza(reply2);
+HXLINE( 388) stream->sendStanza(reply2);
}
}
}
}
else {
-HXLINE( 373) stream->onStanza(stanza);
+HXLINE( 393) stream->onStanza(stanza);
}
}
-HXLINE( 377) return 1;
+HXLINE( 397) return 1;
}
void XmppStropheStream_obj::strophe_connect( xmpp_conn_t* conn, xmpp_conn_event_t event,int error, xmpp_stream_error_t* stream_error,int resumed,void* userdata){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_384_strophe_connect)
-HXLINE( 385) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
-HXLINE( 386) if (::hx::IsInstanceEq( event,XMPP_CONN_CONNECT )) {
-HXLINE( 387) stream->ready = true;
-HXLINE( 388) while((stream->pending->length > 0)){
-HXLINE( 389) stream->sendStanza(stream->pending->shift().StaticCast< ::borogove::Stanza >());
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_404_strophe_connect)
+HXLINE( 405) ::borogove::streams::XmppStropheStream stream = static_cast<hx::Object*>(userdata);
+HXLINE( 406) if (::hx::IsInstanceEq( event,XMPP_CONN_CONNECT )) {
+HXLINE( 407) stream->ready = true;
+HXLINE( 408) while((stream->pending->length > 0)){
+HXLINE( 409) stream->sendStanza(stream->pending->shift().StaticCast< ::borogove::Stanza >());
}
-HXLINE( 391) stream->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(1)
+HXLINE( 411) stream->trigger(HX_("status/online",10,05,0e,d2), ::Dynamic(::hx::Anon_obj::Create(1)
->setFixed(0,HX_("resumed",17,0e,58,6b),(resumed != 0))));
}
-HXLINE( 393) if (::hx::IsInstanceEq( event,XMPP_CONN_DISCONNECT )) {
-HXLINE( 394) bool _hx_tmp;
-HXDLIN( 394) if ((error == 0)) {
-HXLINE( 394) _hx_tmp = ::hx::IsNull( stream_error );
+HXLINE( 413) if (::hx::IsInstanceEq( event,XMPP_CONN_DISCONNECT )) {
+HXLINE( 414) bool _hx_tmp;
+HXDLIN( 414) if ((error == 0)) {
+HXLINE( 414) _hx_tmp = ::hx::IsNull( stream_error );
}
else {
-HXLINE( 394) _hx_tmp = false;
+HXLINE( 414) _hx_tmp = false;
}
-HXDLIN( 394) if (_hx_tmp) {
-HXLINE( 396) stream->trigger(HX_("auth/fail",25,45,e9,d1), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXDLIN( 414) if (_hx_tmp) {
+HXLINE( 416) stream->trigger(HX_("auth/fail",25,45,e9,d1), ::Dynamic(::hx::Anon_obj::Create(0)));
}
else {
HX_BEGIN_LOCAL_FUNC_S2(::hx::LocalFunc,_hx_Closure_0,void*,userdata, xmpp_conn_t*,conn) HXARGC(0)
void _hx_run(){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_402_strophe_connect)
-HXLINE( 404) ::cpp::Pointer< char > tmp = null();
-HXLINE( 403) xmpp_conn_t* conn1 = conn;
-HXLINE( 402) xmpp_connect_client(conn1,tmp,( (unsigned short)(0) ),::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_connect )),userdata);
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_422_strophe_connect)
+HXLINE( 424) ::cpp::Pointer< char > tmp = null();
+HXLINE( 423) xmpp_conn_t* conn1 = conn;
+HXLINE( 422) xmpp_connect_client(conn1,tmp,( (unsigned short)(0) ),::cpp::Function< void ( xmpp_conn_t*, xmpp_conn_event_t,int, xmpp_stream_error_t*,int,void*)>(::hx::AnyCast(&::borogove::streams::XmppStropheStream_obj::strophe_connect )),userdata);
}
HX_END_LOCAL_FUNC0((void))
-HXLINE( 398) stream->ready = false;
-HXLINE( 399) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
-HXLINE( 401) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(userdata,conn)),100);
+HXLINE( 418) stream->ready = false;
+HXLINE( 419) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 421) ::haxe::Timer_obj::delay( ::Dynamic(new _hx_Closure_0(userdata,conn)),100);
}
}
-HXLINE( 412) if (::hx::IsInstanceEq( event,XMPP_CONN_FAIL )) {
-HXLINE( 413) stream->ready = false;
-HXLINE( 414) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
+HXLINE( 432) if (::hx::IsInstanceEq( event,XMPP_CONN_FAIL )) {
+HXLINE( 433) stream->ready = false;
+HXLINE( 434) stream->trigger(HX_("status/offline",c6,eb,eb,54), ::Dynamic(::hx::Anon_obj::Create(0)));
}
}
::borogove::Stanza XmppStropheStream_obj::parseStanza(::String s){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_447_parseStanza)
-HXLINE( 448) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(s.c_str());
-HXDLIN( 448) xmpp_stanza_t* sstanza = xmpp_stanza_new_from_string(::borogove::streams::XmppStropheStream_obj::ctx,tmp);
-HXLINE( 449) if (::hx::IsNull( sstanza )) {
-HXLINE( 449) HX_STACK_DO_THROW((HX_("Failed to parse stanza: ",6a,ef,ec,9c) + s));
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_466_parseStanza)
+HXLINE( 467) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(s.c_str());
+HXDLIN( 467) xmpp_stanza_t* sstanza = xmpp_stanza_new_from_string(::borogove::streams::XmppStropheStream_obj::ctx,tmp);
+HXLINE( 468) if (::hx::IsNull( sstanza )) {
+HXLINE( 468) HX_STACK_DO_THROW((HX_("Failed to parse stanza: ",6a,ef,ec,9c) + s));
}
-HXLINE( 450) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
-HXLINE( 451) xmpp_stanza_release(sstanza);
-HXLINE( 452) return stanza;
+HXLINE( 469) ::borogove::Stanza stanza = ::borogove::streams::XmppStropheStream_obj::convertToStanza(sstanza,null());
+HXLINE( 470) xmpp_stanza_release(sstanza);
+HXLINE( 471) return stanza;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,parseStanza,return )
::String XmppStropheStream_obj::serializeStanza( ::borogove::Stanza stanza){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_456_serializeStanza)
-HXLINE( 457) xmpp_stanza_t* sstanza = ::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza);
-HXLINE( 458) char* buf = null();
-HXLINE( 459) size_t bufsize = ( (size_t)(-1) );
-HXLINE( 460) ::cpp::Pointer< char* > tmp = ::cpp::Pointer_obj::addressOf(buf);
-HXDLIN( 460) ::cpp::Pointer< size_t > tmp1 = ::cpp::Pointer_obj::addressOf(bufsize);
-HXDLIN( 460) int err = xmpp_stanza_to_text(sstanza,tmp,tmp1);
-HXLINE( 461) xmpp_stanza_release(sstanza);
-HXLINE( 462) bool _hx_tmp = (err != 0);
-HXDLIN( 462) if (_hx_tmp) {
-HXLINE( 462) return null();
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_475_serializeStanza)
+HXLINE( 476) xmpp_stanza_t* sstanza = ::borogove::streams::XmppStropheStream_obj::convertFromStanza(stanza);
+HXLINE( 477) char* buf = null();
+HXLINE( 478) size_t bufsize = ( (size_t)(-1) );
+HXLINE( 479) ::cpp::Pointer< char* > tmp = ::cpp::Pointer_obj::addressOf(buf);
+HXDLIN( 479) ::cpp::Pointer< size_t > tmp1 = ::cpp::Pointer_obj::addressOf(bufsize);
+HXDLIN( 479) int err = xmpp_stanza_to_text(sstanza,tmp,tmp1);
+HXLINE( 480) xmpp_stanza_release(sstanza);
+HXLINE( 481) bool _hx_tmp = (err != 0);
+HXDLIN( 481) if (_hx_tmp) {
+HXLINE( 481) return null();
}
-HXLINE( 463) ::cpp::Pointer< char > bufPtr = cpp::Pointer_obj::fromRaw(buf);
-HXLINE( 464) ::String s = ::String(bufPtr->ptr);
-HXLINE( 465) xmpp_ctx_t* _hx_tmp1 = ::borogove::streams::XmppStropheStream_obj::ctx;
-HXDLIN( 465) void* _hx_tmp2 = bufPtr->rawCast();
-HXDLIN( 465) xmpp_free(_hx_tmp1,_hx_tmp2);
-HXLINE( 466) return s;
+HXLINE( 482) ::cpp::Pointer< char > bufPtr = cpp::Pointer_obj::fromRaw(buf);
+HXLINE( 483) ::String s = ::String(bufPtr->ptr);
+HXLINE( 484) xmpp_ctx_t* _hx_tmp1 = ::borogove::streams::XmppStropheStream_obj::ctx;
+HXDLIN( 484) void* _hx_tmp2 = bufPtr->rawCast();
+HXDLIN( 484) xmpp_free(_hx_tmp1,_hx_tmp2);
+HXLINE( 485) return s;
}
STATIC_HX_DEFINE_DYNAMIC_FUNC1(XmppStropheStream_obj,serializeStanza,return )
::borogove::Stanza XmppStropheStream_obj::convertToStanza( xmpp_stanza_t* el,void* dummy){
- HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_469_convertToStanza)
-HXLINE( 470) ::cpp::Pointer< char > name = xmpp_stanza_get_name(el);
-HXLINE( 471) int attrlen = xmpp_stanza_get_attribute_count(el);
-HXLINE( 472) void* attrsraw = ::hx::InternalNew(((attrlen * 2) * sizeof(char*)),false);
-HXLINE( 473) const char** attrsarray = static_cast<const char**>(attrsraw);
-HXLINE( 474) ::cpp::Pointer< const char* > attrsptr = ::cpp::Pointer_obj::fromRaw(attrsarray);
-HXLINE( 475) xmpp_stanza_get_attributes(el,attrsarray,(attrlen * 2));
-HXLINE( 476) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(0));
-HXLINE( 477) {
-HXLINE( 477) int _g = 0;
-HXDLIN( 477) int _g1 = attrlen;
-HXDLIN( 477) while((_g < _g1)){
-HXLINE( 477) _g = (_g + 1);
-HXDLIN( 477) int i = (_g - 1);
-HXLINE( 478) ::cpp::Pointer< char > key = cpp::Pointer_obj::fromRaw(attrsptr->at((i * 2)));
-HXLINE( 479) ::cpp::Pointer< char > value = cpp::Pointer_obj::fromRaw(attrsptr->at(((i * 2) + 1)));
-HXLINE( 480) {
-HXLINE( 480) ::String key1 = ::String(key->ptr);
-HXDLIN( 480) ::String value1 = ::String(value->ptr);
-HXDLIN( 480) ::Reflect_obj::setField(attrs,key1,value1);
+ HX_GC_STACKFRAME(&_hx_pos_0c65e41c3007e035_488_convertToStanza)
+HXLINE( 489) ::cpp::Pointer< char > name = xmpp_stanza_get_name(el);
+HXLINE( 490) int attrlen = xmpp_stanza_get_attribute_count(el);
+HXLINE( 491) void* attrsraw = ::hx::InternalNew(((attrlen * 2) * sizeof(char*)),false);
+HXLINE( 492) const char** attrsarray = static_cast<const char**>(attrsraw);
+HXLINE( 493) ::cpp::Pointer< const char* > attrsptr = ::cpp::Pointer_obj::fromRaw(attrsarray);
+HXLINE( 494) xmpp_stanza_get_attributes(el,attrsarray,(attrlen * 2));
+HXLINE( 495) ::Dynamic attrs = ::Dynamic(::hx::Anon_obj::Create(0));
+HXLINE( 496) {
+HXLINE( 496) int _g = 0;
+HXDLIN( 496) int _g1 = attrlen;
+HXDLIN( 496) while((_g < _g1)){
+HXLINE( 496) _g = (_g + 1);
+HXDLIN( 496) int i = (_g - 1);
+HXLINE( 497) ::cpp::Pointer< char > key = cpp::Pointer_obj::fromRaw(attrsptr->at((i * 2)));
+HXLINE( 498) ::cpp::Pointer< char > value = cpp::Pointer_obj::fromRaw(attrsptr->at(((i * 2) + 1)));
+HXLINE( 499) {
+HXLINE( 499) ::String key1 = ::String(key->ptr);
+HXDLIN( 499) ::String value1 = ::String(value->ptr);
+HXDLIN( 499) ::Reflect_obj::setField(attrs,key1,value1);
}
}
}
-HXLINE( 482) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX , ::String(name->ptr),attrs);
-HXLINE( 484) xmpp_stanza_t* child = xmpp_stanza_get_children(el);
-HXLINE( 485) while(::hx::IsNotNull( child )){
-HXLINE( 486) if (xmpp_stanza_is_text(child)) {
-HXLINE( 487) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(xmpp_stanza_get_text_ptr(child));
-HXDLIN( 487) stanza->text( ::String(inPtr->ptr));
+HXLINE( 501) ::borogove::Stanza stanza = ::borogove::Stanza_obj::__alloc( HX_CTX , ::String(name->ptr),attrs,null());
+HXLINE( 503) xmpp_stanza_t* child = xmpp_stanza_get_children(el);
+HXLINE( 504) while(::hx::IsNotNull( child )){
+HXLINE( 505) if (xmpp_stanza_is_text(child)) {
+HXLINE( 506) ::cpp::Pointer< char > inPtr = cpp::Pointer_obj::fromRaw(xmpp_stanza_get_text_ptr(child));
+HXDLIN( 506) stanza->text( ::String(inPtr->ptr));
}
else {
-HXLINE( 489) stanza->addChild(::borogove::streams::XmppStropheStream_obj::convertToStanza(child,null()));
+HXLINE( 508) stanza->addChild(::borogove::streams::XmppStropheStream_obj::convertToStanza(child,null()));
}
-HXLINE( 491) child = xmpp_stanza_get_next(child);
+HXLINE( 510) child = xmpp_stanza_get_next(child);
}
-HXLINE( 494) return stanza;
+HXLINE( 513) return stanza;
}
xmpp_stanza_t* XmppStropheStream_obj::convertFromStanza( ::borogove::Stanza el){
- HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_497_convertFromStanza)
-HXLINE( 498) xmpp_stanza_t* xml = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
-HXLINE( 499) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(el->name.c_str());
-HXDLIN( 499) xmpp_stanza_set_name(xml,tmp);
-HXLINE( 500) {
-HXLINE( 500) ::Dynamic access = el->attr;
-HXDLIN( 500) ::Array< ::String > _g_keys = ::Reflect_obj::fields(access);
-HXDLIN( 500) int _g_index = 0;
-HXDLIN( 500) while((_g_index < _g_keys->length)){
-HXLINE( 500) _g_index = (_g_index + 1);
-HXDLIN( 500) ::String key = _g_keys->__get((_g_index - 1));
-HXDLIN( 500) ::String attr_value = ( (::String)(::Reflect_obj::field(access,key)) );
-HXLINE( 503) if (::hx::IsNotNull( attr_value )) {
-HXLINE( 504) ::cpp::Pointer< char > tmp1 = cpp::Pointer_obj::fromPointer(key.c_str());
-HXDLIN( 504) ::cpp::Pointer< char > tmp2 = cpp::Pointer_obj::fromPointer(attr_value.c_str());
-HXDLIN( 504) xmpp_stanza_set_attribute(xml,tmp1,tmp2);
+ HX_STACKFRAME(&_hx_pos_0c65e41c3007e035_516_convertFromStanza)
+HXLINE( 517) xmpp_stanza_t* xml = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
+HXLINE( 518) ::cpp::Pointer< char > tmp = cpp::Pointer_obj::fromPointer(el->name.c_str());
+HXDLIN( 518) xmpp_stanza_set_name(xml,tmp);
+HXLINE( 519) {
+HXLINE( 519) ::Dynamic map = el->attr;
+HXDLIN( 519) ::Dynamic attr_keys = ::haxe::IMap_obj::keys(map);
+HXDLIN( 519) while(( (bool)(attr_keys->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXLINE( 519) ::String key = ( (::String)(attr_keys->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 519) ::String attr_value = ( (::String)(::haxe::IMap_obj::get(map,key)) );
+HXLINE( 522) if (::hx::IsNotNull( attr_value )) {
+HXLINE( 523) ::cpp::Pointer< char > tmp1 = cpp::Pointer_obj::fromPointer(key.c_str());
+HXDLIN( 523) ::cpp::Pointer< char > tmp2 = cpp::Pointer_obj::fromPointer(attr_value.c_str());
+HXDLIN( 523) xmpp_stanza_set_attribute(xml,tmp1,tmp2);
}
}
}
-HXLINE( 507) if ((el->children->length > 0)) {
-HXLINE( 508) int _g = 0;
-HXDLIN( 508) ::Array< ::Dynamic> _g1 = el->children;
-HXDLIN( 508) while((_g < _g1->length)){
-HXLINE( 508) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
-HXDLIN( 508) _g = (_g + 1);
-HXLINE( 509) switch((int)(child->_hx_getIndex())){
+HXLINE( 526) if ((el->children->length > 0)) {
+HXLINE( 527) int _g = 0;
+HXDLIN( 527) ::Array< ::Dynamic> _g1 = el->children;
+HXDLIN( 527) while((_g < _g1->length)){
+HXLINE( 527) ::borogove::Node child = _g1->__get(_g).StaticCast< ::borogove::Node >();
+HXDLIN( 527) _g = (_g + 1);
+HXLINE( 528) switch((int)(child->_hx_getIndex())){
case (int)0: {
-HXLINE( 511) xmpp_stanza_add_child_ex(xml,::borogove::streams::XmppStropheStream_obj::convertFromStanza(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()),false);
+HXLINE( 530) xmpp_stanza_add_child_ex(xml,::borogove::streams::XmppStropheStream_obj::convertFromStanza(child->_hx_getObject(0).StaticCast< ::borogove::Stanza >()),false);
}
break;
case (int)1: {
-HXLINE( 513) xmpp_stanza_t* text_node = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
-HXLINE( 514) ::cpp::Pointer< char > tmp3 = cpp::Pointer_obj::fromPointer(child->_hx_getString(0).c_str());
-HXDLIN( 514) xmpp_stanza_set_text(text_node,tmp3);
-HXLINE( 515) xmpp_stanza_add_child_ex(xml,text_node,false);
+HXLINE( 532) xmpp_stanza_t* text_node = xmpp_stanza_new(::borogove::streams::XmppStropheStream_obj::ctx);
+HXLINE( 533) ::cpp::Pointer< char > tmp3 = cpp::Pointer_obj::fromPointer(child->_hx_getString(0).c_str());
+HXDLIN( 533) xmpp_stanza_set_text(text_node,tmp3);
+HXLINE( 534) xmpp_stanza_add_child_ex(xml,text_node,false);
}
break;
}
}
}
-HXLINE( 519) return xml;
+HXLINE( 538) return xml;
}
@@ -677,6 +720,9 @@ bool XmppStropheStream_obj::__GetStatic(const ::String &inName, Dynamic &outValu
case 11:
if (HX_FIELD_EQ(inName,"parseStanza") ) { outValue = parseStanza_dyn(); return true; }
break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"startHeartbeat") ) { outValue = startHeartbeat_dyn(); return true; }
+ break;
case 15:
if (HX_FIELD_EQ(inName,"serializeStanza") ) { outValue = serializeStanza_dyn(); return true; }
break;
@@ -746,6 +792,7 @@ static ::String XmppStropheStream_obj_sMemberFields[] = {
::hx::Class XmppStropheStream_obj::__mClass;
static ::String XmppStropheStream_obj_sStaticFields[] = {
+ HX_("startHeartbeat",3a,cb,14,c4),
HX_("parseStanza",88,0a,34,81),
HX_("serializeStanza",f5,d7,e9,1f),
HX_("convertFromStanza",d2,72,14,33),
diff --git a/Sources/c_borogove/src/cpp/vm/Gc.cpp b/Sources/c_borogove/src/cpp/vm/Gc.cpp
new file mode 100644
index 0000000..46744de
--- /dev/null
+++ b/Sources/c_borogove/src/cpp/vm/Gc.cpp
@@ -0,0 +1,88 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_cpp_vm_Gc
+#include <cpp/vm/Gc.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_be3f97a95d181a8b_59_trace,"cpp.vm.Gc","trace",0xb7afef1f,"cpp.vm.Gc.trace","/usr/local/lib/haxe/std/cpp/vm/Gc.hx",59,0x44f3d2d3)
+namespace cpp{
+namespace vm{
+
+void Gc_obj::__construct() { }
+
+Dynamic Gc_obj::__CreateEmpty() { return new Gc_obj; }
+
+void *Gc_obj::_hx_vtable = 0;
+
+Dynamic Gc_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Gc_obj > _hx_result = new Gc_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Gc_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x6bc853d6;
+}
+
+int Gc_obj::trace(::hx::Class sought,::hx::Null< bool > __o_printInstances){
+ bool printInstances = __o_printInstances.Default(true);
+ HX_STACKFRAME(&_hx_pos_be3f97a95d181a8b_59_trace)
+HXDLIN( 59) return __hxcpp_gc_trace(sought,printInstances);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(Gc_obj,trace,return )
+
+
+Gc_obj::Gc_obj()
+{
+}
+
+bool Gc_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"trace") ) { outValue = trace_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Gc_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Gc_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Gc_obj::__mClass;
+
+static ::String Gc_obj_sStaticFields[] = {
+ HX_("trace",85,8e,1f,16),
+ ::String(null())
+};
+
+void Gc_obj::__register()
+{
+ Gc_obj _hx_dummy;
+ Gc_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("cpp.vm.Gc",88,f1,b3,68);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Gc_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Gc_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Gc_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Gc_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Gc_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace cpp
+} // end namespace vm
diff --git a/Sources/c_borogove/src/cpp/vm/WeakRef.cpp b/Sources/c_borogove/src/cpp/vm/WeakRef.cpp
new file mode 100644
index 0000000..24b1f1a
--- /dev/null
+++ b/Sources/c_borogove/src/cpp/vm/WeakRef.cpp
@@ -0,0 +1,143 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_cpp_vm_WeakRef
+#include <cpp/vm/WeakRef.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_5d77fc6d6289cb3b_29_new,"cpp.vm.WeakRef","new",0x9ce60541,"cpp.vm.WeakRef.new","/usr/local/lib/haxe/std/cpp/vm/WeakRef.hx",29,0xff0f6792)
+HX_LOCAL_STACK_FRAME(_hx_pos_5d77fc6d6289cb3b_37_get,"cpp.vm.WeakRef","get",0x9ce0b577,"cpp.vm.WeakRef.get","/usr/local/lib/haxe/std/cpp/vm/WeakRef.hx",37,0xff0f6792)
+namespace cpp{
+namespace vm{
+
+void WeakRef_obj::__construct( ::Dynamic inObject,::hx::Null< bool > __o_inHard){
+ bool inHard = __o_inHard.Default(false);
+ HX_STACKFRAME(&_hx_pos_5d77fc6d6289cb3b_29_new)
+HXLINE( 30) this->hardRef = inHard;
+HXLINE( 31) if (this->hardRef) {
+HXLINE( 32) this->ref = inObject;
+ }
+ else {
+HXLINE( 34) this->ref = ::__hxcpp_weak_ref_create(inObject);
+ }
+ }
+
+Dynamic WeakRef_obj::__CreateEmpty() { return new WeakRef_obj; }
+
+void *WeakRef_obj::_hx_vtable = 0;
+
+Dynamic WeakRef_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< WeakRef_obj > _hx_result = new WeakRef_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool WeakRef_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x79de7951;
+}
+
+ ::Dynamic WeakRef_obj::get(){
+ HX_STACKFRAME(&_hx_pos_5d77fc6d6289cb3b_37_get)
+HXLINE( 38) if (this->hardRef) {
+HXLINE( 39) return this->ref;
+ }
+HXLINE( 41) return ::__hxcpp_weak_ref_get(this->ref);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(WeakRef_obj,get,return )
+
+
+WeakRef_obj::WeakRef_obj()
+{
+}
+
+void WeakRef_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(WeakRef);
+ HX_MARK_MEMBER_NAME(ref,"ref");
+ HX_MARK_MEMBER_NAME(hardRef,"hardRef");
+ HX_MARK_END_CLASS();
+}
+
+void WeakRef_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(ref,"ref");
+ HX_VISIT_MEMBER_NAME(hardRef,"hardRef");
+}
+
+::hx::Val WeakRef_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ref") ) { return ::hx::Val( ref ); }
+ if (HX_FIELD_EQ(inName,"get") ) { return ::hx::Val( get_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"hardRef") ) { return ::hx::Val( hardRef ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+::hx::Val WeakRef_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"ref") ) { ref=inValue.Cast< ::Dynamic >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"hardRef") ) { hardRef=inValue.Cast< bool >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void WeakRef_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("ref",53,d9,56,00));
+ outFields->push(HX_("hardRef",28,47,5c,93));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo WeakRef_obj_sMemberStorageInfo[] = {
+ {::hx::fsObject /* ::Dynamic */ ,(int)offsetof(WeakRef_obj,ref),HX_("ref",53,d9,56,00)},
+ {::hx::fsBool,(int)offsetof(WeakRef_obj,hardRef),HX_("hardRef",28,47,5c,93)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *WeakRef_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String WeakRef_obj_sMemberFields[] = {
+ HX_("ref",53,d9,56,00),
+ HX_("hardRef",28,47,5c,93),
+ HX_("get",96,80,4e,00),
+ ::String(null()) };
+
+::hx::Class WeakRef_obj::__mClass;
+
+void WeakRef_obj::__register()
+{
+ WeakRef_obj _hx_dummy;
+ WeakRef_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("cpp.vm.WeakRef",cf,50,d0,17);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &::hx::Class_obj::GetNoStaticField;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(0 /* sStaticFields */);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(WeakRef_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< WeakRef_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = WeakRef_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = WeakRef_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace cpp
+} // end namespace vm
diff --git a/Sources/c_borogove/src/haxe/crypto/Aes.cpp b/Sources/c_borogove/src/haxe/crypto/Aes.cpp
new file mode 100644
index 0000000..db7786c
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/Aes.cpp
@@ -0,0 +1,1020 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
+#ifndef INCLUDED_haxe_crypto_Aes
+#include <haxe/crypto/Aes.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CBC
+#include <haxe/crypto/mode/CBC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CCM
+#include <haxe/crypto/mode/CCM.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CFB
+#include <haxe/crypto/mode/CFB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_EAX
+#include <haxe/crypto/mode/EAX.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_ECB
+#include <haxe/crypto/mode/ECB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCM
+#include <haxe/crypto/mode/GCM.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCMSIV
+#include <haxe/crypto/mode/GCMSIV.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_OFB
+#include <haxe/crypto/mode/OFB.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_PCBC
+#include <haxe/crypto/mode/PCBC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_SIV
+#include <haxe/crypto/mode/SIV.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_AnsiX923
+#include <haxe/crypto/padding/AnsiX923.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_BitPadding
+#include <haxe/crypto/padding/BitPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_ISO10126
+#include <haxe/crypto/padding/ISO10126.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_NoPadding
+#include <haxe/crypto/padding/NoPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_NullPadding
+#include <haxe/crypto/padding/NullPadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_PKCS7
+#include <haxe/crypto/padding/PKCS7.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_SpacePadding
+#include <haxe/crypto/padding/SpacePadding.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_TBC
+#include <haxe/crypto/padding/TBC.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_896031c90f9f6860_41_new,"haxe.crypto.Aes","new",0xb682427c,"haxe.crypto.Aes.new","haxe/crypto/Aes.hx",41,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_36_set_iv,"haxe.crypto.Aes","set_iv",0xb6df0f0e,"haxe.crypto.Aes.set_iv","haxe/crypto/Aes.hx",36,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_47_init,"haxe.crypto.Aes","init",0xf830a174,"haxe.crypto.Aes.init","haxe/crypto/Aes.hx",47,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_120_keyExpansion,"haxe.crypto.Aes","keyExpansion",0xc2ae5bc4,"haxe.crypto.Aes.keyExpansion","haxe/crypto/Aes.hx",120,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_160_encrypt,"haxe.crypto.Aes","encrypt",0xe2232e81,"haxe.crypto.Aes.encrypt","haxe/crypto/Aes.hx",160,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_211_decrypt,"haxe.crypto.Aes","decrypt",0x1f577869,"haxe.crypto.Aes.decrypt","haxe/crypto/Aes.hx",211,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_260_encryptBlock,"haxe.crypto.Aes","encryptBlock",0xc5c9830c,"haxe.crypto.Aes.encryptBlock","haxe/crypto/Aes.hx",260,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_270_decryptBlock,"haxe.crypto.Aes","decryptBlock",0xfc385024,"haxe.crypto.Aes.decryptBlock","haxe/crypto/Aes.hx",270,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_287_generateBlock,"haxe.crypto.Aes","generateBlock",0xfb3df2f4,"haxe.crypto.Aes.generateBlock","haxe/crypto/Aes.hx",287,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_322_bytesToInt32,"haxe.crypto.Aes","bytesToInt32",0xbe9d1d0c,"haxe.crypto.Aes.bytesToInt32","haxe/crypto/Aes.hx",322,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_330_int32ToBytes,"haxe.crypto.Aes","int32ToBytes",0x47cc79a6,"haxe.crypto.Aes.int32ToBytes","haxe/crypto/Aes.hx",330,0xba916a94)
+HX_LOCAL_STACK_FRAME(_hx_pos_896031c90f9f6860_57_initTable,"haxe.crypto.Aes","initTable",0xce5ec1fa,"haxe.crypto.Aes.initTable","haxe/crypto/Aes.hx",57,0xba916a94)
+namespace haxe{
+namespace crypto{
+
+void Aes_obj::__construct( ::haxe::io::Bytes key, ::haxe::io::Bytes iv){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_41_new)
+HXLINE( 42) ::haxe::crypto::Aes_obj::initTable();
+HXLINE( 43) if (::hx::IsNotNull( key )) {
+HXLINE( 44) this->init(key,iv);
+ }
+ }
+
+Dynamic Aes_obj::__CreateEmpty() { return new Aes_obj; }
+
+void *Aes_obj::_hx_vtable = 0;
+
+Dynamic Aes_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Aes_obj > _hx_result = new Aes_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1]);
+ return _hx_result;
+}
+
+bool Aes_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x49ad9de8;
+}
+
+ ::haxe::io::Bytes Aes_obj::set_iv( ::haxe::io::Bytes vector){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_36_set_iv)
+HXLINE( 37) this->iv = vector;
+HXLINE( 38) return this->iv;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Aes_obj,set_iv,return )
+
+void Aes_obj::init( ::haxe::io::Bytes key, ::haxe::io::Bytes iv){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_47_init)
+HXLINE( 48) this->key = key;
+HXLINE( 49) this->Nk = (key->length >> 2);
+HXLINE( 50) this->Nr = (this->Nk + 6);
+HXLINE( 51) this->keyRows = ((this->Nr + 1) * 4);
+HXLINE( 52) this->state = ::Array_obj< int >::__new(this->Nk);
+HXLINE( 53) this->set_iv(iv);
+HXLINE( 54) this->keyExpansion(key);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Aes_obj,init,(void))
+
+void Aes_obj::keyExpansion( ::haxe::io::Bytes key){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_120_keyExpansion)
+HXLINE( 121) this->roundKey = ::Array_obj< int >::__new(this->keyRows);
+HXLINE( 122) {
+HXLINE( 122) int _g = 0;
+HXDLIN( 122) int _g1 = this->keyRows;
+HXDLIN( 122) while((_g < _g1)){
+HXLINE( 122) _g = (_g + 1);
+HXDLIN( 122) int ksRow = (_g - 1);
+HXLINE( 123) if ((ksRow < this->Nk)) {
+HXLINE( 124) ::Array< int > this1 = this->roundKey;
+HXDLIN( 124) int val = this->bytesToInt32(key,(ksRow << 2));
+HXDLIN( 124) this1->__unsafe_set(ksRow,val);
+ }
+ else {
+HXLINE( 126) int t = ( (int)(_hx_array_unsafe_get(this->roundKey,(ksRow - 1))) );
+HXLINE( 127) if ((::hx::Mod(ksRow,this->Nk) == 0)) {
+HXLINE( 128) t = ((t << 8) | ::hx::UShr(t,24));
+HXLINE( 129) int t1 = (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,::hx::UShr(t,24))) ) << 24);
+HXDLIN( 129) int t2 = (t1 | (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t,16) & 255))) ) << 16));
+HXDLIN( 129) int t3 = (t2 | (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t,8) & 255))) ) << 8));
+HXDLIN( 129) t = (t3 | ( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(t & 255))) ));
+HXLINE( 130) t = (t ^ (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::RCON,(::Math_obj::floor((( (Float)(ksRow) ) / ( (Float)(this->Nk) ))) | 0))) ) << 24));
+ }
+ else {
+HXLINE( 131) bool _hx_tmp;
+HXDLIN( 131) if ((this->Nk > 6)) {
+HXLINE( 131) _hx_tmp = (::hx::Mod(ksRow,this->Nk) == 4);
+ }
+ else {
+HXLINE( 131) _hx_tmp = false;
+ }
+HXDLIN( 131) if (_hx_tmp) {
+HXLINE( 132) int t4 = (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,::hx::UShr(t,24))) ) << 24);
+HXDLIN( 132) int t5 = (t4 | (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t,16) & 255))) ) << 16));
+HXDLIN( 132) int t6 = (t5 | (( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t,8) & 255))) ) << 8));
+HXDLIN( 132) t = (t6 | ( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(t & 255))) ));
+ }
+ }
+HXLINE( 134) {
+HXLINE( 134) ::Array< int > this2 = this->roundKey;
+HXDLIN( 134) int val1 = (( (int)(_hx_array_unsafe_get(this->roundKey,(ksRow - this->Nk))) ) ^ t);
+HXDLIN( 134) this2->__unsafe_set(ksRow,val1);
+ }
+ }
+ }
+ }
+HXLINE( 137) this->rRoundKey = ::Array_obj< int >::__new(this->keyRows);
+HXLINE( 138) int keyRow;
+HXDLIN( 138) int t7;
+HXLINE( 139) {
+HXLINE( 139) int _g2 = 0;
+HXDLIN( 139) int _g3 = this->keyRows;
+HXDLIN( 139) while((_g2 < _g3)){
+HXLINE( 139) _g2 = (_g2 + 1);
+HXDLIN( 139) int i = (_g2 - 1);
+HXLINE( 140) keyRow = (this->keyRows - i);
+HXLINE( 142) if ((::hx::Mod(i,4) != 0)) {
+HXLINE( 143) t7 = ( (int)(_hx_array_unsafe_get(this->roundKey,keyRow)) );
+ }
+ else {
+HXLINE( 145) t7 = ( (int)(_hx_array_unsafe_get(this->roundKey,(keyRow - 4))) );
+ }
+HXLINE( 148) bool _hx_tmp1;
+HXDLIN( 148) if ((i >= 4)) {
+HXLINE( 148) _hx_tmp1 = (keyRow <= 4);
+ }
+ else {
+HXLINE( 148) _hx_tmp1 = true;
+ }
+HXDLIN( 148) if (_hx_tmp1) {
+HXLINE( 149) this->rRoundKey->__unsafe_set(i,t7);
+ }
+ else {
+HXLINE( 151) ::Array< int > this3 = this->rRoundKey;
+HXDLIN( 151) ::Array< int > this4 = ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_0;
+HXDLIN( 151) int val2 = ( (int)(_hx_array_unsafe_get(this4,( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,::hx::UShr(t7,24))) ))) );
+HXDLIN( 151) ::Array< int > this5 = ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_1;
+HXDLIN( 151) int val3 = (val2 ^ ( (int)(_hx_array_unsafe_get(this5,( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t7,16) & 255))) ))) ));
+HXDLIN( 151) ::Array< int > this6 = ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_2;
+HXDLIN( 151) int val4 = (val3 ^ ( (int)(_hx_array_unsafe_get(this6,( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(::hx::UShr(t7,8) & 255))) ))) ));
+HXDLIN( 151) ::Array< int > this7 = ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_3;
+HXDLIN( 151) int val5 = (val4 ^ ( (int)(_hx_array_unsafe_get(this7,( (int)(_hx_array_unsafe_get(::haxe::crypto::Aes_obj::SBOX,(t7 & 255))) ))) ));
+HXDLIN( 151) this3->__unsafe_set(i,val5);
+ }
+ }
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Aes_obj,keyExpansion,(void))
+
+ ::haxe::io::Bytes Aes_obj::encrypt(::String cipherMode, ::haxe::io::Bytes data,::String __o_padding, ::haxe::io::Bytes aad, ::Dynamic __o_tagLen,::Array< ::Dynamic> aadCollection){
+ ::String padding = __o_padding;
+ if (::hx::IsNull(__o_padding)) padding = HX_("NoPadding",70,fb,3b,b0);
+ ::Dynamic tagLen = __o_tagLen;
+ if (::hx::IsNull(__o_tagLen)) tagLen = 16;
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_160_encrypt)
+HXLINE( 161) ::haxe::io::Bytes out;
+HXLINE( 163) ::String _hx_switch_0 = padding;
+ if ( (_hx_switch_0==HX_("AnsiX923",45,9b,7b,0e)) ){
+HXLINE( 172) out = ::haxe::crypto::padding::AnsiX923_obj::pad(data,16);
+HXDLIN( 172) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("BitPadding",a4,30,e1,a0)) ){
+HXLINE( 170) out = ::haxe::crypto::padding::BitPadding_obj::pad(data,16);
+HXDLIN( 170) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("ISO10126",71,91,8b,b7)) ){
+HXLINE( 174) out = ::haxe::crypto::padding::ISO10126_obj::pad(data,16);
+HXDLIN( 174) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("NoPadding",70,fb,3b,b0)) ){
+HXLINE( 166) out = ::haxe::crypto::padding::NoPadding_obj::pad(data,16);
+HXDLIN( 166) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("NullPadding",ea,69,bc,e2)) ){
+HXLINE( 176) out = ::haxe::crypto::padding::NullPadding_obj::pad(data,16);
+HXDLIN( 176) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("PKCS7",6c,88,d4,41)) ){
+HXLINE( 168) out = ::haxe::crypto::padding::PKCS7_obj::pad(data,16);
+HXDLIN( 168) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("SpacePadding",cb,05,a8,50)) ){
+HXLINE( 178) out = ::haxe::crypto::padding::SpacePadding_obj::pad(data,16);
+HXDLIN( 178) goto _hx_goto_6;
+ }
+ if ( (_hx_switch_0==HX_("TBC",15,f7,3f,00)) ){
+HXLINE( 180) out = ::haxe::crypto::padding::TBC_obj::pad(data,16);
+HXDLIN( 180) goto _hx_goto_6;
+ }
+ _hx_goto_6:;
+HXLINE( 183) ::String _hx_switch_1 = cipherMode;
+ if ( (_hx_switch_1==HX_("cbc",e4,74,4b,00)) ){
+HXLINE( 185) ::haxe::crypto::mode::CBC_obj::encrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 185) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("ccm",cd,75,4b,00)) ){
+HXLINE( 197) return ::haxe::crypto::mode::CCM_obj::encrypt(out,this->iv,aad,( (int)(tagLen) ),16,this->encryptBlock_dyn());
+HXDLIN( 197) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("cfb",5f,78,4b,00)) ){
+HXLINE( 193) ::haxe::crypto::mode::CFB_obj::encrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 193) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("ctr",a1,84,4b,00)) ){
+HXLINE( 191) ::haxe::crypto::mode::CTR_obj::encrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 191) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("eax",9c,f8,4c,00)) ){
+HXLINE( 205) return ::haxe::crypto::mode::EAX_obj::encrypt(out,this->key,this->iv,this->encryptBlock_dyn(),aadCollection);
+HXDLIN( 205) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("ecb",44,fa,4c,00)) ){
+HXLINE( 187) ::haxe::crypto::mode::ECB_obj::encrypt(out,16,this->encryptBlock_dyn());
+HXDLIN( 187) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("gcm",d1,7e,4e,00)) ){
+HXLINE( 199) return ::haxe::crypto::mode::GCM_obj::encrypt(out,this->iv,aad,( (int)(tagLen) ),16,this->encryptBlock_dyn());
+HXDLIN( 199) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("gcmsiv",ef,78,d1,77)) ){
+HXLINE( 203) return ::haxe::crypto::mode::GCMSIV_obj::encrypt(this->key,this->iv,out,aad,this->encryptBlock_dyn(),this->init_dyn());
+HXDLIN( 203) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("ofb",6b,93,54,00)) ){
+HXLINE( 195) ::haxe::crypto::mode::OFB_obj::encrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 195) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("pcbc",74,5a,53,4a)) ){
+HXLINE( 189) ::haxe::crypto::mode::PCBC_obj::encrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 189) goto _hx_goto_7;
+ }
+ if ( (_hx_switch_1==HX_("siv",20,9f,57,00)) ){
+HXLINE( 201) return ::haxe::crypto::mode::SIV_obj::encrypt(this->key,out,this->iv,aadCollection,this->encryptBlock_dyn(),this->init_dyn());
+HXDLIN( 201) goto _hx_goto_7;
+ }
+ _hx_goto_7:;
+HXLINE( 208) return out;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC6(Aes_obj,encrypt,return )
+
+ ::haxe::io::Bytes Aes_obj::decrypt(::String cipherMode, ::haxe::io::Bytes data,::String __o_padding, ::haxe::io::Bytes aad, ::Dynamic __o_tagLen,::Array< ::Dynamic> aadCollection){
+ ::String padding = __o_padding;
+ if (::hx::IsNull(__o_padding)) padding = HX_("NoPadding",70,fb,3b,b0);
+ ::Dynamic tagLen = __o_tagLen;
+ if (::hx::IsNull(__o_tagLen)) tagLen = 16;
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_211_decrypt)
+HXLINE( 212) ::haxe::io::Bytes out = data->sub(0,data->length);
+HXLINE( 214) ::String _hx_switch_0 = cipherMode;
+ if ( (_hx_switch_0==HX_("cbc",e4,74,4b,00)) ){
+HXLINE( 216) ::haxe::crypto::mode::CBC_obj::decrypt(out,this->iv,16,this->decryptBlock_dyn());
+HXDLIN( 216) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("ccm",cd,75,4b,00)) ){
+HXLINE( 228) return ::haxe::crypto::mode::CCM_obj::decrypt(out,this->iv,aad,( (int)(tagLen) ),16,this->encryptBlock_dyn());
+HXDLIN( 228) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("cfb",5f,78,4b,00)) ){
+HXLINE( 224) ::haxe::crypto::mode::CFB_obj::decrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 224) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("ctr",a1,84,4b,00)) ){
+HXLINE( 222) ::haxe::crypto::mode::CTR_obj::decrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 222) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("eax",9c,f8,4c,00)) ){
+HXLINE( 236) return ::haxe::crypto::mode::EAX_obj::decrypt(out,this->key,this->iv,this->encryptBlock_dyn(),aadCollection);
+HXDLIN( 236) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("ecb",44,fa,4c,00)) ){
+HXLINE( 218) ::haxe::crypto::mode::ECB_obj::decrypt(out,16,this->decryptBlock_dyn());
+HXDLIN( 218) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("gcm",d1,7e,4e,00)) ){
+HXLINE( 230) return ::haxe::crypto::mode::GCM_obj::decrypt(out,this->iv,aad,( (int)(tagLen) ),16,this->encryptBlock_dyn());
+HXDLIN( 230) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("gcmsiv",ef,78,d1,77)) ){
+HXLINE( 234) return ::haxe::crypto::mode::GCMSIV_obj::decrypt(this->key,this->iv,out,aad,this->encryptBlock_dyn(),this->init_dyn());
+HXDLIN( 234) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("ofb",6b,93,54,00)) ){
+HXLINE( 226) ::haxe::crypto::mode::OFB_obj::decrypt(out,this->iv,16,this->encryptBlock_dyn());
+HXDLIN( 226) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("pcbc",74,5a,53,4a)) ){
+HXLINE( 220) ::haxe::crypto::mode::PCBC_obj::decrypt(out,this->iv,16,this->decryptBlock_dyn());
+HXDLIN( 220) goto _hx_goto_9;
+ }
+ if ( (_hx_switch_0==HX_("siv",20,9f,57,00)) ){
+HXLINE( 232) return ::haxe::crypto::mode::SIV_obj::decrypt(this->key,out,this->iv,aadCollection,this->encryptBlock_dyn(),this->init_dyn());
+HXDLIN( 232) goto _hx_goto_9;
+ }
+ _hx_goto_9:;
+HXLINE( 239) ::String _hx_switch_1 = padding;
+ if ( (_hx_switch_1==HX_("AnsiX923",45,9b,7b,0e)) ){
+HXLINE( 247) out = ::haxe::crypto::padding::AnsiX923_obj::unpad(out);
+HXDLIN( 247) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("BitPadding",a4,30,e1,a0)) ){
+HXLINE( 245) out = ::haxe::crypto::padding::BitPadding_obj::unpad(out);
+HXDLIN( 245) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("ISO10126",71,91,8b,b7)) ){
+HXLINE( 249) out = ::haxe::crypto::padding::ISO10126_obj::unpad(out);
+HXDLIN( 249) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("NoPadding",70,fb,3b,b0)) ){
+HXLINE( 241) out = ::haxe::crypto::padding::NoPadding_obj::unpad(out);
+HXDLIN( 241) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("NullPadding",ea,69,bc,e2)) ){
+HXLINE( 251) out = ::haxe::crypto::padding::NullPadding_obj::unpad(out);
+HXDLIN( 251) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("PKCS7",6c,88,d4,41)) ){
+HXLINE( 243) out = ::haxe::crypto::padding::PKCS7_obj::unpad(out);
+HXDLIN( 243) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("SpacePadding",cb,05,a8,50)) ){
+HXLINE( 253) out = ::haxe::crypto::padding::SpacePadding_obj::unpad(out);
+HXDLIN( 253) goto _hx_goto_10;
+ }
+ if ( (_hx_switch_1==HX_("TBC",15,f7,3f,00)) ){
+HXLINE( 255) out = ::haxe::crypto::padding::TBC_obj::unpad(out);
+HXDLIN( 255) goto _hx_goto_10;
+ }
+ _hx_goto_10:;
+HXLINE( 257) return out;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC6(Aes_obj,decrypt,return )
+
+void Aes_obj::encryptBlock( ::haxe::io::Bytes src,int srcIndex, ::haxe::io::Bytes dst,int dstIndex){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_260_encryptBlock)
+HXLINE( 261) {
+HXLINE( 262) {
+HXLINE( 262) ::Array< int > this1 = this->state;
+HXDLIN( 262) int val = this->bytesToInt32(src,srcIndex);
+HXDLIN( 262) this1->__unsafe_set(0,val);
+ }
+HXDLIN( 262) {
+HXLINE( 262) ::Array< int > this2 = this->state;
+HXDLIN( 262) int val1 = this->bytesToInt32(src,(srcIndex + 4));
+HXDLIN( 262) this2->__unsafe_set(1,val1);
+ }
+HXDLIN( 262) {
+HXLINE( 262) ::Array< int > this3 = this->state;
+HXDLIN( 262) int val2 = this->bytesToInt32(src,(srcIndex + 8));
+HXDLIN( 262) this3->__unsafe_set(2,val2);
+ }
+HXDLIN( 262) {
+HXLINE( 262) ::Array< int > this4 = this->state;
+HXDLIN( 262) int val3 = this->bytesToInt32(src,(srcIndex + 12));
+HXDLIN( 262) this4->__unsafe_set(3,val3);
+ }
+ }
+HXLINE( 264) this->generateBlock(this->roundKey,::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_0,::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_1,::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_2,::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_3,::haxe::crypto::Aes_obj::SBOX);
+HXLINE( 265) {
+HXLINE( 266) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,0)) ),dst,dstIndex);
+HXDLIN( 266) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,1)) ),dst,(dstIndex + 4));
+HXDLIN( 266) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,2)) ),dst,(dstIndex + 8));
+HXDLIN( 266) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,3)) ),dst,(dstIndex + 12));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Aes_obj,encryptBlock,(void))
+
+void Aes_obj::decryptBlock( ::haxe::io::Bytes src,int srcIndex, ::haxe::io::Bytes dst,::hx::Null< int > __o_dstIndex){
+ int dstIndex = __o_dstIndex.Default(0);
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_270_decryptBlock)
+HXLINE( 271) {
+HXLINE( 272) {
+HXLINE( 272) ::Array< int > this1 = this->state;
+HXDLIN( 272) int val = this->bytesToInt32(src,srcIndex);
+HXDLIN( 272) this1->__unsafe_set(0,val);
+ }
+HXDLIN( 272) {
+HXLINE( 272) ::Array< int > this2 = this->state;
+HXDLIN( 272) int val1 = this->bytesToInt32(src,(srcIndex + 4));
+HXDLIN( 272) this2->__unsafe_set(1,val1);
+ }
+HXDLIN( 272) {
+HXLINE( 272) ::Array< int > this3 = this->state;
+HXDLIN( 272) int val2 = this->bytesToInt32(src,(srcIndex + 8));
+HXDLIN( 272) this3->__unsafe_set(2,val2);
+ }
+HXDLIN( 272) {
+HXLINE( 272) ::Array< int > this4 = this->state;
+HXDLIN( 272) int val3 = this->bytesToInt32(src,(srcIndex + 12));
+HXDLIN( 272) this4->__unsafe_set(3,val3);
+ }
+ }
+HXLINE( 274) int t = ( (int)(_hx_array_unsafe_get(this->state,1)) );
+HXLINE( 275) {
+HXLINE( 275) ::Array< int > this5 = this->state;
+HXDLIN( 275) int val4 = ( (int)(_hx_array_unsafe_get(this->state,3)) );
+HXDLIN( 275) this5->__unsafe_set(1,val4);
+ }
+HXLINE( 276) this->state->__unsafe_set(3,t);
+HXLINE( 277) this->generateBlock(this->rRoundKey,::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_0,::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_1,::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_2,::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_3,::haxe::crypto::Aes_obj::RSBOX);
+HXLINE( 278) t = ( (int)(_hx_array_unsafe_get(this->state,1)) );
+HXLINE( 279) {
+HXLINE( 279) ::Array< int > this6 = this->state;
+HXDLIN( 279) int val5 = ( (int)(_hx_array_unsafe_get(this->state,3)) );
+HXDLIN( 279) this6->__unsafe_set(1,val5);
+ }
+HXLINE( 280) this->state->__unsafe_set(3,t);
+HXLINE( 281) {
+HXLINE( 282) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,0)) ),dst,dstIndex);
+HXDLIN( 282) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,1)) ),dst,(dstIndex + 4));
+HXDLIN( 282) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,2)) ),dst,(dstIndex + 8));
+HXDLIN( 282) this->int32ToBytes(( (int)(_hx_array_unsafe_get(this->state,3)) ),dst,(dstIndex + 12));
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC4(Aes_obj,decryptBlock,(void))
+
+void Aes_obj::generateBlock(::Array< int > keySchedule,::Array< int > SUB_MIX_0,::Array< int > SUB_MIX_1,::Array< int > SUB_MIX_2,::Array< int > SUB_MIX_3,::Array< int > SBOX){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_287_generateBlock)
+HXLINE( 288) int state0 = ( (int)(_hx_array_unsafe_get(this->state,0)) );
+HXDLIN( 288) int state01 = (state0 ^ ( (int)(_hx_array_unsafe_get(keySchedule,0)) ));
+HXLINE( 289) int state1 = ( (int)(_hx_array_unsafe_get(this->state,1)) );
+HXDLIN( 289) int state11 = (state1 ^ ( (int)(_hx_array_unsafe_get(keySchedule,1)) ));
+HXLINE( 290) int state2 = ( (int)(_hx_array_unsafe_get(this->state,2)) );
+HXDLIN( 290) int state21 = (state2 ^ ( (int)(_hx_array_unsafe_get(keySchedule,2)) ));
+HXLINE( 291) int state3 = ( (int)(_hx_array_unsafe_get(this->state,3)) );
+HXDLIN( 291) int state31 = (state3 ^ ( (int)(_hx_array_unsafe_get(keySchedule,3)) ));
+HXLINE( 293) int ksRow = 4;
+HXLINE( 294) int tmp0;
+HXLINE( 295) int tmp1;
+HXLINE( 296) int tmp2;
+HXLINE( 297) int tmp3;
+HXLINE( 299) {
+HXLINE( 299) int _g = 1;
+HXDLIN( 299) int _g1 = this->Nr;
+HXDLIN( 299) while((_g < _g1)){
+HXLINE( 299) _g = (_g + 1);
+HXLINE( 300) int tmp01 = ( (int)(_hx_array_unsafe_get(SUB_MIX_0,::hx::UShr(state01,24))) );
+HXDLIN( 300) int tmp02 = (tmp01 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_1,(::hx::UShr(state11,16) & 255))) ));
+HXDLIN( 300) int tmp03 = (tmp02 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_2,(::hx::UShr(state21,8) & 255))) ));
+HXDLIN( 300) int tmp04 = (tmp03 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_3,(state31 & 255))) ));
+HXDLIN( 300) ksRow = (ksRow + 1);
+HXDLIN( 300) tmp0 = (tmp04 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 301) int tmp11 = ( (int)(_hx_array_unsafe_get(SUB_MIX_0,::hx::UShr(state11,24))) );
+HXDLIN( 301) int tmp12 = (tmp11 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_1,(::hx::UShr(state21,16) & 255))) ));
+HXDLIN( 301) int tmp13 = (tmp12 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_2,(::hx::UShr(state31,8) & 255))) ));
+HXDLIN( 301) int tmp14 = (tmp13 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_3,(state01 & 255))) ));
+HXDLIN( 301) ksRow = (ksRow + 1);
+HXDLIN( 301) tmp1 = (tmp14 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 302) int tmp21 = ( (int)(_hx_array_unsafe_get(SUB_MIX_0,::hx::UShr(state21,24))) );
+HXDLIN( 302) int tmp22 = (tmp21 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_1,(::hx::UShr(state31,16) & 255))) ));
+HXDLIN( 302) int tmp23 = (tmp22 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_2,(::hx::UShr(state01,8) & 255))) ));
+HXDLIN( 302) int tmp24 = (tmp23 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_3,(state11 & 255))) ));
+HXDLIN( 302) ksRow = (ksRow + 1);
+HXDLIN( 302) tmp2 = (tmp24 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 303) int tmp31 = ( (int)(_hx_array_unsafe_get(SUB_MIX_0,::hx::UShr(state31,24))) );
+HXDLIN( 303) int tmp32 = (tmp31 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_1,(::hx::UShr(state01,16) & 255))) ));
+HXDLIN( 303) int tmp33 = (tmp32 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_2,(::hx::UShr(state11,8) & 255))) ));
+HXDLIN( 303) int tmp34 = (tmp33 ^ ( (int)(_hx_array_unsafe_get(SUB_MIX_3,(state21 & 255))) ));
+HXDLIN( 303) ksRow = (ksRow + 1);
+HXDLIN( 303) tmp3 = (tmp34 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 305) state01 = tmp0;
+HXLINE( 306) state11 = tmp1;
+HXLINE( 307) state21 = tmp2;
+HXLINE( 308) state31 = tmp3;
+ }
+ }
+HXLINE( 311) int tmp05 = (( (int)(_hx_array_unsafe_get(SBOX,::hx::UShr(state01,24))) ) << 24);
+HXDLIN( 311) int tmp06 = (tmp05 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state11,16) & 255))) ) << 16));
+HXDLIN( 311) int tmp07 = (tmp06 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state21,8) & 255))) ) << 8));
+HXDLIN( 311) int tmp08 = (tmp07 | ( (int)(_hx_array_unsafe_get(SBOX,(state31 & 255))) ));
+HXDLIN( 311) ksRow = (ksRow + 1);
+HXDLIN( 311) tmp0 = (tmp08 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 312) int tmp15 = (( (int)(_hx_array_unsafe_get(SBOX,::hx::UShr(state11,24))) ) << 24);
+HXDLIN( 312) int tmp16 = (tmp15 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state21,16) & 255))) ) << 16));
+HXDLIN( 312) int tmp17 = (tmp16 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state31,8) & 255))) ) << 8));
+HXDLIN( 312) int tmp18 = (tmp17 | ( (int)(_hx_array_unsafe_get(SBOX,(state01 & 255))) ));
+HXDLIN( 312) ksRow = (ksRow + 1);
+HXDLIN( 312) tmp1 = (tmp18 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 313) int tmp25 = (( (int)(_hx_array_unsafe_get(SBOX,::hx::UShr(state21,24))) ) << 24);
+HXDLIN( 313) int tmp26 = (tmp25 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state31,16) & 255))) ) << 16));
+HXDLIN( 313) int tmp27 = (tmp26 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state01,8) & 255))) ) << 8));
+HXDLIN( 313) int tmp28 = (tmp27 | ( (int)(_hx_array_unsafe_get(SBOX,(state11 & 255))) ));
+HXDLIN( 313) ksRow = (ksRow + 1);
+HXDLIN( 313) tmp2 = (tmp28 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 314) int tmp35 = (( (int)(_hx_array_unsafe_get(SBOX,::hx::UShr(state31,24))) ) << 24);
+HXDLIN( 314) int tmp36 = (tmp35 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state01,16) & 255))) ) << 16));
+HXDLIN( 314) int tmp37 = (tmp36 | (( (int)(_hx_array_unsafe_get(SBOX,(::hx::UShr(state11,8) & 255))) ) << 8));
+HXDLIN( 314) int tmp38 = (tmp37 | ( (int)(_hx_array_unsafe_get(SBOX,(state21 & 255))) ));
+HXDLIN( 314) ksRow = (ksRow + 1);
+HXDLIN( 314) tmp3 = (tmp38 ^ ( (int)(_hx_array_unsafe_get(keySchedule,(ksRow - 1))) ));
+HXLINE( 316) this->state->__unsafe_set(0,tmp0);
+HXLINE( 317) this->state->__unsafe_set(1,tmp1);
+HXLINE( 318) this->state->__unsafe_set(2,tmp2);
+HXLINE( 319) this->state->__unsafe_set(3,tmp3);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC6(Aes_obj,generateBlock,(void))
+
+int Aes_obj::bytesToInt32( ::haxe::io::Bytes bs,int off){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_322_bytesToInt32)
+HXLINE( 323) int n = ((( (int)(bs->b->__get(off)) ) & 255) << 24);
+HXLINE( 324) off = (off + 1);
+HXDLIN( 324) n = (n | ((( (int)(bs->b->__get(off)) ) & 255) << 16));
+HXLINE( 325) off = (off + 1);
+HXDLIN( 325) n = (n | ((( (int)(bs->b->__get(off)) ) & 255) << 8));
+HXLINE( 326) off = (off + 1);
+HXDLIN( 326) n = (n | (( (int)(bs->b->__get(off)) ) & 255));
+HXLINE( 327) return n;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC2(Aes_obj,bytesToInt32,return )
+
+void Aes_obj::int32ToBytes(int n, ::haxe::io::Bytes bs,int off){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_330_int32ToBytes)
+HXLINE( 331) bs->b[off] = ( (unsigned char)((n >> 24)) );
+HXLINE( 332) {
+HXLINE( 332) off = (off + 1);
+HXDLIN( 332) bs->b[off] = ( (unsigned char)((n >> 16)) );
+ }
+HXLINE( 333) {
+HXLINE( 333) off = (off + 1);
+HXDLIN( 333) bs->b[off] = ( (unsigned char)((n >> 8)) );
+ }
+HXLINE( 334) {
+HXLINE( 334) off = (off + 1);
+HXDLIN( 334) bs->b[off] = ( (unsigned char)(n) );
+ }
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC3(Aes_obj,int32ToBytes,(void))
+
+::Array< int > Aes_obj::SBOX;
+
+::Array< int > Aes_obj::RSBOX;
+
+::Array< int > Aes_obj::SUB_BYTES_MIX_COLUMN_0;
+
+::Array< int > Aes_obj::SUB_BYTES_MIX_COLUMN_1;
+
+::Array< int > Aes_obj::SUB_BYTES_MIX_COLUMN_2;
+
+::Array< int > Aes_obj::SUB_BYTES_MIX_COLUMN_3;
+
+::Array< int > Aes_obj::RSUB_BYTES_MIX_COLUMN_0;
+
+::Array< int > Aes_obj::RSUB_BYTES_MIX_COLUMN_1;
+
+::Array< int > Aes_obj::RSUB_BYTES_MIX_COLUMN_2;
+
+::Array< int > Aes_obj::RSUB_BYTES_MIX_COLUMN_3;
+
+::Array< int > Aes_obj::RCON;
+
+void Aes_obj::initTable(){
+ HX_STACKFRAME(&_hx_pos_896031c90f9f6860_57_initTable)
+HXLINE( 58) ::haxe::crypto::Aes_obj::SBOX = ::Array_obj< int >::__new(256);
+HXLINE( 59) ::haxe::crypto::Aes_obj::RSBOX = ::Array_obj< int >::__new(256);
+HXLINE( 60) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_0 = ::Array_obj< int >::__new(256);
+HXLINE( 61) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_1 = ::Array_obj< int >::__new(256);
+HXLINE( 62) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_2 = ::Array_obj< int >::__new(256);
+HXLINE( 63) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_3 = ::Array_obj< int >::__new(256);
+HXLINE( 64) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_0 = ::Array_obj< int >::__new(256);
+HXLINE( 65) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_1 = ::Array_obj< int >::__new(256);
+HXLINE( 66) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_2 = ::Array_obj< int >::__new(256);
+HXLINE( 67) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_3 = ::Array_obj< int >::__new(256);
+HXLINE( 68) ::haxe::crypto::Aes_obj::RCON = ::Array_obj< int >::__new(11);
+HXLINE( 69) ::Array< int > d = ::Array_obj< int >::__new(256);
+HXLINE( 70) {
+HXLINE( 70) int _g = 0;
+HXDLIN( 70) while((_g < 256)){
+HXLINE( 70) _g = (_g + 1);
+HXDLIN( 70) int i = (_g - 1);
+HXLINE( 71) if ((i < 128)) {
+HXLINE( 72) d->__unsafe_set(i,(i << 1));
+ }
+ else {
+HXLINE( 74) d->__unsafe_set(i,((i << 1) ^ 283));
+ }
+ }
+ }
+HXLINE( 77) int x = 0;
+HXLINE( 78) int xi = 0;
+HXLINE( 79) {
+HXLINE( 79) int _g1 = 0;
+HXDLIN( 79) while((_g1 < 256)){
+HXLINE( 79) _g1 = (_g1 + 1);
+HXLINE( 80) int sx = ((((xi ^ (xi << 1)) ^ (xi << 2)) ^ (xi << 3)) ^ (xi << 4));
+HXLINE( 81) sx = ((::hx::UShr(sx,8) ^ (sx & 255)) ^ 99);
+HXLINE( 82) ::haxe::crypto::Aes_obj::SBOX->__unsafe_set(x,sx);
+HXLINE( 83) ::haxe::crypto::Aes_obj::RSBOX->__unsafe_set(sx,x);
+HXLINE( 85) int x2 = ( (int)(_hx_array_unsafe_get(d,x)) );
+HXLINE( 86) int x4 = ( (int)(_hx_array_unsafe_get(d,x2)) );
+HXLINE( 87) int x8 = ( (int)(_hx_array_unsafe_get(d,x4)) );
+HXLINE( 89) int t = ((( (int)(_hx_array_unsafe_get(d,sx)) ) * 257) ^ (sx * 16843008));
+HXLINE( 90) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_0->__unsafe_set(x,((t << 24) | ::hx::UShr(t,8)));
+HXLINE( 91) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_1->__unsafe_set(x,((t << 16) | ::hx::UShr(t,16)));
+HXLINE( 92) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_2->__unsafe_set(x,((t << 8) | ::hx::UShr(t,24)));
+HXLINE( 93) ::haxe::crypto::Aes_obj::SUB_BYTES_MIX_COLUMN_3->__unsafe_set(x,t);
+HXLINE( 95) t = ((((x8 * 16843009) ^ (x4 * 65537)) ^ (x2 * 257)) ^ (x * 16843008));
+HXLINE( 96) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_0->__unsafe_set(sx,((t << 24) | ::hx::UShr(t,8)));
+HXLINE( 97) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_1->__unsafe_set(sx,((t << 16) | ::hx::UShr(t,16)));
+HXLINE( 98) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_2->__unsafe_set(sx,((t << 8) | ::hx::UShr(t,24)));
+HXLINE( 99) ::haxe::crypto::Aes_obj::RSUB_BYTES_MIX_COLUMN_3->__unsafe_set(sx,t);
+HXLINE( 100) if ((x == 0)) {
+HXLINE( 101) xi = 1;
+HXDLIN( 101) x = 1;
+ }
+ else {
+HXLINE( 103) x = (x2 ^ ( (int)(_hx_array_unsafe_get(d,( (int)(_hx_array_unsafe_get(d,( (int)(_hx_array_unsafe_get(d,(x8 ^ x2))) ))) ))) ));
+HXLINE( 104) xi = (xi ^ ( (int)(_hx_array_unsafe_get(d,( (int)(_hx_array_unsafe_get(d,xi)) ))) ));
+ }
+ }
+ }
+HXLINE( 107) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(0,0);
+HXLINE( 108) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(1,1);
+HXLINE( 109) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(2,2);
+HXLINE( 110) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(3,4);
+HXLINE( 111) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(4,8);
+HXLINE( 112) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(5,16);
+HXLINE( 113) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(6,32);
+HXLINE( 114) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(7,64);
+HXLINE( 115) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(8,128);
+HXLINE( 116) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(9,27);
+HXLINE( 117) ::haxe::crypto::Aes_obj::RCON->__unsafe_set(10,54);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC0(Aes_obj,initTable,(void))
+
+
+::hx::ObjectPtr< Aes_obj > Aes_obj::__new( ::haxe::io::Bytes key, ::haxe::io::Bytes iv) {
+ ::hx::ObjectPtr< Aes_obj > __this = new Aes_obj();
+ __this->__construct(key,iv);
+ return __this;
+}
+
+::hx::ObjectPtr< Aes_obj > Aes_obj::__alloc(::hx::Ctx *_hx_ctx, ::haxe::io::Bytes key, ::haxe::io::Bytes iv) {
+ Aes_obj *__this = (Aes_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(Aes_obj), true, "haxe.crypto.Aes"));
+ *(void **)__this = Aes_obj::_hx_vtable;
+ __this->__construct(key,iv);
+ return __this;
+}
+
+Aes_obj::Aes_obj()
+{
+}
+
+void Aes_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(Aes);
+ HX_MARK_MEMBER_NAME(Nk,"Nk");
+ HX_MARK_MEMBER_NAME(Nr,"Nr");
+ HX_MARK_MEMBER_NAME(roundKey,"roundKey");
+ HX_MARK_MEMBER_NAME(rRoundKey,"rRoundKey");
+ HX_MARK_MEMBER_NAME(keyRows,"keyRows");
+ HX_MARK_MEMBER_NAME(state,"state");
+ HX_MARK_MEMBER_NAME(key,"key");
+ HX_MARK_MEMBER_NAME(iv,"iv");
+ HX_MARK_END_CLASS();
+}
+
+void Aes_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(Nk,"Nk");
+ HX_VISIT_MEMBER_NAME(Nr,"Nr");
+ HX_VISIT_MEMBER_NAME(roundKey,"roundKey");
+ HX_VISIT_MEMBER_NAME(rRoundKey,"rRoundKey");
+ HX_VISIT_MEMBER_NAME(keyRows,"keyRows");
+ HX_VISIT_MEMBER_NAME(state,"state");
+ HX_VISIT_MEMBER_NAME(key,"key");
+ HX_VISIT_MEMBER_NAME(iv,"iv");
+}
+
+::hx::Val Aes_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"Nk") ) { return ::hx::Val( Nk ); }
+ if (HX_FIELD_EQ(inName,"Nr") ) { return ::hx::Val( Nr ); }
+ if (HX_FIELD_EQ(inName,"iv") ) { return ::hx::Val( iv ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"key") ) { return ::hx::Val( key ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"init") ) { return ::hx::Val( init_dyn() ); }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"state") ) { return ::hx::Val( state ); }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"set_iv") ) { return ::hx::Val( set_iv_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"keyRows") ) { return ::hx::Val( keyRows ); }
+ if (HX_FIELD_EQ(inName,"encrypt") ) { return ::hx::Val( encrypt_dyn() ); }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { return ::hx::Val( decrypt_dyn() ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"roundKey") ) { return ::hx::Val( roundKey ); }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"rRoundKey") ) { return ::hx::Val( rRoundKey ); }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"keyExpansion") ) { return ::hx::Val( keyExpansion_dyn() ); }
+ if (HX_FIELD_EQ(inName,"encryptBlock") ) { return ::hx::Val( encryptBlock_dyn() ); }
+ if (HX_FIELD_EQ(inName,"decryptBlock") ) { return ::hx::Val( decryptBlock_dyn() ); }
+ if (HX_FIELD_EQ(inName,"bytesToInt32") ) { return ::hx::Val( bytesToInt32_dyn() ); }
+ if (HX_FIELD_EQ(inName,"int32ToBytes") ) { return ::hx::Val( int32ToBytes_dyn() ); }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"generateBlock") ) { return ::hx::Val( generateBlock_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool Aes_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"SBOX") ) { outValue = ( SBOX ); return true; }
+ if (HX_FIELD_EQ(inName,"RCON") ) { outValue = ( RCON ); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"RSBOX") ) { outValue = ( RSBOX ); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"initTable") ) { outValue = initTable_dyn(); return true; }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_0") ) { outValue = ( SUB_BYTES_MIX_COLUMN_0 ); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_1") ) { outValue = ( SUB_BYTES_MIX_COLUMN_1 ); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_2") ) { outValue = ( SUB_BYTES_MIX_COLUMN_2 ); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_3") ) { outValue = ( SUB_BYTES_MIX_COLUMN_3 ); return true; }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_0") ) { outValue = ( RSUB_BYTES_MIX_COLUMN_0 ); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_1") ) { outValue = ( RSUB_BYTES_MIX_COLUMN_1 ); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_2") ) { outValue = ( RSUB_BYTES_MIX_COLUMN_2 ); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_3") ) { outValue = ( RSUB_BYTES_MIX_COLUMN_3 ); return true; }
+ }
+ return false;
+}
+
+::hx::Val Aes_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 2:
+ if (HX_FIELD_EQ(inName,"Nk") ) { Nk=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"Nr") ) { Nr=inValue.Cast< int >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"iv") ) { if (inCallProp == ::hx::paccAlways) return ::hx::Val( set_iv(inValue.Cast< ::haxe::io::Bytes >()) );iv=inValue.Cast< ::haxe::io::Bytes >(); return inValue; }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"key") ) { key=inValue.Cast< ::haxe::io::Bytes >(); return inValue; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"state") ) { state=inValue.Cast< ::Array< int > >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"keyRows") ) { keyRows=inValue.Cast< int >(); return inValue; }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"roundKey") ) { roundKey=inValue.Cast< ::Array< int > >(); return inValue; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"rRoundKey") ) { rRoundKey=inValue.Cast< ::Array< int > >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+bool Aes_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"SBOX") ) { SBOX=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"RCON") ) { RCON=ioValue.Cast< ::Array< int > >(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"RSBOX") ) { RSBOX=ioValue.Cast< ::Array< int > >(); return true; }
+ break;
+ case 22:
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_0") ) { SUB_BYTES_MIX_COLUMN_0=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_1") ) { SUB_BYTES_MIX_COLUMN_1=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_2") ) { SUB_BYTES_MIX_COLUMN_2=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"SUB_BYTES_MIX_COLUMN_3") ) { SUB_BYTES_MIX_COLUMN_3=ioValue.Cast< ::Array< int > >(); return true; }
+ break;
+ case 23:
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_0") ) { RSUB_BYTES_MIX_COLUMN_0=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_1") ) { RSUB_BYTES_MIX_COLUMN_1=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_2") ) { RSUB_BYTES_MIX_COLUMN_2=ioValue.Cast< ::Array< int > >(); return true; }
+ if (HX_FIELD_EQ(inName,"RSUB_BYTES_MIX_COLUMN_3") ) { RSUB_BYTES_MIX_COLUMN_3=ioValue.Cast< ::Array< int > >(); return true; }
+ }
+ return false;
+}
+
+void Aes_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("Nk",5d,44,00,00));
+ outFields->push(HX_("Nr",64,44,00,00));
+ outFields->push(HX_("roundKey",f1,ed,6c,e0));
+ outFields->push(HX_("rRoundKey",83,6c,9f,a9));
+ outFields->push(HX_("keyRows",58,66,88,a5));
+ outFields->push(HX_("state",11,76,0b,84));
+ outFields->push(HX_("key",9f,89,51,00));
+ outFields->push(HX_("iv",ed,5b,00,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo Aes_obj_sMemberStorageInfo[] = {
+ {::hx::fsInt,(int)offsetof(Aes_obj,Nk),HX_("Nk",5d,44,00,00)},
+ {::hx::fsInt,(int)offsetof(Aes_obj,Nr),HX_("Nr",64,44,00,00)},
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Aes_obj,roundKey),HX_("roundKey",f1,ed,6c,e0)},
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Aes_obj,rRoundKey),HX_("rRoundKey",83,6c,9f,a9)},
+ {::hx::fsInt,(int)offsetof(Aes_obj,keyRows),HX_("keyRows",58,66,88,a5)},
+ {::hx::fsObject /* ::Array< int > */ ,(int)offsetof(Aes_obj,state),HX_("state",11,76,0b,84)},
+ {::hx::fsObject /* ::haxe::io::Bytes */ ,(int)offsetof(Aes_obj,key),HX_("key",9f,89,51,00)},
+ {::hx::fsObject /* ::haxe::io::Bytes */ ,(int)offsetof(Aes_obj,iv),HX_("iv",ed,5b,00,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo Aes_obj_sStaticStorageInfo[] = {
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::SBOX,HX_("SBOX",78,0f,0f,37)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RSBOX,HX_("RSBOX",ca,a0,ea,6d)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::SUB_BYTES_MIX_COLUMN_0,HX_("SUB_BYTES_MIX_COLUMN_0",1d,c4,b2,ed)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::SUB_BYTES_MIX_COLUMN_1,HX_("SUB_BYTES_MIX_COLUMN_1",1e,c4,b2,ed)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::SUB_BYTES_MIX_COLUMN_2,HX_("SUB_BYTES_MIX_COLUMN_2",1f,c4,b2,ed)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::SUB_BYTES_MIX_COLUMN_3,HX_("SUB_BYTES_MIX_COLUMN_3",20,c4,b2,ed)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RSUB_BYTES_MIX_COLUMN_0,HX_("RSUB_BYTES_MIX_COLUMN_0",ef,11,f7,fd)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RSUB_BYTES_MIX_COLUMN_1,HX_("RSUB_BYTES_MIX_COLUMN_1",f0,11,f7,fd)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RSUB_BYTES_MIX_COLUMN_2,HX_("RSUB_BYTES_MIX_COLUMN_2",f1,11,f7,fd)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RSUB_BYTES_MIX_COLUMN_3,HX_("RSUB_BYTES_MIX_COLUMN_3",f2,11,f7,fd)},
+ {::hx::fsObject /* ::Array< int > */ ,(void *) &Aes_obj::RCON,HX_("RCON",10,9b,66,36)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static ::String Aes_obj_sMemberFields[] = {
+ HX_("Nk",5d,44,00,00),
+ HX_("Nr",64,44,00,00),
+ HX_("roundKey",f1,ed,6c,e0),
+ HX_("rRoundKey",83,6c,9f,a9),
+ HX_("keyRows",58,66,88,a5),
+ HX_("state",11,76,0b,84),
+ HX_("key",9f,89,51,00),
+ HX_("iv",ed,5b,00,00),
+ HX_("set_iv",aa,47,78,6f),
+ HX_("init",10,3b,bb,45),
+ HX_("keyExpansion",60,f1,15,7d),
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("encryptBlock",a8,18,31,80),
+ HX_("decryptBlock",c0,e5,9f,b6),
+ HX_("generateBlock",d8,45,79,5b),
+ HX_("bytesToInt32",a8,b2,04,79),
+ HX_("int32ToBytes",42,0f,34,02),
+ ::String(null()) };
+
+static void Aes_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(Aes_obj::SBOX,"SBOX");
+ HX_MARK_MEMBER_NAME(Aes_obj::RSBOX,"RSBOX");
+ HX_MARK_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_0,"SUB_BYTES_MIX_COLUMN_0");
+ HX_MARK_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_1,"SUB_BYTES_MIX_COLUMN_1");
+ HX_MARK_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_2,"SUB_BYTES_MIX_COLUMN_2");
+ HX_MARK_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_3,"SUB_BYTES_MIX_COLUMN_3");
+ HX_MARK_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_0,"RSUB_BYTES_MIX_COLUMN_0");
+ HX_MARK_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_1,"RSUB_BYTES_MIX_COLUMN_1");
+ HX_MARK_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_2,"RSUB_BYTES_MIX_COLUMN_2");
+ HX_MARK_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_3,"RSUB_BYTES_MIX_COLUMN_3");
+ HX_MARK_MEMBER_NAME(Aes_obj::RCON,"RCON");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void Aes_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(Aes_obj::SBOX,"SBOX");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RSBOX,"RSBOX");
+ HX_VISIT_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_0,"SUB_BYTES_MIX_COLUMN_0");
+ HX_VISIT_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_1,"SUB_BYTES_MIX_COLUMN_1");
+ HX_VISIT_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_2,"SUB_BYTES_MIX_COLUMN_2");
+ HX_VISIT_MEMBER_NAME(Aes_obj::SUB_BYTES_MIX_COLUMN_3,"SUB_BYTES_MIX_COLUMN_3");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_0,"RSUB_BYTES_MIX_COLUMN_0");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_1,"RSUB_BYTES_MIX_COLUMN_1");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_2,"RSUB_BYTES_MIX_COLUMN_2");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RSUB_BYTES_MIX_COLUMN_3,"RSUB_BYTES_MIX_COLUMN_3");
+ HX_VISIT_MEMBER_NAME(Aes_obj::RCON,"RCON");
+};
+
+#endif
+
+::hx::Class Aes_obj::__mClass;
+
+static ::String Aes_obj_sStaticFields[] = {
+ HX_("SBOX",78,0f,0f,37),
+ HX_("RSBOX",ca,a0,ea,6d),
+ HX_("SUB_BYTES_MIX_COLUMN_0",1d,c4,b2,ed),
+ HX_("SUB_BYTES_MIX_COLUMN_1",1e,c4,b2,ed),
+ HX_("SUB_BYTES_MIX_COLUMN_2",1f,c4,b2,ed),
+ HX_("SUB_BYTES_MIX_COLUMN_3",20,c4,b2,ed),
+ HX_("RSUB_BYTES_MIX_COLUMN_0",ef,11,f7,fd),
+ HX_("RSUB_BYTES_MIX_COLUMN_1",f0,11,f7,fd),
+ HX_("RSUB_BYTES_MIX_COLUMN_2",f1,11,f7,fd),
+ HX_("RSUB_BYTES_MIX_COLUMN_3",f2,11,f7,fd),
+ HX_("RCON",10,9b,66,36),
+ HX_("initTable",de,d2,75,26),
+ ::String(null())
+};
+
+void Aes_obj::__register()
+{
+ Aes_obj _hx_dummy;
+ Aes_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.Aes",8a,94,a0,04);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Aes_obj::__GetStatic;
+ __mClass->mSetStaticField = &Aes_obj::__SetStatic;
+ __mClass->mMarkFunc = Aes_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Aes_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(Aes_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< Aes_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = Aes_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Aes_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Aes_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/CBC.cpp b/Sources/c_borogove/src/haxe/crypto/mode/CBC.cpp
new file mode 100644
index 0000000..7d1fa33
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/CBC.cpp
@@ -0,0 +1,146 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CBC
+#include <haxe/crypto/mode/CBC.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_5ab5ceac4d957549_6_encrypt,"haxe.crypto.mode.CBC","encrypt",0x318ff4b5,"haxe.crypto.mode.CBC.encrypt","haxe/crypto/mode/CBC.hx",6,0xa9617f61)
+HX_LOCAL_STACK_FRAME(_hx_pos_5ab5ceac4d957549_22_decrypt,"haxe.crypto.mode.CBC","decrypt",0x6ec43e9d,"haxe.crypto.mode.CBC.decrypt","haxe/crypto/mode/CBC.hx",22,0xa9617f61)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void CBC_obj::__construct() { }
+
+Dynamic CBC_obj::__CreateEmpty() { return new CBC_obj; }
+
+void *CBC_obj::_hx_vtable = 0;
+
+Dynamic CBC_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CBC_obj > _hx_result = new CBC_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool CBC_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1013da96;
+}
+
+void CBC_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_5ab5ceac4d957549_6_encrypt)
+HXLINE( 7) ::Array< unsigned char > vector = iv->b;
+HXLINE( 8) int i = 0;
+HXLINE( 9) int len = src->length;
+HXLINE( 10) int ivpos = 0;
+HXLINE( 11) while((i < len)){
+HXLINE( 12) {
+HXLINE( 12) int _g = 0;
+HXDLIN( 12) while((_g < blockSize)){
+HXLINE( 12) _g = (_g + 1);
+HXDLIN( 12) int j = (_g - 1);
+HXLINE( 13) {
+HXLINE( 13) int src1 = ( (int)(src->b->__get((i + j))) );
+HXDLIN( 13) int v = (src1 ^ ( (int)(_hx_array_unsafe_get(vector,(ivpos + j))) ));
+HXDLIN( 13) src->b[(i + j)] = ( (unsigned char)(v) );
+ }
+ }
+ }
+HXLINE( 15) encryptBlock(src,i,src,i);
+HXLINE( 16) ivpos = i;
+HXLINE( 17) vector = src->b;
+HXLINE( 18) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CBC_obj,encrypt,(void))
+
+void CBC_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_5ab5ceac4d957549_22_decrypt)
+HXLINE( 23) int vpos = (src->length - blockSize);
+HXLINE( 24) int i = src->length;
+HXLINE( 25) while((i > 0)){
+HXLINE( 26) i = (i - blockSize);
+HXLINE( 27) vpos = (vpos - blockSize);
+HXLINE( 29) decryptBlock(src,i,src,i);
+HXLINE( 30) if ((vpos < 0)) {
+HXLINE( 31) int _g = 0;
+HXDLIN( 31) while((_g < blockSize)){
+HXLINE( 31) _g = (_g + 1);
+HXDLIN( 31) int j = (_g - 1);
+HXLINE( 32) src->b[j] = ( (unsigned char)((( (int)(src->b->__get(j)) ) ^ ( (int)(iv->b->__get(j)) ))) );
+ }
+ }
+ else {
+HXLINE( 34) int _g1 = 0;
+HXDLIN( 34) while((_g1 < blockSize)){
+HXLINE( 34) _g1 = (_g1 + 1);
+HXDLIN( 34) int j1 = (_g1 - 1);
+HXLINE( 35) src->b[(i + j1)] = ( (unsigned char)((( (int)(src->b->__get((i + j1))) ) ^ ( (int)(src->b->__get((vpos + j1))) ))) );
+ }
+ }
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CBC_obj,decrypt,(void))
+
+
+CBC_obj::CBC_obj()
+{
+}
+
+bool CBC_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *CBC_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *CBC_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class CBC_obj::__mClass;
+
+static ::String CBC_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void CBC_obj::__register()
+{
+ CBC_obj _hx_dummy;
+ CBC_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.CBC",be,06,42,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &CBC_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CBC_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< CBC_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CBC_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CBC_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/CCM.cpp b/Sources/c_borogove/src/haxe/crypto/mode/CCM.cpp
new file mode 100644
index 0000000..99c32a7
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/CCM.cpp
@@ -0,0 +1,446 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CCM
+#include <haxe/crypto/mode/CCM.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_16_encrypt,"haxe.crypto.mode.CCM","encrypt",0x2f48869e,"haxe.crypto.mode.CCM.encrypt","haxe/crypto/mode/CCM.hx",16,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_67_decrypt,"haxe.crypto.mode.CCM","decrypt",0x6c7cd086,"haxe.crypto.mode.CCM.decrypt","haxe/crypto/mode/CCM.hx",67,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_118_createAuthBlocks,"haxe.crypto.mode.CCM","createAuthBlocks",0xecd326d1,"haxe.crypto.mode.CCM.createAuthBlocks","haxe/crypto/mode/CCM.hx",118,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_159_computeCBCMac,"haxe.crypto.mode.CCM","computeCBCMac",0x1a2bb7db,"haxe.crypto.mode.CCM.computeCBCMac","haxe/crypto/mode/CCM.hx",159,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_177_formatAuthData,"haxe.crypto.mode.CCM","formatAuthData",0x2e3f70f0,"haxe.crypto.mode.CCM.formatAuthData","haxe/crypto/mode/CCM.hx",177,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_219_encryptCTR,"haxe.crypto.mode.CCM","encryptCTR",0x88f210a3,"haxe.crypto.mode.CCM.encryptCTR","haxe/crypto/mode/CCM.hx",219,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_264_encryptTag,"haxe.crypto.mode.CCM","encryptTag",0x88ff025c,"haxe.crypto.mode.CCM.encryptTag","haxe/crypto/mode/CCM.hx",264,0x43643618)
+HX_LOCAL_STACK_FRAME(_hx_pos_074f7a4fc05ced9a_283_constantTimeCompare,"haxe.crypto.mode.CCM","constantTimeCompare",0xead502cd,"haxe.crypto.mode.CCM.constantTimeCompare","haxe/crypto/mode/CCM.hx",283,0x43643618)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void CCM_obj::__construct() { }
+
+Dynamic CCM_obj::__CreateEmpty() { return new CCM_obj; }
+
+void *CCM_obj::_hx_vtable = 0;
+
+Dynamic CCM_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CCM_obj > _hx_result = new CCM_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool CCM_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1013db7f;
+}
+
+ ::haxe::io::Bytes CCM_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes nonce, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_16_encrypt)
+HXLINE( 17) bool _hx_tmp;
+HXDLIN( 17) if ((nonce->length >= 7)) {
+HXLINE( 17) _hx_tmp = (nonce->length > 13);
+ }
+ else {
+HXLINE( 17) _hx_tmp = true;
+ }
+HXDLIN( 17) if (_hx_tmp) {
+HXLINE( 18) HX_STACK_DO_THROW(HX_("Nonce length must be between 7 and 13 bytes",c6,a7,af,d5));
+ }
+HXLINE( 21) bool _hx_tmp1;
+HXDLIN( 21) bool _hx_tmp2;
+HXDLIN( 21) if ((tagLen >= 4)) {
+HXLINE( 21) _hx_tmp2 = (tagLen > 16);
+ }
+ else {
+HXLINE( 21) _hx_tmp2 = true;
+ }
+HXDLIN( 21) if (!(_hx_tmp2)) {
+HXLINE( 21) _hx_tmp1 = ((tagLen & 1) != 0);
+ }
+ else {
+HXLINE( 21) _hx_tmp1 = true;
+ }
+HXDLIN( 21) if (_hx_tmp1) {
+HXLINE( 22) HX_STACK_DO_THROW(HX_("Tag length must be even and between 4 and 16 bytes",d2,8e,14,c9));
+ }
+HXLINE( 29) int flags;
+HXDLIN( 29) if ((aad->length > 0)) {
+HXLINE( 29) flags = 64;
+ }
+ else {
+HXLINE( 29) flags = 0;
+ }
+HXDLIN( 29) int flags1 = ((flags | (((tagLen - 2) >> 1) << 3)) | ((15 - nonce->length) - 1));
+HXLINE( 31) ::haxe::io::Bytes B0 = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 32) B0->b[0] = ( (unsigned char)(flags1) );
+HXLINE( 33) B0->blit(1,nonce,0,nonce->length);
+HXLINE( 35) int msgLen = src->length;
+HXLINE( 36) int pos = 15;
+HXLINE( 37) while((msgLen > 0)){
+HXLINE( 38) B0->b[pos] = ( (unsigned char)((msgLen & 255)) );
+HXLINE( 39) msgLen = ::hx::UShr(msgLen,8);
+HXLINE( 40) pos = (pos - 1);
+ }
+HXLINE( 44) ::haxe::io::Bytes tag = ::haxe::crypto::mode::CCM_obj::computeCBCMac(::haxe::crypto::mode::CCM_obj::createAuthBlocks(B0,aad,src,blockSize),blockSize,encryptBlock);
+HXLINE( 45) ::haxe::io::Bytes ciphertext = ::haxe::crypto::mode::CCM_obj::encryptCTR(nonce,src,blockSize,encryptBlock);
+HXLINE( 46) ::haxe::io::Bytes encryptedTag = ::haxe::crypto::mode::CCM_obj::encryptTag(nonce,tag,tagLen,blockSize,encryptBlock);
+HXLINE( 48) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc((ciphertext->length + tagLen));
+HXLINE( 49) result->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 50) result->blit(ciphertext->length,encryptedTag,0,tagLen);
+HXLINE( 52) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(CCM_obj,encrypt,return )
+
+ ::haxe::io::Bytes CCM_obj::decrypt( ::haxe::io::Bytes ciphertextWithTag, ::haxe::io::Bytes nonce, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_67_decrypt)
+HXLINE( 68) bool _hx_tmp;
+HXDLIN( 68) if ((nonce->length >= 7)) {
+HXLINE( 68) _hx_tmp = (nonce->length > 13);
+ }
+ else {
+HXLINE( 68) _hx_tmp = true;
+ }
+HXDLIN( 68) if (_hx_tmp) {
+HXLINE( 69) HX_STACK_DO_THROW(HX_("Nonce length must be between 7 and 13 bytes",c6,a7,af,d5));
+ }
+HXLINE( 72) bool _hx_tmp1;
+HXDLIN( 72) bool _hx_tmp2;
+HXDLIN( 72) if ((tagLen >= 4)) {
+HXLINE( 72) _hx_tmp2 = (tagLen > 16);
+ }
+ else {
+HXLINE( 72) _hx_tmp2 = true;
+ }
+HXDLIN( 72) if (!(_hx_tmp2)) {
+HXLINE( 72) _hx_tmp1 = ((tagLen & 1) != 0);
+ }
+ else {
+HXLINE( 72) _hx_tmp1 = true;
+ }
+HXDLIN( 72) if (_hx_tmp1) {
+HXLINE( 73) HX_STACK_DO_THROW(HX_("Tag length must be even and between 4 and 16 bytes",d2,8e,14,c9));
+ }
+HXLINE( 76) if ((ciphertextWithTag->length < tagLen)) {
+HXLINE( 77) HX_STACK_DO_THROW(HX_("Ciphertext too short for specified tag length",4b,c8,55,34));
+ }
+HXLINE( 80) int ciphertextLen = (ciphertextWithTag->length - tagLen);
+HXLINE( 81) ::haxe::io::Bytes src = ciphertextWithTag->sub(0,ciphertextLen);
+HXLINE( 82) ::haxe::io::Bytes providedTag = ciphertextWithTag->sub(ciphertextLen,tagLen);
+HXLINE( 84) ::haxe::io::Bytes plaintext = ::haxe::crypto::mode::CCM_obj::encryptCTR(nonce,src,blockSize,encryptBlock);
+HXLINE( 90) int flags;
+HXDLIN( 90) if ((aad->length > 0)) {
+HXLINE( 90) flags = 64;
+ }
+ else {
+HXLINE( 90) flags = 0;
+ }
+HXDLIN( 90) int flags1 = ((flags | (((tagLen - 2) >> 1) << 3)) | ((15 - nonce->length) - 1));
+HXLINE( 92) ::haxe::io::Bytes B0 = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 93) B0->b[0] = ( (unsigned char)(flags1) );
+HXLINE( 94) B0->blit(1,nonce,0,nonce->length);
+HXLINE( 96) int msgLen = plaintext->length;
+HXLINE( 97) int pos = 15;
+HXLINE( 98) while((msgLen > 0)){
+HXLINE( 99) B0->b[pos] = ( (unsigned char)((msgLen & 255)) );
+HXLINE( 100) msgLen = ::hx::UShr(msgLen,8);
+HXLINE( 101) pos = (pos - 1);
+ }
+HXLINE( 108) if (!(::haxe::crypto::mode::CCM_obj::constantTimeCompare(::haxe::crypto::mode::CCM_obj::encryptTag(nonce,::haxe::crypto::mode::CCM_obj::computeCBCMac(::haxe::crypto::mode::CCM_obj::createAuthBlocks(B0,aad,plaintext,blockSize),blockSize,encryptBlock),tagLen,blockSize,encryptBlock),providedTag))) {
+HXLINE( 109) HX_STACK_DO_THROW(HX_("Authentication failed",45,9b,5d,12));
+ }
+HXLINE( 112) return plaintext;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(CCM_obj,decrypt,return )
+
+::Array< ::Dynamic> CCM_obj::createAuthBlocks( ::haxe::io::Bytes B0, ::haxe::io::Bytes aad, ::haxe::io::Bytes message,int blockSize){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_118_createAuthBlocks)
+HXLINE( 119) ::Array< ::Dynamic> blocks = ::Array_obj< ::Dynamic>::__new();
+HXLINE( 120) blocks->push(B0);
+HXLINE( 122) if ((aad->length > 0)) {
+HXLINE( 123) ::haxe::io::Bytes formattedAAD = ::haxe::crypto::mode::CCM_obj::formatAuthData(aad);
+HXLINE( 124) int pos = 0;
+HXLINE( 125) int remaining = formattedAAD->length;
+HXLINE( 127) while((remaining > 0)){
+HXLINE( 128) ::haxe::io::Bytes block = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 129) int bytesToCopy;
+HXDLIN( 129) if ((remaining < blockSize)) {
+HXLINE( 129) bytesToCopy = remaining;
+ }
+ else {
+HXLINE( 129) bytesToCopy = blockSize;
+ }
+HXLINE( 131) block->blit(0,formattedAAD,pos,bytesToCopy);
+HXLINE( 132) blocks->push(block);
+HXLINE( 133) pos = (pos + blockSize);
+HXLINE( 134) remaining = (remaining - blockSize);
+ }
+ }
+HXLINE( 138) if ((message->length > 0)) {
+HXLINE( 139) int pos1 = 0;
+HXLINE( 140) int remaining1 = message->length;
+HXLINE( 142) while((remaining1 > 0)){
+HXLINE( 143) ::haxe::io::Bytes block1 = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 144) int bytesToCopy1;
+HXDLIN( 144) if ((remaining1 < blockSize)) {
+HXLINE( 144) bytesToCopy1 = remaining1;
+ }
+ else {
+HXLINE( 144) bytesToCopy1 = blockSize;
+ }
+HXLINE( 146) block1->blit(0,message,pos1,bytesToCopy1);
+HXLINE( 147) blocks->push(block1);
+HXLINE( 148) pos1 = (pos1 + blockSize);
+HXLINE( 149) remaining1 = (remaining1 - blockSize);
+ }
+ }
+HXLINE( 153) return blocks;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CCM_obj,createAuthBlocks,return )
+
+ ::haxe::io::Bytes CCM_obj::computeCBCMac(::Array< ::Dynamic> blocks,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_159_computeCBCMac)
+HXLINE( 160) ::haxe::io::Bytes X = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 161) int blocksLen = blocks->length;
+HXLINE( 163) {
+HXLINE( 163) int _g = 0;
+HXDLIN( 163) while((_g < blocksLen)){
+HXLINE( 163) _g = (_g + 1);
+HXLINE( 164) ::haxe::io::Bytes currentBlock = blocks->__get((_g - 1)).StaticCast< ::haxe::io::Bytes >();
+HXLINE( 165) {
+HXLINE( 165) int _g1 = 0;
+HXDLIN( 165) while((_g1 < blockSize)){
+HXLINE( 165) _g1 = (_g1 + 1);
+HXDLIN( 165) int j = (_g1 - 1);
+HXLINE( 166) X->b[j] = ( (unsigned char)((( (int)(X->b->__get(j)) ) ^ ( (int)(currentBlock->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 168) encryptBlock(X,0,X,0);
+ }
+ }
+HXLINE( 171) return X;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(CCM_obj,computeCBCMac,return )
+
+ ::haxe::io::Bytes CCM_obj::formatAuthData( ::haxe::io::Bytes aad){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_177_formatAuthData)
+HXLINE( 178) if ((aad->length == 0)) {
+HXLINE( 179) return ::haxe::io::Bytes_obj::alloc(0);
+ }
+HXLINE( 182) int len = aad->length;
+HXLINE( 183) ::haxe::io::Bytes authData;
+HXLINE( 185) if ((len < 65280)) {
+HXLINE( 186) authData = ::haxe::io::Bytes_obj::alloc((2 + len));
+HXLINE( 187) authData->b[0] = ( (unsigned char)(::hx::UShr(len,8)) );
+HXLINE( 188) authData->b[1] = ( (unsigned char)((len & 255)) );
+HXLINE( 189) authData->blit(2,aad,0,len);
+ }
+ else {
+HXLINE( 190) if ((len <= -1)) {
+HXLINE( 191) authData = ::haxe::io::Bytes_obj::alloc((6 + len));
+HXLINE( 192) authData->b[0] = ( (unsigned char)(255) );
+HXLINE( 193) authData->b[1] = ( (unsigned char)(254) );
+HXLINE( 194) authData->b[2] = ( (unsigned char)(::hx::UShr(len,24)) );
+HXLINE( 195) authData->b[3] = ( (unsigned char)((::hx::UShr(len,16) & 255)) );
+HXLINE( 196) authData->b[4] = ( (unsigned char)((::hx::UShr(len,8) & 255)) );
+HXLINE( 197) authData->b[5] = ( (unsigned char)((len & 255)) );
+HXLINE( 198) authData->blit(6,aad,0,len);
+ }
+ else {
+HXLINE( 200) authData = ::haxe::io::Bytes_obj::alloc((10 + len));
+HXLINE( 201) authData->b[0] = ( (unsigned char)(255) );
+HXLINE( 202) authData->b[1] = ( (unsigned char)(255) );
+HXLINE( 203) authData->b[2] = ( (unsigned char)(0) );
+HXLINE( 204) authData->b[3] = ( (unsigned char)(0) );
+HXLINE( 205) authData->b[4] = ( (unsigned char)(0) );
+HXLINE( 206) authData->b[5] = ( (unsigned char)(0) );
+HXLINE( 207) authData->b[6] = ( (unsigned char)(::hx::UShr(len,24)) );
+HXLINE( 208) authData->b[7] = ( (unsigned char)((::hx::UShr(len,16) & 255)) );
+HXLINE( 209) authData->b[8] = ( (unsigned char)((::hx::UShr(len,8) & 255)) );
+HXLINE( 210) authData->b[9] = ( (unsigned char)((len & 255)) );
+HXLINE( 211) authData->blit(10,aad,0,len);
+ }
+ }
+HXLINE( 213) return authData;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(CCM_obj,formatAuthData,return )
+
+ ::haxe::io::Bytes CCM_obj::encryptCTR( ::haxe::io::Bytes nonce, ::haxe::io::Bytes message,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_219_encryptCTR)
+HXLINE( 220) if ((message->length == 0)) {
+HXLINE( 221) return ::haxe::io::Bytes_obj::alloc(0);
+ }
+HXLINE( 224) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc(message->length);
+HXLINE( 225) ::haxe::io::Bytes counter = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 226) ::haxe::io::Bytes keystream = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 230) counter->b[0] = ( (unsigned char)(((15 - nonce->length) - 1)) );
+HXLINE( 231) counter->blit(1,nonce,0,nonce->length);
+HXLINE( 233) int pos = 0;
+HXLINE( 234) int counterValue = 1;
+HXLINE( 235) int remaining = message->length;
+HXLINE( 237) while((remaining > 0)){
+HXLINE( 238) int tempCounter = counterValue;
+HXLINE( 239) int counterPos = 15;
+HXLINE( 240) while((tempCounter > 0)){
+HXLINE( 241) counter->b[counterPos] = ( (unsigned char)((tempCounter & 255)) );
+HXLINE( 242) tempCounter = ::hx::UShr(tempCounter,8);
+HXLINE( 243) counterPos = (counterPos - 1);
+ }
+HXLINE( 246) encryptBlock(counter,0,keystream,0);
+HXLINE( 248) int bytesToProcess;
+HXDLIN( 248) if ((remaining < blockSize)) {
+HXLINE( 248) bytesToProcess = remaining;
+ }
+ else {
+HXLINE( 248) bytesToProcess = blockSize;
+ }
+HXLINE( 249) {
+HXLINE( 249) int _g = 0;
+HXDLIN( 249) int _g1 = bytesToProcess;
+HXDLIN( 249) while((_g < _g1)){
+HXLINE( 249) _g = (_g + 1);
+HXDLIN( 249) int j = (_g - 1);
+HXLINE( 250) result->b[(pos + j)] = ( (unsigned char)((( (int)(message->b->__get((pos + j))) ) ^ ( (int)(keystream->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 253) pos = (pos + blockSize);
+HXLINE( 254) remaining = (remaining - blockSize);
+HXLINE( 255) counterValue = (counterValue + 1);
+ }
+HXLINE( 258) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CCM_obj,encryptCTR,return )
+
+ ::haxe::io::Bytes CCM_obj::encryptTag( ::haxe::io::Bytes nonce, ::haxe::io::Bytes tag,int tagLen,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_264_encryptTag)
+HXLINE( 265) ::haxe::io::Bytes counter = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 269) counter->b[0] = ( (unsigned char)(((15 - nonce->length) - 1)) );
+HXLINE( 270) counter->blit(1,nonce,0,nonce->length);
+HXLINE( 272) ::haxe::io::Bytes keystream = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 273) encryptBlock(counter,0,keystream,0);
+HXLINE( 275) ::haxe::io::Bytes encryptedTag = ::haxe::io::Bytes_obj::alloc(tagLen);
+HXLINE( 276) {
+HXLINE( 276) int _g = 0;
+HXDLIN( 276) while((_g < tagLen)){
+HXLINE( 276) _g = (_g + 1);
+HXDLIN( 276) int i = (_g - 1);
+HXLINE( 277) encryptedTag->b[i] = ( (unsigned char)((( (int)(tag->b->__get(i)) ) ^ ( (int)(keystream->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 280) return encryptedTag;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(CCM_obj,encryptTag,return )
+
+bool CCM_obj::constantTimeCompare( ::haxe::io::Bytes a, ::haxe::io::Bytes b){
+ HX_STACKFRAME(&_hx_pos_074f7a4fc05ced9a_283_constantTimeCompare)
+HXLINE( 284) if ((a->length != b->length)) {
+HXLINE( 285) return false;
+ }
+HXLINE( 286) int result = 0;
+HXLINE( 287) int len = a->length;
+HXLINE( 288) {
+HXLINE( 288) int _g = 0;
+HXDLIN( 288) while((_g < len)){
+HXLINE( 288) _g = (_g + 1);
+HXDLIN( 288) int i = (_g - 1);
+HXLINE( 289) result = (result | (( (int)(a->b->__get(i)) ) ^ ( (int)(b->b->__get(i)) )));
+ }
+ }
+HXLINE( 291) return (result == 0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(CCM_obj,constantTimeCompare,return )
+
+
+CCM_obj::CCM_obj()
+{
+}
+
+bool CCM_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"encryptCTR") ) { outValue = encryptCTR_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"encryptTag") ) { outValue = encryptTag_dyn(); return true; }
+ break;
+ case 13:
+ if (HX_FIELD_EQ(inName,"computeCBCMac") ) { outValue = computeCBCMac_dyn(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"formatAuthData") ) { outValue = formatAuthData_dyn(); return true; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"createAuthBlocks") ) { outValue = createAuthBlocks_dyn(); return true; }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"constantTimeCompare") ) { outValue = constantTimeCompare_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *CCM_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *CCM_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class CCM_obj::__mClass;
+
+static ::String CCM_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("createAuthBlocks",2a,7e,cc,25),
+ HX_("computeCBCMac",e2,3e,c1,2c),
+ HX_("formatAuthData",09,10,80,5e),
+ HX_("encryptCTR",3c,ef,1c,4f),
+ HX_("encryptTag",f5,e0,29,4f),
+ HX_("constantTimeCompare",14,09,e0,8f),
+ ::String(null())
+};
+
+void CCM_obj::__register()
+{
+ CCM_obj _hx_dummy;
+ CCM_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.CCM",a7,07,42,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &CCM_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CCM_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< CCM_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CCM_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CCM_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/CFB.cpp b/Sources/c_borogove/src/haxe/crypto/mode/CFB.cpp
new file mode 100644
index 0000000..9608e0c
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/CFB.cpp
@@ -0,0 +1,150 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CFB
+#include <haxe/crypto/mode/CFB.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_4c2da62b921ae7c2_6_encrypt,"haxe.crypto.mode.CFB","encrypt",0x5fc86b30,"haxe.crypto.mode.CFB.encrypt","haxe/crypto/mode/CFB.hx",6,0xf6529ac6)
+HX_LOCAL_STACK_FRAME(_hx_pos_4c2da62b921ae7c2_21_decrypt,"haxe.crypto.mode.CFB","decrypt",0x9cfcb518,"haxe.crypto.mode.CFB.decrypt","haxe/crypto/mode/CFB.hx",21,0xf6529ac6)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void CFB_obj::__construct() { }
+
+Dynamic CFB_obj::__CreateEmpty() { return new CFB_obj; }
+
+void *CFB_obj::_hx_vtable = 0;
+
+Dynamic CFB_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CFB_obj > _hx_result = new CFB_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool CFB_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1013de11;
+}
+
+void CFB_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_4c2da62b921ae7c2_6_encrypt)
+HXLINE( 7) ::haxe::io::Bytes vector = iv->sub(0,iv->length);
+HXLINE( 8) int i = 0;
+HXLINE( 9) int len = src->length;
+HXLINE( 10) while((i < len)){
+HXLINE( 11) encryptBlock(vector,0,vector,0);
+HXLINE( 12) int block;
+HXDLIN( 12) if (((i + blockSize) > len)) {
+HXLINE( 12) block = (len - i);
+ }
+ else {
+HXLINE( 12) block = blockSize;
+ }
+HXLINE( 13) {
+HXLINE( 13) int _g = 0;
+HXDLIN( 13) int _g1 = block;
+HXDLIN( 13) while((_g < _g1)){
+HXLINE( 13) _g = (_g + 1);
+HXDLIN( 13) int j = (_g - 1);
+HXLINE( 14) src->b[(i + j)] = ( (unsigned char)((( (int)(src->b->__get((i + j))) ) ^ ( (int)(vector->b->__get(j)) ))) );
+HXLINE( 15) vector->b[j] = src->b->__get((i + j));
+ }
+ }
+HXLINE( 17) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CFB_obj,encrypt,(void))
+
+void CFB_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_4c2da62b921ae7c2_21_decrypt)
+HXLINE( 22) ::haxe::io::Bytes vector = iv->sub(0,iv->length);
+HXLINE( 23) int i = 0;
+HXLINE( 24) int len = src->length;
+HXLINE( 25) ::haxe::io::Bytes vectorResult = ::haxe::io::Bytes_obj::alloc(iv->length);
+HXLINE( 26) while((i < len)){
+HXLINE( 27) decryptBlock(vector,0,vectorResult,0);
+HXLINE( 28) int block;
+HXDLIN( 28) if (((i + blockSize) > len)) {
+HXLINE( 28) block = (len - i);
+ }
+ else {
+HXLINE( 28) block = blockSize;
+ }
+HXLINE( 29) {
+HXLINE( 29) int _g = 0;
+HXDLIN( 29) int _g1 = block;
+HXDLIN( 29) while((_g < _g1)){
+HXLINE( 29) _g = (_g + 1);
+HXDLIN( 29) int j = (_g - 1);
+HXLINE( 30) vector->b[j] = src->b->__get((i + j));
+HXLINE( 31) src->b[(i + j)] = ( (unsigned char)((( (int)(src->b->__get((i + j))) ) ^ ( (int)(vectorResult->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 33) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CFB_obj,decrypt,(void))
+
+
+CFB_obj::CFB_obj()
+{
+}
+
+bool CFB_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *CFB_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *CFB_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class CFB_obj::__mClass;
+
+static ::String CFB_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void CFB_obj::__register()
+{
+ CFB_obj _hx_dummy;
+ CFB_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.CFB",39,0a,42,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &CFB_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CFB_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< CFB_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CFB_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CFB_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/CMAC.cpp b/Sources/c_borogove/src/haxe/crypto/mode/CMAC.cpp
new file mode 100644
index 0000000..09f5ce6
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/CMAC.cpp
@@ -0,0 +1,239 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CMAC
+#include <haxe/crypto/mode/CMAC.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_f3f389fb2f0d5ce6_31_generate,"haxe.crypto.mode.CMAC","generate",0x99569c51,"haxe.crypto.mode.CMAC.generate","haxe/crypto/mode/CMAC.hx",31,0xd8c32f6b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f3f389fb2f0d5ce6_120_generateSubkeys,"haxe.crypto.mode.CMAC","generateSubkeys",0xab6d7323,"haxe.crypto.mode.CMAC.generateSubkeys","haxe/crypto/mode/CMAC.hx",120,0xd8c32f6b)
+HX_LOCAL_STACK_FRAME(_hx_pos_f3f389fb2f0d5ce6_147_leftShiftOnebit,"haxe.crypto.mode.CMAC","leftShiftOnebit",0x20023de6,"haxe.crypto.mode.CMAC.leftShiftOnebit","haxe/crypto/mode/CMAC.hx",147,0xd8c32f6b)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void CMAC_obj::__construct() { }
+
+Dynamic CMAC_obj::__CreateEmpty() { return new CMAC_obj; }
+
+void *CMAC_obj::_hx_vtable = 0;
+
+Dynamic CMAC_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CMAC_obj > _hx_result = new CMAC_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool CMAC_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x0153bffa;
+}
+
+ ::haxe::io::Bytes CMAC_obj::generate( ::haxe::io::Bytes message, ::haxe::io::Bytes key,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_f3f389fb2f0d5ce6_31_generate)
+HXLINE( 32) ::Dynamic subkeys = ::haxe::crypto::mode::CMAC_obj::generateSubkeys(key,blockSize,encryptBlock);
+HXLINE( 33) ::haxe::io::Bytes k1 = ( ( ::haxe::io::Bytes)(subkeys->__Field(HX_("k1",66,5d,00,00),::hx::paccDynamic)) );
+HXLINE( 34) ::haxe::io::Bytes k2 = ( ( ::haxe::io::Bytes)(subkeys->__Field(HX_("k2",67,5d,00,00),::hx::paccDynamic)) );
+HXLINE( 36) int messageLen = message->length;
+HXLINE( 37) int numBlocks = ::Math_obj::ceil((( (Float)(messageLen) ) / ( (Float)(blockSize) )));
+HXLINE( 39) if ((numBlocks == 0)) {
+HXLINE( 40) numBlocks = 1;
+ }
+HXLINE( 43) ::haxe::io::Bytes lastBlock;
+HXLINE( 44) bool isComplete;
+HXLINE( 46) if ((messageLen == 0)) {
+HXLINE( 47) lastBlock = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 48) lastBlock->b[0] = ( (unsigned char)(128) );
+HXLINE( 49) isComplete = false;
+ }
+ else {
+HXLINE( 50) if ((::hx::Mod(messageLen,blockSize) == 0)) {
+HXLINE( 51) lastBlock = message->sub((messageLen - blockSize),blockSize);
+HXLINE( 52) isComplete = true;
+ }
+ else {
+HXLINE( 54) int remainingBytes = ::hx::Mod(messageLen,blockSize);
+HXLINE( 55) lastBlock = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 56) lastBlock->blit(0,message,(messageLen - remainingBytes),remainingBytes);
+HXLINE( 57) lastBlock->b[remainingBytes] = ( (unsigned char)(128) );
+HXLINE( 58) isComplete = false;
+ }
+ }
+HXLINE( 61) ::haxe::io::Bytes keyToUse;
+HXDLIN( 61) if (isComplete) {
+HXLINE( 61) keyToUse = k1;
+ }
+ else {
+HXLINE( 61) keyToUse = k2;
+ }
+HXLINE( 62) {
+HXLINE( 62) int _g = 0;
+HXDLIN( 62) while((_g < blockSize)){
+HXLINE( 62) _g = (_g + 1);
+HXDLIN( 62) int i = (_g - 1);
+HXLINE( 63) lastBlock->b[i] = ( (unsigned char)((( (int)(lastBlock->b->__get(i)) ) ^ ( (int)(keyToUse->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 66) ::haxe::io::Bytes mac = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 68) int fullBlocks;
+HXDLIN( 68) if (isComplete) {
+HXLINE( 68) fullBlocks = (numBlocks - 1);
+ }
+ else {
+HXLINE( 68) fullBlocks = (numBlocks - 1);
+ }
+HXLINE( 69) {
+HXLINE( 69) int _g1 = 0;
+HXDLIN( 69) int _g2 = fullBlocks;
+HXDLIN( 69) while((_g1 < _g2)){
+HXLINE( 69) _g1 = (_g1 + 1);
+HXLINE( 70) int offset = ((_g1 - 1) * blockSize);
+HXLINE( 71) {
+HXLINE( 71) int _g3 = 0;
+HXDLIN( 71) while((_g3 < blockSize)){
+HXLINE( 71) _g3 = (_g3 + 1);
+HXDLIN( 71) int i1 = (_g3 - 1);
+HXLINE( 72) mac->b[i1] = ( (unsigned char)((( (int)(mac->b->__get(i1)) ) ^ ( (int)(message->b->__get((offset + i1))) ))) );
+ }
+ }
+HXLINE( 74) encryptBlock(mac,0,mac,0);
+ }
+ }
+HXLINE( 77) {
+HXLINE( 77) int _g4 = 0;
+HXDLIN( 77) while((_g4 < blockSize)){
+HXLINE( 77) _g4 = (_g4 + 1);
+HXDLIN( 77) int i2 = (_g4 - 1);
+HXLINE( 78) mac->b[i2] = ( (unsigned char)((( (int)(mac->b->__get(i2)) ) ^ ( (int)(lastBlock->b->__get(i2)) ))) );
+ }
+ }
+HXLINE( 80) encryptBlock(mac,0,mac,0);
+HXLINE( 82) return mac;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CMAC_obj,generate,return )
+
+ ::Dynamic CMAC_obj::generateSubkeys( ::haxe::io::Bytes key,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_f3f389fb2f0d5ce6_120_generateSubkeys)
+HXLINE( 121) int rb;
+HXLINE( 122) if ((blockSize == 16)) {
+HXLINE( 123) rb = 135;
+ }
+ else {
+HXLINE( 124) if ((blockSize == 8)) {
+HXLINE( 125) rb = 27;
+ }
+ else {
+HXLINE( 127) HX_STACK_DO_THROW(HX_("Unsupported block size for CMAC",a4,48,54,66));
+ }
+ }
+HXLINE( 131) ::haxe::io::Bytes l = ::haxe::io::Bytes_obj::alloc(blockSize)->sub(0,blockSize);
+HXLINE( 132) encryptBlock(l,0,l,0);
+HXLINE( 134) ::haxe::io::Bytes k1 = ::haxe::crypto::mode::CMAC_obj::leftShiftOnebit(l);
+HXLINE( 135) if (((( (int)(l->b->__get(0)) ) & 128) != 0)) {
+HXLINE( 136) k1->b[(blockSize - 1)] = ( (unsigned char)((( (int)(k1->b->__get((blockSize - 1))) ) ^ rb)) );
+ }
+HXLINE( 139) ::haxe::io::Bytes k2 = ::haxe::crypto::mode::CMAC_obj::leftShiftOnebit(k1);
+HXLINE( 140) if (((( (int)(k1->b->__get(0)) ) & 128) != 0)) {
+HXLINE( 141) k2->b[(blockSize - 1)] = ( (unsigned char)((( (int)(k2->b->__get((blockSize - 1))) ) ^ rb)) );
+ }
+HXLINE( 144) return ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("k1",66,5d,00,00),k1)
+ ->setFixed(1,HX_("k2",67,5d,00,00),k2));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(CMAC_obj,generateSubkeys,return )
+
+ ::haxe::io::Bytes CMAC_obj::leftShiftOnebit( ::haxe::io::Bytes input){
+ HX_STACKFRAME(&_hx_pos_f3f389fb2f0d5ce6_147_leftShiftOnebit)
+HXLINE( 148) ::haxe::io::Bytes output = ::haxe::io::Bytes_obj::alloc(input->length);
+HXLINE( 149) int carry = 0;
+HXLINE( 151) {
+HXLINE( 151) int _g = 0;
+HXDLIN( 151) int _g1 = input->length;
+HXDLIN( 151) while((_g < _g1)){
+HXLINE( 151) _g = (_g + 1);
+HXDLIN( 151) int i = (_g - 1);
+HXLINE( 152) int b = ( (int)(input->b->__get(((input->length - 1) - i))) );
+HXLINE( 153) output->b[((input->length - 1) - i)] = ( (unsigned char)((((b << 1) | carry) & 255)) );
+HXLINE( 154) if (((b & 128) != 0)) {
+HXLINE( 154) carry = 1;
+ }
+ else {
+HXLINE( 154) carry = 0;
+ }
+ }
+ }
+HXLINE( 157) return output;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(CMAC_obj,leftShiftOnebit,return )
+
+
+CMAC_obj::CMAC_obj()
+{
+}
+
+bool CMAC_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 8:
+ if (HX_FIELD_EQ(inName,"generate") ) { outValue = generate_dyn(); return true; }
+ break;
+ case 15:
+ if (HX_FIELD_EQ(inName,"generateSubkeys") ) { outValue = generateSubkeys_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"leftShiftOnebit") ) { outValue = leftShiftOnebit_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *CMAC_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *CMAC_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class CMAC_obj::__mClass;
+
+static ::String CMAC_obj_sStaticFields[] = {
+ HX_("generate",35,5f,a2,d9),
+ HX_("generateSubkeys",bf,94,eb,05),
+ HX_("leftShiftOnebit",82,5f,80,7a),
+ ::String(null())
+};
+
+void CMAC_obj::__register()
+{
+ CMAC_obj _hx_dummy;
+ CMAC_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.CMAC",d2,36,8c,28);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &CMAC_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CMAC_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< CMAC_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CMAC_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CMAC_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/CTR.cpp b/Sources/c_borogove/src/haxe/crypto/mode/CTR.cpp
new file mode 100644
index 0000000..a2131fc
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/CTR.cpp
@@ -0,0 +1,135 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_d22c6c8c15a71668_6_encrypt,"haxe.crypto.mode.CTR","encrypt",0x12f18972,"haxe.crypto.mode.CTR.encrypt","haxe/crypto/mode/CTR.hx",6,0x108223c4)
+HX_LOCAL_STACK_FRAME(_hx_pos_d22c6c8c15a71668_28_decrypt,"haxe.crypto.mode.CTR","decrypt",0x5025d35a,"haxe.crypto.mode.CTR.decrypt","haxe/crypto/mode/CTR.hx",28,0x108223c4)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void CTR_obj::__construct() { }
+
+Dynamic CTR_obj::__CreateEmpty() { return new CTR_obj; }
+
+void *CTR_obj::_hx_vtable = 0;
+
+Dynamic CTR_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< CTR_obj > _hx_result = new CTR_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool CTR_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1013ea53;
+}
+
+void CTR_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_d22c6c8c15a71668_6_encrypt)
+HXLINE( 7) ::haxe::io::Bytes vector = ::haxe::io::Bytes_obj::alloc(iv->length);
+HXLINE( 8) ::haxe::io::Bytes vkey = iv->sub(0,iv->length);
+HXLINE( 9) int i = 0;
+HXLINE( 10) int len = src->length;
+HXLINE( 11) while((i < len)){
+HXLINE( 12) encryptBlock(vkey,0,vector,0);
+HXLINE( 13) int block;
+HXDLIN( 13) if (((i + blockSize) > len)) {
+HXLINE( 13) block = (len - i);
+ }
+ else {
+HXLINE( 13) block = blockSize;
+ }
+HXLINE( 14) {
+HXLINE( 14) int _g = 0;
+HXDLIN( 14) int _g1 = block;
+HXDLIN( 14) while((_g < _g1)){
+HXLINE( 14) _g = (_g + 1);
+HXDLIN( 14) int j = (_g - 1);
+HXLINE( 15) src->b[(i + j)] = ( (unsigned char)((( (int)(src->b->__get((i + j))) ) ^ ( (int)(vector->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 17) int j1 = blockSize;
+HXLINE( 18) do {
+HXLINE( 18) j1 = (j1 - 1);
+HXDLIN( 18) if (!(((j1 + 1) >= 0))) {
+HXLINE( 18) goto _hx_goto_2;
+ }
+HXLINE( 19) vkey->b[j1] = ( (unsigned char)((vkey->b->__get(j1) + 1)) );
+ } while((vkey->b->__get(j1) == 0));
+ _hx_goto_2:;
+HXLINE( 23) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CTR_obj,encrypt,(void))
+
+void CTR_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_d22c6c8c15a71668_28_decrypt)
+HXDLIN( 28) ::haxe::crypto::mode::CTR_obj::encrypt(src,iv,blockSize,decryptBlock);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(CTR_obj,decrypt,(void))
+
+
+CTR_obj::CTR_obj()
+{
+}
+
+bool CTR_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *CTR_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *CTR_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class CTR_obj::__mClass;
+
+static ::String CTR_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void CTR_obj::__register()
+{
+ CTR_obj _hx_dummy;
+ CTR_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.CTR",7b,16,42,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &CTR_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(CTR_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< CTR_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = CTR_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = CTR_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/EAX.cpp b/Sources/c_borogove/src/haxe/crypto/mode/EAX.cpp
new file mode 100644
index 0000000..dca3f06
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/EAX.cpp
@@ -0,0 +1,266 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CMAC
+#include <haxe/crypto/mode/CMAC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_EAX
+#include <haxe/crypto/mode/EAX.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_9e90b070894cfaa5_17_encrypt,"haxe.crypto.mode.EAX","encrypt",0xc0cff06d,"haxe.crypto.mode.EAX.encrypt","haxe/crypto/mode/EAX.hx",17,0xf0931ea9)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e90b070894cfaa5_56_decrypt,"haxe.crypto.mode.EAX","decrypt",0xfe043a55,"haxe.crypto.mode.EAX.decrypt","haxe/crypto/mode/EAX.hx",56,0xf0931ea9)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e90b070894cfaa5_99_omac,"haxe.crypto.mode.EAX","omac",0xcfe53278,"haxe.crypto.mode.EAX.omac","haxe/crypto/mode/EAX.hx",99,0xf0931ea9)
+HX_LOCAL_STACK_FRAME(_hx_pos_9e90b070894cfaa5_111_constantTimeEquals,"haxe.crypto.mode.EAX","constantTimeEquals",0x26205ba8,"haxe.crypto.mode.EAX.constantTimeEquals","haxe/crypto/mode/EAX.hx",111,0xf0931ea9)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void EAX_obj::__construct() { }
+
+Dynamic EAX_obj::__CreateEmpty() { return new EAX_obj; }
+
+void *EAX_obj::_hx_vtable = 0;
+
+Dynamic EAX_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< EAX_obj > _hx_result = new EAX_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool EAX_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x10155e4e;
+}
+
+ ::haxe::io::Bytes EAX_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock,::Array< ::Dynamic> aad){
+ HX_STACKFRAME(&_hx_pos_9e90b070894cfaa5_17_encrypt)
+HXLINE( 18) ::haxe::io::Bytes n = ::haxe::crypto::mode::EAX_obj::omac(0,iv,key,encryptBlock);
+HXLINE( 19) ::haxe::io::Bytes h;
+HXLINE( 20) bool _hx_tmp;
+HXDLIN( 20) if (::hx::IsNotNull( aad )) {
+HXLINE( 20) _hx_tmp = (aad->length > 0);
+ }
+ else {
+HXLINE( 20) _hx_tmp = false;
+ }
+HXDLIN( 20) if (_hx_tmp) {
+HXLINE( 21) int totalAadLength = 0;
+HXLINE( 22) {
+HXLINE( 22) int _g = 0;
+HXDLIN( 22) while((_g < aad->length)){
+HXLINE( 22) ::haxe::io::Bytes aadItem = aad->__get(_g).StaticCast< ::haxe::io::Bytes >();
+HXDLIN( 22) _g = (_g + 1);
+HXLINE( 23) totalAadLength = (totalAadLength + aadItem->length);
+ }
+ }
+HXLINE( 25) ::haxe::io::Bytes combinedAad = ::haxe::io::Bytes_obj::alloc(totalAadLength);
+HXLINE( 26) int offset = 0;
+HXLINE( 27) {
+HXLINE( 27) int _g1 = 0;
+HXDLIN( 27) while((_g1 < aad->length)){
+HXLINE( 27) ::haxe::io::Bytes aadItem1 = aad->__get(_g1).StaticCast< ::haxe::io::Bytes >();
+HXDLIN( 27) _g1 = (_g1 + 1);
+HXLINE( 28) combinedAad->blit(offset,aadItem1,0,aadItem1->length);
+HXLINE( 29) offset = (offset + aadItem1->length);
+ }
+ }
+HXLINE( 31) h = ::haxe::crypto::mode::EAX_obj::omac(1,combinedAad,key,encryptBlock);
+ }
+ else {
+HXLINE( 33) h = ::haxe::crypto::mode::EAX_obj::omac(1,::haxe::io::Bytes_obj::alloc(0),key,encryptBlock);
+ }
+HXLINE( 35) ::haxe::crypto::mode::CTR_obj::encrypt(src,n,16,encryptBlock);
+HXLINE( 36) ::haxe::io::Bytes c = ::haxe::crypto::mode::EAX_obj::omac(2,src,key,encryptBlock);
+HXLINE( 37) ::haxe::io::Bytes tag = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 38) {
+HXLINE( 38) int _g2 = 0;
+HXDLIN( 38) while((_g2 < 16)){
+HXLINE( 38) _g2 = (_g2 + 1);
+HXDLIN( 38) int i = (_g2 - 1);
+HXLINE( 39) tag->b[i] = ( (unsigned char)(((( (int)(n->b->__get(i)) ) ^ ( (int)(h->b->__get(i)) )) ^ ( (int)(c->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 41) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc((src->length + 16));
+HXLINE( 42) result->blit(0,src,0,src->length);
+HXLINE( 43) result->blit(src->length,tag,0,16);
+HXLINE( 44) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(EAX_obj,encrypt,return )
+
+ ::haxe::io::Bytes EAX_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock,::Array< ::Dynamic> aad){
+ HX_STACKFRAME(&_hx_pos_9e90b070894cfaa5_56_decrypt)
+HXLINE( 57) if ((src->length < 16)) {
+HXLINE( 58) return null();
+ }
+HXLINE( 60) int ciphertextLen = (src->length - 16);
+HXLINE( 61) ::haxe::io::Bytes ciphertext = src->sub(0,ciphertextLen);
+HXLINE( 62) ::haxe::io::Bytes receivedTag = src->sub(ciphertextLen,16);
+HXLINE( 63) ::haxe::io::Bytes n = ::haxe::crypto::mode::EAX_obj::omac(0,iv,key,encryptBlock);
+HXLINE( 64) ::haxe::io::Bytes h;
+HXLINE( 65) bool _hx_tmp;
+HXDLIN( 65) if (::hx::IsNotNull( aad )) {
+HXLINE( 65) _hx_tmp = (aad->length > 0);
+ }
+ else {
+HXLINE( 65) _hx_tmp = false;
+ }
+HXDLIN( 65) if (_hx_tmp) {
+HXLINE( 66) int totalAadLength = 0;
+HXLINE( 67) {
+HXLINE( 67) int _g = 0;
+HXDLIN( 67) while((_g < aad->length)){
+HXLINE( 67) ::haxe::io::Bytes aadItem = aad->__get(_g).StaticCast< ::haxe::io::Bytes >();
+HXDLIN( 67) _g = (_g + 1);
+HXLINE( 68) totalAadLength = (totalAadLength + aadItem->length);
+ }
+ }
+HXLINE( 71) ::haxe::io::Bytes combinedAad = ::haxe::io::Bytes_obj::alloc(totalAadLength);
+HXLINE( 72) int offset = 0;
+HXLINE( 73) {
+HXLINE( 73) int _g1 = 0;
+HXDLIN( 73) while((_g1 < aad->length)){
+HXLINE( 73) ::haxe::io::Bytes aadItem1 = aad->__get(_g1).StaticCast< ::haxe::io::Bytes >();
+HXDLIN( 73) _g1 = (_g1 + 1);
+HXLINE( 74) combinedAad->blit(offset,aadItem1,0,aadItem1->length);
+HXLINE( 75) offset = (offset + aadItem1->length);
+ }
+ }
+HXLINE( 77) h = ::haxe::crypto::mode::EAX_obj::omac(1,combinedAad,key,encryptBlock);
+ }
+ else {
+HXLINE( 79) h = ::haxe::crypto::mode::EAX_obj::omac(1,::haxe::io::Bytes_obj::alloc(0),key,encryptBlock);
+ }
+HXLINE( 81) ::haxe::io::Bytes c = ::haxe::crypto::mode::EAX_obj::omac(2,ciphertext,key,encryptBlock);
+HXLINE( 82) ::haxe::io::Bytes expectedTag = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 83) {
+HXLINE( 83) int _g2 = 0;
+HXDLIN( 83) while((_g2 < 16)){
+HXLINE( 83) _g2 = (_g2 + 1);
+HXDLIN( 83) int i = (_g2 - 1);
+HXLINE( 84) expectedTag->b[i] = ( (unsigned char)(((( (int)(n->b->__get(i)) ) ^ ( (int)(h->b->__get(i)) )) ^ ( (int)(c->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 86) if (!(::haxe::crypto::mode::EAX_obj::constantTimeEquals(receivedTag,expectedTag))) {
+HXLINE( 87) return null();
+ }
+HXLINE( 89) ::haxe::io::Bytes plaintext = ::haxe::io::Bytes_obj::alloc(ciphertext->length);
+HXLINE( 90) plaintext->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 91) ::haxe::crypto::mode::CTR_obj::decrypt(plaintext,n,16,encryptBlock);
+HXLINE( 93) return plaintext;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(EAX_obj,decrypt,return )
+
+ ::haxe::io::Bytes EAX_obj::omac(int t, ::haxe::io::Bytes message, ::haxe::io::Bytes key, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_9e90b070894cfaa5_99_omac)
+HXLINE( 100) ::haxe::io::Bytes prefixedMessage = ::haxe::io::Bytes_obj::alloc((16 + message->length));
+HXLINE( 101) {
+HXLINE( 101) int _g = 0;
+HXDLIN( 101) while((_g < 15)){
+HXLINE( 101) _g = (_g + 1);
+HXLINE( 102) prefixedMessage->b[(_g - 1)] = ( (unsigned char)(0) );
+ }
+ }
+HXLINE( 104) prefixedMessage->b[15] = ( (unsigned char)(t) );
+HXLINE( 105) if ((message->length > 0)) {
+HXLINE( 106) prefixedMessage->blit(16,message,0,message->length);
+ }
+HXLINE( 108) return ::haxe::crypto::mode::CMAC_obj::generate(prefixedMessage,key,16,encryptBlock);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(EAX_obj,omac,return )
+
+bool EAX_obj::constantTimeEquals( ::haxe::io::Bytes a, ::haxe::io::Bytes b){
+ HX_STACKFRAME(&_hx_pos_9e90b070894cfaa5_111_constantTimeEquals)
+HXLINE( 112) if ((a->length != b->length)) {
+HXLINE( 113) return false;
+ }
+HXLINE( 115) int result = 0;
+HXLINE( 116) {
+HXLINE( 116) int _g = 0;
+HXDLIN( 116) int _g1 = a->length;
+HXDLIN( 116) while((_g < _g1)){
+HXLINE( 116) _g = (_g + 1);
+HXDLIN( 116) int i = (_g - 1);
+HXLINE( 117) result = (result | (( (int)(a->b->__get(i)) ) ^ ( (int)(b->b->__get(i)) )));
+ }
+ }
+HXLINE( 119) return (result == 0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(EAX_obj,constantTimeEquals,return )
+
+
+EAX_obj::EAX_obj()
+{
+}
+
+bool EAX_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"omac") ) { outValue = omac_dyn(); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"constantTimeEquals") ) { outValue = constantTimeEquals_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *EAX_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *EAX_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class EAX_obj::__mClass;
+
+static ::String EAX_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("omac",80,b9,b1,49),
+ HX_("constantTimeEquals",b0,20,08,06),
+ ::String(null())
+};
+
+void EAX_obj::__register()
+{
+ EAX_obj _hx_dummy;
+ EAX_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.EAX",76,8a,43,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &EAX_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(EAX_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< EAX_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = EAX_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = EAX_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/ECB.cpp b/Sources/c_borogove/src/haxe/crypto/mode/ECB.cpp
new file mode 100644
index 0000000..ef965ad
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/ECB.cpp
@@ -0,0 +1,113 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_ECB
+#include <haxe/crypto/mode/ECB.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_cc9a01be86c291cf_6_encrypt,"haxe.crypto.mode.ECB","encrypt",0x20a5da15,"haxe.crypto.mode.ECB.encrypt","haxe/crypto/mode/ECB.hx",6,0x08d59601)
+HX_LOCAL_STACK_FRAME(_hx_pos_cc9a01be86c291cf_15_decrypt,"haxe.crypto.mode.ECB","decrypt",0x5dda23fd,"haxe.crypto.mode.ECB.decrypt","haxe/crypto/mode/ECB.hx",15,0x08d59601)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void ECB_obj::__construct() { }
+
+Dynamic ECB_obj::__CreateEmpty() { return new ECB_obj; }
+
+void *ECB_obj::_hx_vtable = 0;
+
+Dynamic ECB_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ECB_obj > _hx_result = new ECB_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool ECB_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x10155ff6;
+}
+
+void ECB_obj::encrypt( ::haxe::io::Bytes src,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_cc9a01be86c291cf_6_encrypt)
+HXLINE( 7) int i = 0;
+HXLINE( 8) int len = src->length;
+HXLINE( 9) while((i < len)){
+HXLINE( 10) encryptBlock(src,i,src,i);
+HXLINE( 11) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(ECB_obj,encrypt,(void))
+
+void ECB_obj::decrypt( ::haxe::io::Bytes src,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_cc9a01be86c291cf_15_decrypt)
+HXLINE( 16) int i = 0;
+HXLINE( 17) int len = src->length;
+HXLINE( 18) while((i < len)){
+HXLINE( 19) decryptBlock(src,i,src,i);
+HXLINE( 20) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(ECB_obj,decrypt,(void))
+
+
+ECB_obj::ECB_obj()
+{
+}
+
+bool ECB_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *ECB_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *ECB_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class ECB_obj::__mClass;
+
+static ::String ECB_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void ECB_obj::__register()
+{
+ ECB_obj _hx_dummy;
+ ECB_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.ECB",1e,8c,43,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ECB_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ECB_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< ECB_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ECB_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ECB_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/GCM.cpp b/Sources/c_borogove/src/haxe/crypto/mode/GCM.cpp
new file mode 100644
index 0000000..8f3feed
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/GCM.cpp
@@ -0,0 +1,427 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCM
+#include <haxe/crypto/mode/GCM.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_16_encrypt,"haxe.crypto.mode.GCM","encrypt",0x32c233a2,"haxe.crypto.mode.GCM.encrypt","haxe/crypto/mode/GCM.hx",16,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_47_decrypt,"haxe.crypto.mode.GCM","decrypt",0x6ff67d8a,"haxe.crypto.mode.GCM.decrypt","haxe/crypto/mode/GCM.hx",47,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_79_calculateJ0,"haxe.crypto.mode.GCM","calculateJ0",0xd9de1349,"haxe.crypto.mode.GCM.calculateJ0","haxe/crypto/mode/GCM.hx",79,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_99_incrementCounter,"haxe.crypto.mode.GCM","incrementCounter",0x9614bfb0,"haxe.crypto.mode.GCM.incrementCounter","haxe/crypto/mode/GCM.hx",99,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_115_calculateTag,"haxe.crypto.mode.GCM","calculateTag",0xc87a8e37,"haxe.crypto.mode.GCM.calculateTag","haxe/crypto/mode/GCM.hx",115,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_125_ghash,"haxe.crypto.mode.GCM","ghash",0xc8ffebb2,"haxe.crypto.mode.GCM.ghash","haxe/crypto/mode/GCM.hx",125,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_152_ghashUpdate,"haxe.crypto.mode.GCM","ghashUpdate",0xebc8b75b,"haxe.crypto.mode.GCM.ghashUpdate","haxe/crypto/mode/GCM.hx",152,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_182_gmult,"haxe.crypto.mode.GCM","gmult",0xcc5d23d4,"haxe.crypto.mode.GCM.gmult","haxe/crypto/mode/GCM.hx",182,0xdcd1a794)
+HX_LOCAL_STACK_FRAME(_hx_pos_5bebb91a7cb31db4_215_constantTimeCompare,"haxe.crypto.mode.GCM","constantTimeCompare",0xeba025d1,"haxe.crypto.mode.GCM.constantTimeCompare","haxe/crypto/mode/GCM.hx",215,0xdcd1a794)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void GCM_obj::__construct() { }
+
+Dynamic GCM_obj::__CreateEmpty() { return new GCM_obj; }
+
+void *GCM_obj::_hx_vtable = 0;
+
+Dynamic GCM_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< GCM_obj > _hx_result = new GCM_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool GCM_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1016e483;
+}
+
+ ::haxe::io::Bytes GCM_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_16_encrypt)
+HXLINE( 17) bool _hx_tmp;
+HXDLIN( 17) if ((tagLen >= 4)) {
+HXLINE( 17) _hx_tmp = (tagLen > 16);
+ }
+ else {
+HXLINE( 17) _hx_tmp = true;
+ }
+HXDLIN( 17) if (_hx_tmp) {
+HXLINE( 18) HX_STACK_DO_THROW(HX_("Tag length must be between 4 and 16 bytes (32-128 bits)",2b,c7,cd,f9));
+ }
+HXLINE( 20) if (::hx::IsNull( aad )) {
+HXLINE( 21) aad = ::haxe::io::Bytes_obj::alloc(0);
+ }
+HXLINE( 22) ::haxe::io::Bytes H = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 23) encryptBlock(::haxe::io::Bytes_obj::alloc(blockSize),0,H,0);
+HXLINE( 24) ::haxe::io::Bytes J0 = ::haxe::crypto::mode::GCM_obj::calculateJ0(H,iv);
+HXLINE( 25) ::haxe::io::Bytes counter = ::haxe::crypto::mode::GCM_obj::incrementCounter(J0);
+HXLINE( 26) ::haxe::io::Bytes ciphertext = src->sub(0,src->length);
+HXLINE( 27) ::haxe::crypto::mode::CTR_obj::encrypt(ciphertext,counter,blockSize,encryptBlock);
+HXLINE( 28) ::haxe::io::Bytes tag = ::haxe::crypto::mode::GCM_obj::calculateTag(H,aad,ciphertext,J0,encryptBlock);
+HXLINE( 29) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc((ciphertext->length + tagLen));
+HXLINE( 30) result->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 31) result->blit(ciphertext->length,tag,0,tagLen);
+HXLINE( 33) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(GCM_obj,encrypt,return )
+
+ ::haxe::io::Bytes GCM_obj::decrypt( ::haxe::io::Bytes ciphertextWithTag, ::haxe::io::Bytes iv, ::haxe::io::Bytes aad,int tagLen,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_47_decrypt)
+HXLINE( 48) bool _hx_tmp;
+HXDLIN( 48) if ((tagLen >= 4)) {
+HXLINE( 48) _hx_tmp = (tagLen > 16);
+ }
+ else {
+HXLINE( 48) _hx_tmp = true;
+ }
+HXDLIN( 48) if (_hx_tmp) {
+HXLINE( 49) HX_STACK_DO_THROW(HX_("Tag length must be between 4 and 16 bytes (32-128 bits)",2b,c7,cd,f9));
+ }
+HXLINE( 52) if ((ciphertextWithTag->length < tagLen)) {
+HXLINE( 53) HX_STACK_DO_THROW(HX_("Ciphertext too short for specified tag length",4b,c8,55,34));
+ }
+HXLINE( 56) int ciphertextLen = (ciphertextWithTag->length - tagLen);
+HXLINE( 57) ::haxe::io::Bytes ciphertext = ciphertextWithTag->sub(0,ciphertextLen);
+HXLINE( 58) ::haxe::io::Bytes providedTag = ciphertextWithTag->sub(ciphertextLen,tagLen);
+HXLINE( 59) ::haxe::io::Bytes H = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 60) encryptBlock(::haxe::io::Bytes_obj::alloc(blockSize),0,H,0);
+HXLINE( 61) ::haxe::io::Bytes J0 = ::haxe::crypto::mode::GCM_obj::calculateJ0(H,iv);
+HXLINE( 64) if (!(::haxe::crypto::mode::GCM_obj::constantTimeCompare(::haxe::crypto::mode::GCM_obj::calculateTag(H,aad,ciphertext,J0,encryptBlock)->sub(0,tagLen),providedTag))) {
+HXLINE( 65) HX_STACK_DO_THROW(HX_("Authentication failed",45,9b,5d,12));
+ }
+HXLINE( 68) ::haxe::io::Bytes counter = ::haxe::crypto::mode::GCM_obj::incrementCounter(J0);
+HXLINE( 69) ::haxe::io::Bytes plaintext = ciphertext->sub(0,ciphertext->length);
+HXLINE( 70) ::haxe::crypto::mode::CTR_obj::encrypt(plaintext,counter,blockSize,encryptBlock);
+HXLINE( 72) return plaintext;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(GCM_obj,decrypt,return )
+
+ ::haxe::io::Bytes GCM_obj::calculateJ0( ::haxe::io::Bytes H, ::haxe::io::Bytes iv){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_79_calculateJ0)
+HXDLIN( 79) if ((iv->length == 12)) {
+HXLINE( 80) ::haxe::io::Bytes J0 = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 81) J0->blit(0,iv,0,12);
+HXLINE( 82) J0->b[15] = ( (unsigned char)(1) );
+HXLINE( 83) return J0;
+ }
+ else {
+HXLINE( 85) ::haxe::io::Bytes J01 = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 86) J01 = ::haxe::crypto::mode::GCM_obj::ghashUpdate(H,J01,iv);
+HXLINE( 87) ::haxe::io::Bytes lenBlock = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 88) int ivBitLen = (iv->length * 8);
+HXLINE( 89) lenBlock->b[12] = ( (unsigned char)((::hx::UShr(ivBitLen,24) & 255)) );
+HXLINE( 90) lenBlock->b[13] = ( (unsigned char)((::hx::UShr(ivBitLen,16) & 255)) );
+HXLINE( 91) lenBlock->b[14] = ( (unsigned char)((::hx::UShr(ivBitLen,8) & 255)) );
+HXLINE( 92) lenBlock->b[15] = ( (unsigned char)((ivBitLen & 255)) );
+HXLINE( 93) J01 = ::haxe::crypto::mode::GCM_obj::ghashUpdate(H,J01,lenBlock);
+HXLINE( 95) return J01;
+ }
+HXLINE( 79) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(GCM_obj,calculateJ0,return )
+
+ ::haxe::io::Bytes GCM_obj::incrementCounter( ::haxe::io::Bytes counter){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_99_incrementCounter)
+HXLINE( 100) ::haxe::io::Bytes result = counter->sub(0,counter->length);
+HXLINE( 101) int carry = 1;
+HXLINE( 102) int i = 15;
+HXLINE( 103) while(true){
+HXLINE( 103) bool _hx_tmp;
+HXDLIN( 103) if ((carry > 0)) {
+HXLINE( 103) _hx_tmp = (i >= 12);
+ }
+ else {
+HXLINE( 103) _hx_tmp = false;
+ }
+HXDLIN( 103) if (!(_hx_tmp)) {
+HXLINE( 103) goto _hx_goto_3;
+ }
+HXLINE( 104) int val = (result->b->__get(i) + carry);
+HXLINE( 105) result->b[i] = ( (unsigned char)((val & 255)) );
+HXLINE( 106) carry = ::hx::UShr(val,8);
+HXLINE( 107) i = (i - 1);
+ }
+ _hx_goto_3:;
+HXLINE( 109) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(GCM_obj,incrementCounter,return )
+
+ ::haxe::io::Bytes GCM_obj::calculateTag( ::haxe::io::Bytes H, ::haxe::io::Bytes aad, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes J0, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_115_calculateTag)
+HXLINE( 116) ::haxe::io::Bytes authData = ::haxe::crypto::mode::GCM_obj::ghash(H,aad,ciphertext);
+HXLINE( 117) ::haxe::io::Bytes encryptedJ0 = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 118) encryptBlock(J0,0,encryptedJ0,0);
+HXLINE( 119) {
+HXLINE( 120) authData->b[0] = ( (unsigned char)((( (int)(authData->b->__get(0)) ) ^ ( (int)(encryptedJ0->b->__get(0)) ))) );
+HXDLIN( 120) authData->b[1] = ( (unsigned char)((( (int)(authData->b->__get(1)) ) ^ ( (int)(encryptedJ0->b->__get(1)) ))) );
+HXDLIN( 120) authData->b[2] = ( (unsigned char)((( (int)(authData->b->__get(2)) ) ^ ( (int)(encryptedJ0->b->__get(2)) ))) );
+HXDLIN( 120) authData->b[3] = ( (unsigned char)((( (int)(authData->b->__get(3)) ) ^ ( (int)(encryptedJ0->b->__get(3)) ))) );
+HXDLIN( 120) authData->b[4] = ( (unsigned char)((( (int)(authData->b->__get(4)) ) ^ ( (int)(encryptedJ0->b->__get(4)) ))) );
+HXDLIN( 120) authData->b[5] = ( (unsigned char)((( (int)(authData->b->__get(5)) ) ^ ( (int)(encryptedJ0->b->__get(5)) ))) );
+HXDLIN( 120) authData->b[6] = ( (unsigned char)((( (int)(authData->b->__get(6)) ) ^ ( (int)(encryptedJ0->b->__get(6)) ))) );
+HXDLIN( 120) authData->b[7] = ( (unsigned char)((( (int)(authData->b->__get(7)) ) ^ ( (int)(encryptedJ0->b->__get(7)) ))) );
+HXDLIN( 120) authData->b[8] = ( (unsigned char)((( (int)(authData->b->__get(8)) ) ^ ( (int)(encryptedJ0->b->__get(8)) ))) );
+HXDLIN( 120) authData->b[9] = ( (unsigned char)((( (int)(authData->b->__get(9)) ) ^ ( (int)(encryptedJ0->b->__get(9)) ))) );
+HXDLIN( 120) authData->b[10] = ( (unsigned char)((( (int)(authData->b->__get(10)) ) ^ ( (int)(encryptedJ0->b->__get(10)) ))) );
+HXDLIN( 120) authData->b[11] = ( (unsigned char)((( (int)(authData->b->__get(11)) ) ^ ( (int)(encryptedJ0->b->__get(11)) ))) );
+HXDLIN( 120) authData->b[12] = ( (unsigned char)((( (int)(authData->b->__get(12)) ) ^ ( (int)(encryptedJ0->b->__get(12)) ))) );
+HXDLIN( 120) authData->b[13] = ( (unsigned char)((( (int)(authData->b->__get(13)) ) ^ ( (int)(encryptedJ0->b->__get(13)) ))) );
+HXDLIN( 120) authData->b[14] = ( (unsigned char)((( (int)(authData->b->__get(14)) ) ^ ( (int)(encryptedJ0->b->__get(14)) ))) );
+HXDLIN( 120) authData->b[15] = ( (unsigned char)((( (int)(authData->b->__get(15)) ) ^ ( (int)(encryptedJ0->b->__get(15)) ))) );
+ }
+HXLINE( 122) return authData;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(GCM_obj,calculateTag,return )
+
+ ::haxe::io::Bytes GCM_obj::ghash( ::haxe::io::Bytes H, ::haxe::io::Bytes aad, ::haxe::io::Bytes ciphertext){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_125_ghash)
+HXLINE( 126) ::haxe::io::Bytes X = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 127) if ((aad->length > 0)) {
+HXLINE( 128) X = ::haxe::crypto::mode::GCM_obj::ghashUpdate(H,X,aad);
+ }
+HXLINE( 130) if ((ciphertext->length > 0)) {
+HXLINE( 131) X = ::haxe::crypto::mode::GCM_obj::ghashUpdate(H,X,ciphertext);
+ }
+HXLINE( 133) ::haxe::io::Bytes lenBlock = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 134) int aadBitLen = (aad->length * 8);
+HXLINE( 135) int cipherBitLen = (ciphertext->length * 8);
+HXLINE( 136) lenBlock->b[4] = ( (unsigned char)((::hx::UShr(aadBitLen,24) & 255)) );
+HXLINE( 137) lenBlock->b[5] = ( (unsigned char)((::hx::UShr(aadBitLen,16) & 255)) );
+HXLINE( 138) lenBlock->b[6] = ( (unsigned char)((::hx::UShr(aadBitLen,8) & 255)) );
+HXLINE( 139) lenBlock->b[7] = ( (unsigned char)((aadBitLen & 255)) );
+HXLINE( 140) lenBlock->b[12] = ( (unsigned char)((::hx::UShr(cipherBitLen,24) & 255)) );
+HXLINE( 141) lenBlock->b[13] = ( (unsigned char)((::hx::UShr(cipherBitLen,16) & 255)) );
+HXLINE( 142) lenBlock->b[14] = ( (unsigned char)((::hx::UShr(cipherBitLen,8) & 255)) );
+HXLINE( 143) lenBlock->b[15] = ( (unsigned char)((cipherBitLen & 255)) );
+HXLINE( 144) {
+HXLINE( 145) X->b[0] = ( (unsigned char)((( (int)(X->b->__get(0)) ) ^ ( (int)(lenBlock->b->__get(0)) ))) );
+HXDLIN( 145) X->b[1] = ( (unsigned char)((( (int)(X->b->__get(1)) ) ^ ( (int)(lenBlock->b->__get(1)) ))) );
+HXDLIN( 145) X->b[2] = ( (unsigned char)((( (int)(X->b->__get(2)) ) ^ ( (int)(lenBlock->b->__get(2)) ))) );
+HXDLIN( 145) X->b[3] = ( (unsigned char)((( (int)(X->b->__get(3)) ) ^ ( (int)(lenBlock->b->__get(3)) ))) );
+HXDLIN( 145) X->b[4] = ( (unsigned char)((( (int)(X->b->__get(4)) ) ^ ( (int)(lenBlock->b->__get(4)) ))) );
+HXDLIN( 145) X->b[5] = ( (unsigned char)((( (int)(X->b->__get(5)) ) ^ ( (int)(lenBlock->b->__get(5)) ))) );
+HXDLIN( 145) X->b[6] = ( (unsigned char)((( (int)(X->b->__get(6)) ) ^ ( (int)(lenBlock->b->__get(6)) ))) );
+HXDLIN( 145) X->b[7] = ( (unsigned char)((( (int)(X->b->__get(7)) ) ^ ( (int)(lenBlock->b->__get(7)) ))) );
+HXDLIN( 145) X->b[8] = ( (unsigned char)((( (int)(X->b->__get(8)) ) ^ ( (int)(lenBlock->b->__get(8)) ))) );
+HXDLIN( 145) X->b[9] = ( (unsigned char)((( (int)(X->b->__get(9)) ) ^ ( (int)(lenBlock->b->__get(9)) ))) );
+HXDLIN( 145) X->b[10] = ( (unsigned char)((( (int)(X->b->__get(10)) ) ^ ( (int)(lenBlock->b->__get(10)) ))) );
+HXDLIN( 145) X->b[11] = ( (unsigned char)((( (int)(X->b->__get(11)) ) ^ ( (int)(lenBlock->b->__get(11)) ))) );
+HXDLIN( 145) X->b[12] = ( (unsigned char)((( (int)(X->b->__get(12)) ) ^ ( (int)(lenBlock->b->__get(12)) ))) );
+HXDLIN( 145) X->b[13] = ( (unsigned char)((( (int)(X->b->__get(13)) ) ^ ( (int)(lenBlock->b->__get(13)) ))) );
+HXDLIN( 145) X->b[14] = ( (unsigned char)((( (int)(X->b->__get(14)) ) ^ ( (int)(lenBlock->b->__get(14)) ))) );
+HXDLIN( 145) X->b[15] = ( (unsigned char)((( (int)(X->b->__get(15)) ) ^ ( (int)(lenBlock->b->__get(15)) ))) );
+ }
+HXLINE( 147) X = ::haxe::crypto::mode::GCM_obj::gmult(X,H);
+HXLINE( 149) return X;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(GCM_obj,ghash,return )
+
+ ::haxe::io::Bytes GCM_obj::ghashUpdate( ::haxe::io::Bytes H, ::haxe::io::Bytes state, ::haxe::io::Bytes data){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_152_ghashUpdate)
+HXLINE( 153) ::haxe::io::Bytes X = state->sub(0,16);
+HXLINE( 154) int pos = 0;
+HXLINE( 155) int remaining = data->length;
+HXLINE( 157) while((remaining > 0)){
+HXLINE( 158) ::haxe::io::Bytes block = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 159) int bytesToCopy;
+HXDLIN( 159) if ((remaining < 16)) {
+HXLINE( 159) bytesToCopy = remaining;
+ }
+ else {
+HXLINE( 159) bytesToCopy = 16;
+ }
+HXLINE( 160) block->blit(0,data,pos,bytesToCopy);
+HXLINE( 161) {
+HXLINE( 162) X->b[0] = ( (unsigned char)((( (int)(X->b->__get(0)) ) ^ ( (int)(block->b->__get(0)) ))) );
+HXDLIN( 162) X->b[1] = ( (unsigned char)((( (int)(X->b->__get(1)) ) ^ ( (int)(block->b->__get(1)) ))) );
+HXDLIN( 162) X->b[2] = ( (unsigned char)((( (int)(X->b->__get(2)) ) ^ ( (int)(block->b->__get(2)) ))) );
+HXDLIN( 162) X->b[3] = ( (unsigned char)((( (int)(X->b->__get(3)) ) ^ ( (int)(block->b->__get(3)) ))) );
+HXDLIN( 162) X->b[4] = ( (unsigned char)((( (int)(X->b->__get(4)) ) ^ ( (int)(block->b->__get(4)) ))) );
+HXDLIN( 162) X->b[5] = ( (unsigned char)((( (int)(X->b->__get(5)) ) ^ ( (int)(block->b->__get(5)) ))) );
+HXDLIN( 162) X->b[6] = ( (unsigned char)((( (int)(X->b->__get(6)) ) ^ ( (int)(block->b->__get(6)) ))) );
+HXDLIN( 162) X->b[7] = ( (unsigned char)((( (int)(X->b->__get(7)) ) ^ ( (int)(block->b->__get(7)) ))) );
+HXDLIN( 162) X->b[8] = ( (unsigned char)((( (int)(X->b->__get(8)) ) ^ ( (int)(block->b->__get(8)) ))) );
+HXDLIN( 162) X->b[9] = ( (unsigned char)((( (int)(X->b->__get(9)) ) ^ ( (int)(block->b->__get(9)) ))) );
+HXDLIN( 162) X->b[10] = ( (unsigned char)((( (int)(X->b->__get(10)) ) ^ ( (int)(block->b->__get(10)) ))) );
+HXDLIN( 162) X->b[11] = ( (unsigned char)((( (int)(X->b->__get(11)) ) ^ ( (int)(block->b->__get(11)) ))) );
+HXDLIN( 162) X->b[12] = ( (unsigned char)((( (int)(X->b->__get(12)) ) ^ ( (int)(block->b->__get(12)) ))) );
+HXDLIN( 162) X->b[13] = ( (unsigned char)((( (int)(X->b->__get(13)) ) ^ ( (int)(block->b->__get(13)) ))) );
+HXDLIN( 162) X->b[14] = ( (unsigned char)((( (int)(X->b->__get(14)) ) ^ ( (int)(block->b->__get(14)) ))) );
+HXDLIN( 162) X->b[15] = ( (unsigned char)((( (int)(X->b->__get(15)) ) ^ ( (int)(block->b->__get(15)) ))) );
+ }
+HXLINE( 164) X = ::haxe::crypto::mode::GCM_obj::gmult(X,H);
+HXLINE( 166) pos = (pos + 16);
+HXLINE( 167) remaining = (remaining - 16);
+ }
+HXLINE( 170) return X;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(GCM_obj,ghashUpdate,return )
+
+ ::haxe::io::Bytes GCM_obj::gmult( ::haxe::io::Bytes X, ::haxe::io::Bytes Y){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_182_gmult)
+HXLINE( 183) ::haxe::io::Bytes Z = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 184) ::haxe::io::Bytes V = Y->sub(0,16);
+HXLINE( 186) {
+HXLINE( 186) int _g = 0;
+HXDLIN( 186) while((_g < 128)){
+HXLINE( 186) _g = (_g + 1);
+HXDLIN( 186) int i = (_g - 1);
+HXLINE( 191) if (((::hx::UShr(( (int)(X->b->__get(::hx::UShr(i,3))) ),(7 - (i & 7))) & 1) == 1)) {
+HXLINE( 193) Z->b[0] = ( (unsigned char)((( (int)(Z->b->__get(0)) ) ^ ( (int)(V->b->__get(0)) ))) );
+HXDLIN( 193) Z->b[1] = ( (unsigned char)((( (int)(Z->b->__get(1)) ) ^ ( (int)(V->b->__get(1)) ))) );
+HXDLIN( 193) Z->b[2] = ( (unsigned char)((( (int)(Z->b->__get(2)) ) ^ ( (int)(V->b->__get(2)) ))) );
+HXDLIN( 193) Z->b[3] = ( (unsigned char)((( (int)(Z->b->__get(3)) ) ^ ( (int)(V->b->__get(3)) ))) );
+HXDLIN( 193) Z->b[4] = ( (unsigned char)((( (int)(Z->b->__get(4)) ) ^ ( (int)(V->b->__get(4)) ))) );
+HXDLIN( 193) Z->b[5] = ( (unsigned char)((( (int)(Z->b->__get(5)) ) ^ ( (int)(V->b->__get(5)) ))) );
+HXDLIN( 193) Z->b[6] = ( (unsigned char)((( (int)(Z->b->__get(6)) ) ^ ( (int)(V->b->__get(6)) ))) );
+HXDLIN( 193) Z->b[7] = ( (unsigned char)((( (int)(Z->b->__get(7)) ) ^ ( (int)(V->b->__get(7)) ))) );
+HXDLIN( 193) Z->b[8] = ( (unsigned char)((( (int)(Z->b->__get(8)) ) ^ ( (int)(V->b->__get(8)) ))) );
+HXDLIN( 193) Z->b[9] = ( (unsigned char)((( (int)(Z->b->__get(9)) ) ^ ( (int)(V->b->__get(9)) ))) );
+HXDLIN( 193) Z->b[10] = ( (unsigned char)((( (int)(Z->b->__get(10)) ) ^ ( (int)(V->b->__get(10)) ))) );
+HXDLIN( 193) Z->b[11] = ( (unsigned char)((( (int)(Z->b->__get(11)) ) ^ ( (int)(V->b->__get(11)) ))) );
+HXDLIN( 193) Z->b[12] = ( (unsigned char)((( (int)(Z->b->__get(12)) ) ^ ( (int)(V->b->__get(12)) ))) );
+HXDLIN( 193) Z->b[13] = ( (unsigned char)((( (int)(Z->b->__get(13)) ) ^ ( (int)(V->b->__get(13)) ))) );
+HXDLIN( 193) Z->b[14] = ( (unsigned char)((( (int)(Z->b->__get(14)) ) ^ ( (int)(V->b->__get(14)) ))) );
+HXDLIN( 193) Z->b[15] = ( (unsigned char)((( (int)(Z->b->__get(15)) ) ^ ( (int)(V->b->__get(15)) ))) );
+ }
+HXLINE( 197) int lsb = (( (int)(V->b->__get(15)) ) & 1);
+HXLINE( 199) int carry = 0;
+HXLINE( 200) {
+HXLINE( 200) int _g1 = 0;
+HXDLIN( 200) while((_g1 < 16)){
+HXLINE( 200) _g1 = (_g1 + 1);
+HXDLIN( 200) int j = (_g1 - 1);
+HXLINE( 201) int b = ( (int)(V->b->__get(j)) );
+HXLINE( 203) V->b[j] = ( (unsigned char)((::hx::UShr(b,1) | carry)) );
+HXLINE( 204) carry = ((b & 1) << 7);
+ }
+ }
+HXLINE( 207) if ((lsb == 1)) {
+HXLINE( 208) V->b[0] = ( (unsigned char)((( (int)(V->b->__get(0)) ) ^ 225)) );
+ }
+ }
+ }
+HXLINE( 212) return Z;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(GCM_obj,gmult,return )
+
+bool GCM_obj::constantTimeCompare( ::haxe::io::Bytes a, ::haxe::io::Bytes b){
+ HX_STACKFRAME(&_hx_pos_5bebb91a7cb31db4_215_constantTimeCompare)
+HXLINE( 216) if ((a->length != b->length)) {
+HXLINE( 217) return false;
+ }
+HXLINE( 218) int result = 0;
+HXLINE( 219) int len = a->length;
+HXLINE( 220) {
+HXLINE( 220) int _g = 0;
+HXDLIN( 220) while((_g < len)){
+HXLINE( 220) _g = (_g + 1);
+HXDLIN( 220) int i = (_g - 1);
+HXLINE( 221) result = (result | (( (int)(a->b->__get(i)) ) ^ ( (int)(b->b->__get(i)) )));
+ }
+ }
+HXLINE( 223) return (result == 0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(GCM_obj,constantTimeCompare,return )
+
+
+GCM_obj::GCM_obj()
+{
+}
+
+bool GCM_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 5:
+ if (HX_FIELD_EQ(inName,"ghash") ) { outValue = ghash_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"gmult") ) { outValue = gmult_dyn(); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"calculateJ0") ) { outValue = calculateJ0_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"ghashUpdate") ) { outValue = ghashUpdate_dyn(); return true; }
+ break;
+ case 12:
+ if (HX_FIELD_EQ(inName,"calculateTag") ) { outValue = calculateTag_dyn(); return true; }
+ break;
+ case 16:
+ if (HX_FIELD_EQ(inName,"incrementCounter") ) { outValue = incrementCounter_dyn(); return true; }
+ break;
+ case 19:
+ if (HX_FIELD_EQ(inName,"constantTimeCompare") ) { outValue = constantTimeCompare_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *GCM_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *GCM_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class GCM_obj::__mClass;
+
+static ::String GCM_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("calculateJ0",8c,7b,47,25),
+ HX_("incrementCounter",8d,84,7b,35),
+ HX_("calculateTag",94,60,4c,79),
+ HX_("ghash",b5,ef,4d,93),
+ HX_("ghashUpdate",9e,1f,32,37),
+ HX_("gmult",d7,27,ab,96),
+ HX_("constantTimeCompare",14,09,e0,8f),
+ ::String(null())
+};
+
+void GCM_obj::__register()
+{
+ GCM_obj _hx_dummy;
+ GCM_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.GCM",ab,10,45,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &GCM_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(GCM_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< GCM_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = GCM_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = GCM_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/GCMSIV.cpp b/Sources/c_borogove/src/haxe/crypto/mode/GCMSIV.cpp
new file mode 100644
index 0000000..40154e3
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/GCMSIV.cpp
@@ -0,0 +1,625 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_38344beec7696400
+#define INCLUDED_38344beec7696400
+#include "cpp/Int64.h"
+#endif
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_GCMSIV
+#include <haxe/crypto/mode/GCMSIV.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_26_encrypt,"haxe.crypto.mode.GCMSIV","encrypt",0x8db1642c,"haxe.crypto.mode.GCMSIV.encrypt","haxe/crypto/mode/GCMSIV.hx",26,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_61_decrypt,"haxe.crypto.mode.GCMSIV","decrypt",0xcae5ae14,"haxe.crypto.mode.GCMSIV.decrypt","haxe/crypto/mode/GCMSIV.hx",61,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_96_subKey,"haxe.crypto.mode.GCMSIV","subKey",0xdd80b818,"haxe.crypto.mode.GCMSIV.subKey","haxe/crypto/mode/GCMSIV.hx",96,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_113_hash,"haxe.crypto.mode.GCMSIV","hash",0xc737f7a7,"haxe.crypto.mode.GCMSIV.hash","haxe/crypto/mode/GCMSIV.hx",113,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_132_initPolyval,"haxe.crypto.mode.GCMSIV","initPolyval",0x2f309c2c,"haxe.crypto.mode.GCMSIV.initPolyval","haxe/crypto/mode/GCMSIV.hx",132,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_174_updateBlockPolyval,"haxe.crypto.mode.GCMSIV","updateBlockPolyval",0xf5bbab8a,"haxe.crypto.mode.GCMSIV.updateBlockPolyval","haxe/crypto/mode/GCMSIV.hx",174,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_248_aesCTR,"haxe.crypto.mode.GCMSIV","aesCTR",0x7fe170eb,"haxe.crypto.mode.GCMSIV.aesCTR","haxe/crypto/mode/GCMSIV.hx",248,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_6_boot,"haxe.crypto.mode.GCMSIV","boot",0xc34b4c0b,"haxe.crypto.mode.GCMSIV.boot","haxe/crypto/mode/GCMSIV.hx",6,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_7_boot,"haxe.crypto.mode.GCMSIV","boot",0xc34b4c0b,"haxe.crypto.mode.GCMSIV.boot","haxe/crypto/mode/GCMSIV.hx",7,0xdbb6aca8)
+HX_LOCAL_STACK_FRAME(_hx_pos_b8923f5a04908e37_8_boot,"haxe.crypto.mode.GCMSIV","boot",0xc34b4c0b,"haxe.crypto.mode.GCMSIV.boot","haxe/crypto/mode/GCMSIV.hx",8,0xdbb6aca8)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void GCMSIV_obj::__construct() { }
+
+Dynamic GCMSIV_obj::__CreateEmpty() { return new GCMSIV_obj; }
+
+void *GCMSIV_obj::_hx_vtable = 0;
+
+Dynamic GCMSIV_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< GCMSIV_obj > _hx_result = new GCMSIV_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool GCMSIV_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5dcabbf9;
+}
+
+int GCMSIV_obj::AES_BLOCK_SIZE;
+
+int GCMSIV_obj::NONCE_SIZE;
+
+::cpp::Int64 GCMSIV_obj::E;
+
+::cpp::Int64 GCMSIV_obj::h0;
+
+::cpp::Int64 GCMSIV_obj::h1;
+
+::cpp::Int64 GCMSIV_obj::s0;
+
+::cpp::Int64 GCMSIV_obj::s1;
+
+ ::haxe::io::Bytes GCMSIV_obj::encrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes nonce, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_26_encrypt)
+HXLINE( 27) bool _hx_tmp;
+HXDLIN( 27) if ((key->length != 16)) {
+HXLINE( 27) _hx_tmp = (key->length != 32);
+ }
+ else {
+HXLINE( 27) _hx_tmp = false;
+ }
+HXDLIN( 27) if (_hx_tmp) {
+HXLINE( 28) HX_STACK_DO_THROW(HX_("Invalid key length",f0,9b,61,c1));
+ }
+HXLINE( 31) if ((nonce->length != ::haxe::crypto::mode::GCMSIV_obj::NONCE_SIZE)) {
+HXLINE( 32) HX_STACK_DO_THROW(HX_("Invalid nonce length",e0,9e,b8,14));
+ }
+HXLINE( 34) bool aes128 = (key->length == 16);
+HXLINE( 35) ::haxe::io::Bytes authKey = ::haxe::crypto::mode::GCMSIV_obj::subKey(0,1,nonce,encryptBlock);
+HXLINE( 36) int encKey;
+HXDLIN( 36) if (aes128) {
+HXLINE( 36) encKey = 3;
+ }
+ else {
+HXLINE( 36) encKey = 5;
+ }
+HXDLIN( 36) ::haxe::io::Bytes encKey1 = ::haxe::crypto::mode::GCMSIV_obj::subKey(2,encKey,nonce,encryptBlock);
+HXLINE( 37) initKey(encKey1,null());
+HXLINE( 38) ::haxe::io::Bytes tag = ::haxe::crypto::mode::GCMSIV_obj::hash(encKey1,authKey,nonce,plaintext,aad,encryptBlock);
+HXLINE( 39) ::haxe::io::Bytes output = ::haxe::io::Bytes_obj::alloc((plaintext->length + ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE));
+HXLINE( 40) if ((plaintext->length > 0)) {
+HXLINE( 41) output->blit(0,plaintext,0,plaintext->length);
+HXLINE( 42) ::haxe::crypto::mode::GCMSIV_obj::aesCTR(encKey1,tag,plaintext,output,encryptBlock);
+ }
+HXLINE( 45) initKey(key,nonce);
+HXLINE( 46) output->blit(plaintext->length,tag,0,::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 47) return output;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(GCMSIV_obj,encrypt,return )
+
+ ::haxe::io::Bytes GCMSIV_obj::decrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes nonce, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_61_decrypt)
+HXLINE( 62) bool _hx_tmp;
+HXDLIN( 62) if ((key->length != 16)) {
+HXLINE( 62) _hx_tmp = (key->length != 32);
+ }
+ else {
+HXLINE( 62) _hx_tmp = false;
+ }
+HXDLIN( 62) if (_hx_tmp) {
+HXLINE( 63) HX_STACK_DO_THROW(HX_("Invalid key length",f0,9b,61,c1));
+ }
+HXLINE( 66) if ((nonce->length != ::haxe::crypto::mode::GCMSIV_obj::NONCE_SIZE)) {
+HXLINE( 67) HX_STACK_DO_THROW(HX_("Invalid nonce length",e0,9e,b8,14));
+ }
+HXLINE( 70) if ((ciphertext->length < ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE)) {
+HXLINE( 71) HX_STACK_DO_THROW(HX_("Invalid ciphertext length",45,cc,1b,0f));
+ }
+HXLINE( 73) bool aes128 = (key->length == 16);
+HXLINE( 74) int ctLen = (ciphertext->length - ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 76) ::haxe::io::Bytes c = ciphertext->sub(0,ctLen);
+HXLINE( 77) ::haxe::io::Bytes tag = ciphertext->sub(ctLen,::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 79) ::haxe::io::Bytes authKey = ::haxe::crypto::mode::GCMSIV_obj::subKey(0,1,nonce,encryptBlock);
+HXLINE( 80) int encKey;
+HXDLIN( 80) if (aes128) {
+HXLINE( 80) encKey = 3;
+ }
+ else {
+HXLINE( 80) encKey = 5;
+ }
+HXDLIN( 80) ::haxe::io::Bytes encKey1 = ::haxe::crypto::mode::GCMSIV_obj::subKey(2,encKey,nonce,encryptBlock);
+HXLINE( 81) initKey(encKey1,null());
+HXLINE( 82) ::haxe::io::Bytes plaintext = ::haxe::io::Bytes_obj::alloc(ctLen);
+HXLINE( 83) if ((ctLen > 0)) {
+HXLINE( 84) plaintext->blit(0,c,0,ctLen);
+HXLINE( 85) ::haxe::crypto::mode::GCMSIV_obj::aesCTR(encKey1,tag,c,plaintext,encryptBlock);
+ }
+HXLINE( 88) ::haxe::io::Bytes actualTag = ::haxe::crypto::mode::GCMSIV_obj::hash(encKey1,authKey,nonce,plaintext,aad,encryptBlock);
+HXLINE( 89) initKey(key,nonce);
+HXLINE( 90) bool _hx_tmp1;
+HXDLIN( 90) if ((tag->length != actualTag->length)) {
+HXLINE( 90) _hx_tmp1 = false;
+ }
+ else {
+HXLINE( 90) int result = 0;
+HXDLIN( 90) {
+HXLINE( 90) int _g = 0;
+HXDLIN( 90) int _g1 = tag->length;
+HXDLIN( 90) while((_g < _g1)){
+HXLINE( 90) _g = (_g + 1);
+HXDLIN( 90) int i = (_g - 1);
+HXDLIN( 90) result = (result | (( (int)(tag->b->__get(i)) ) ^ ( (int)(actualTag->b->__get(i)) )));
+ }
+ }
+HXDLIN( 90) _hx_tmp1 = (result == 0);
+ }
+HXDLIN( 90) if (!(_hx_tmp1)) {
+HXLINE( 91) return null();
+ }
+HXLINE( 93) return plaintext;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(GCMSIV_obj,decrypt,return )
+
+ ::haxe::io::Bytes GCMSIV_obj::subKey(int ctrStart,int ctrEnd, ::haxe::io::Bytes nonce, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_96_subKey)
+HXLINE( 97) ::haxe::io::Bytes counter = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 98) counter->blit((counter->length - nonce->length),nonce,0,nonce->length);
+HXLINE( 101) ::haxe::io::Bytes key = ::haxe::io::Bytes_obj::alloc((((ctrEnd - ctrStart) + 1) << 3));
+HXLINE( 102) ::haxe::io::Bytes block = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 104) {
+HXLINE( 104) int _g = ctrStart;
+HXDLIN( 104) int _g1 = (ctrEnd + 1);
+HXDLIN( 104) while((_g < _g1)){
+HXLINE( 104) _g = (_g + 1);
+HXDLIN( 104) int i = (_g - 1);
+HXLINE( 105) {
+HXLINE( 105) counter->b[0] = ( (unsigned char)((i & 255)) );
+HXDLIN( 105) counter->b[1] = ( (unsigned char)(((i >> 8) & 255)) );
+HXDLIN( 105) counter->b[2] = ( (unsigned char)(((i >> 16) & 255)) );
+HXDLIN( 105) counter->b[3] = ( (unsigned char)(((i >> 24) & 255)) );
+ }
+HXLINE( 106) encryptBlock(counter,0,block,0);
+HXLINE( 108) key->blit(((i - ctrStart) << 3),block,0,8);
+ }
+ }
+HXLINE( 110) return key;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(GCMSIV_obj,subKey,return )
+
+ ::haxe::io::Bytes GCMSIV_obj::hash( ::haxe::io::Bytes encKey, ::haxe::io::Bytes authKey, ::haxe::io::Bytes nonce, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes aad, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_113_hash)
+HXLINE( 114) ::haxe::crypto::mode::GCMSIV_obj::initPolyval(authKey);
+HXLINE( 115) {
+HXLINE( 115) int extra = (aad->length & 15);
+HXDLIN( 115) int fullBlocks = (aad->length - extra);
+HXDLIN( 115) int i = 0;
+HXDLIN( 115) while((i < fullBlocks)){
+HXLINE( 115) ::haxe::crypto::mode::GCMSIV_obj::updateBlockPolyval(aad,i);
+HXDLIN( 115) i = (i + ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+ }
+HXDLIN( 115) if ((extra != 0)) {
+HXLINE( 115) ::haxe::io::Bytes block = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXDLIN( 115) block->blit(0,aad,fullBlocks,extra);
+HXDLIN( 115) ::haxe::crypto::mode::GCMSIV_obj::updateBlockPolyval(block,0);
+ }
+ }
+HXLINE( 116) {
+HXLINE( 116) int extra1 = (plaintext->length & 15);
+HXDLIN( 116) int fullBlocks1 = (plaintext->length - extra1);
+HXDLIN( 116) int i1 = 0;
+HXDLIN( 116) while((i1 < fullBlocks1)){
+HXLINE( 116) ::haxe::crypto::mode::GCMSIV_obj::updateBlockPolyval(plaintext,i1);
+HXDLIN( 116) i1 = (i1 + ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+ }
+HXDLIN( 116) if ((extra1 != 0)) {
+HXLINE( 116) ::haxe::io::Bytes block1 = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXDLIN( 116) block1->blit(0,plaintext,fullBlocks1,extra1);
+HXDLIN( 116) ::haxe::crypto::mode::GCMSIV_obj::updateBlockPolyval(block1,0);
+ }
+ }
+HXLINE( 117) ::haxe::io::Bytes block2 = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 118) {
+HXLINE( 118) int hi = ((aad->length << 3) & -1);
+HXDLIN( 118) block2->b[0] = ( (unsigned char)((hi & 255)) );
+HXDLIN( 118) block2->b[1] = ( (unsigned char)(((hi >> 8) & 255)) );
+HXDLIN( 118) block2->b[2] = ( (unsigned char)(((hi >> 16) & 255)) );
+HXDLIN( 118) block2->b[3] = ( (unsigned char)(((hi >> 24) & 255)) );
+HXDLIN( 118) block2->b[4] = ( (unsigned char)(0) );
+HXDLIN( 118) block2->b[5] = ( (unsigned char)(0) );
+HXDLIN( 118) block2->b[6] = ( (unsigned char)(0) );
+HXDLIN( 118) block2->b[7] = ( (unsigned char)(0) );
+ }
+HXLINE( 119) {
+HXLINE( 119) int hi1 = ((plaintext->length << 3) & -1);
+HXDLIN( 119) block2->b[8] = ( (unsigned char)((hi1 & 255)) );
+HXDLIN( 119) block2->b[9] = ( (unsigned char)(((hi1 >> 8) & 255)) );
+HXDLIN( 119) block2->b[10] = ( (unsigned char)(((hi1 >> 16) & 255)) );
+HXDLIN( 119) block2->b[11] = ( (unsigned char)(((hi1 >> 24) & 255)) );
+HXDLIN( 119) block2->b[12] = ( (unsigned char)(0) );
+HXDLIN( 119) block2->b[13] = ( (unsigned char)(0) );
+HXDLIN( 119) block2->b[14] = ( (unsigned char)(0) );
+HXDLIN( 119) block2->b[15] = ( (unsigned char)(0) );
+ }
+HXLINE( 120) ::haxe::crypto::mode::GCMSIV_obj::updateBlockPolyval(block2,0);
+HXLINE( 121) {
+HXLINE( 121) {
+HXLINE( 121) ::cpp::Int64 n = ::haxe::crypto::mode::GCMSIV_obj::s1;
+HXDLIN( 121) int hi2 = _hx_int64_high(n);
+HXDLIN( 121) int lo = _hx_int64_low(n);
+HXDLIN( 121) block2->b[0] = ( (unsigned char)(lo) );
+HXDLIN( 121) block2->b[1] = ( (unsigned char)(((lo >> 8) & 255)) );
+HXDLIN( 121) block2->b[2] = ( (unsigned char)(((lo >> 16) & 255)) );
+HXDLIN( 121) block2->b[3] = ( (unsigned char)(((lo >> 24) & 255)) );
+HXDLIN( 121) block2->b[4] = ( (unsigned char)(hi2) );
+HXDLIN( 121) block2->b[5] = ( (unsigned char)(((hi2 >> 8) & 255)) );
+HXDLIN( 121) block2->b[6] = ( (unsigned char)(((hi2 >> 16) & 255)) );
+HXDLIN( 121) block2->b[7] = ( (unsigned char)(((hi2 >> 24) & 255)) );
+ }
+HXDLIN( 121) {
+HXLINE( 121) ::cpp::Int64 n1 = ::haxe::crypto::mode::GCMSIV_obj::s0;
+HXDLIN( 121) int hi3 = _hx_int64_high(n1);
+HXDLIN( 121) int lo1 = _hx_int64_low(n1);
+HXDLIN( 121) block2->b[8] = ( (unsigned char)(lo1) );
+HXDLIN( 121) block2->b[9] = ( (unsigned char)(((lo1 >> 8) & 255)) );
+HXDLIN( 121) block2->b[10] = ( (unsigned char)(((lo1 >> 16) & 255)) );
+HXDLIN( 121) block2->b[11] = ( (unsigned char)(((lo1 >> 24) & 255)) );
+HXDLIN( 121) block2->b[12] = ( (unsigned char)(hi3) );
+HXDLIN( 121) block2->b[13] = ( (unsigned char)(((hi3 >> 8) & 255)) );
+HXDLIN( 121) block2->b[14] = ( (unsigned char)(((hi3 >> 16) & 255)) );
+HXDLIN( 121) block2->b[15] = ( (unsigned char)(((hi3 >> 24) & 255)) );
+ }
+ }
+HXLINE( 123) {
+HXLINE( 123) int _g = 0;
+HXDLIN( 123) int _g1 = nonce->length;
+HXDLIN( 123) while((_g < _g1)){
+HXLINE( 123) _g = (_g + 1);
+HXDLIN( 123) int i2 = (_g - 1);
+HXLINE( 124) block2->b[i2] = ( (unsigned char)((( (int)(block2->b->__get(i2)) ) ^ ( (int)(nonce->b->__get(i2)) ))) );
+ }
+ }
+HXLINE( 126) block2->b[(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE - 1)] = ( (unsigned char)((( (int)(block2->b->__get((::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE - 1))) ) & 127)) );
+HXLINE( 127) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 128) encryptBlock(block2,0,result,0);
+HXLINE( 129) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(GCMSIV_obj,hash,return )
+
+void GCMSIV_obj::initPolyval( ::haxe::io::Bytes authKey){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_132_initPolyval)
+HXLINE( 133) int v3 = ((((( (int)(authKey->b->__get(0)) ) & 255) | ((( (int)(authKey->b->__get(1)) ) & 255) << 8)) | ((( (int)(authKey->b->__get(2)) ) & 255) << 16)) | (( (int)(authKey->b->__get(3)) ) << 24));
+HXLINE( 134) int v2 = ((((( (int)(authKey->b->__get(4)) ) & 255) | ((( (int)(authKey->b->__get(5)) ) & 255) << 8)) | ((( (int)(authKey->b->__get(6)) ) & 255) << 16)) | (( (int)(authKey->b->__get(7)) ) << 24));
+HXLINE( 135) int v1 = ((((( (int)(authKey->b->__get(8)) ) & 255) | ((( (int)(authKey->b->__get(9)) ) & 255) << 8)) | ((( (int)(authKey->b->__get(10)) ) & 255) << 16)) | (( (int)(authKey->b->__get(11)) ) << 24));
+HXLINE( 136) int v0 = ((((( (int)(authKey->b->__get(12)) ) & 255) | ((( (int)(authKey->b->__get(13)) ) & 255) << 8)) | ((( (int)(authKey->b->__get(14)) ) & 255) << 16)) | (( (int)(authKey->b->__get(15)) ) << 24));
+HXLINE( 137) int b = v0;
+HXLINE( 138) v0 = ::hx::UShr(b,1);
+HXLINE( 139) int c = (b << 31);
+HXLINE( 140) b = v1;
+HXLINE( 141) v1 = (::hx::UShr(b,1) | c);
+HXLINE( 142) c = (b << 31);
+HXLINE( 143) b = v2;
+HXLINE( 144) v2 = (::hx::UShr(b,1) | c);
+HXLINE( 145) c = (b << 31);
+HXLINE( 146) b = v3;
+HXLINE( 147) v3 = (::hx::UShr(b,1) | c);
+HXLINE( 150) v0 = (v0 ^ (((b << 31) >> 8) & -520093696));
+HXLINE( 151) ::haxe::crypto::mode::GCMSIV_obj::h0 = _hx_int64_make(v0,v1);
+HXLINE( 152) ::haxe::crypto::mode::GCMSIV_obj::h1 = _hx_int64_make(v2,v3);
+HXLINE( 153) ::haxe::crypto::mode::GCMSIV_obj::s0 = _hx_int64_make(0,0);
+HXLINE( 154) ::haxe::crypto::mode::GCMSIV_obj::s1 = _hx_int64_make(0,0);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(GCMSIV_obj,initPolyval,(void))
+
+void GCMSIV_obj::updateBlockPolyval( ::haxe::io::Bytes b,int offset){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_174_updateBlockPolyval)
+HXLINE( 175) int lo = (( (int)(b->b->__get(offset)) ) & 255);
+HXDLIN( 175) lo = (lo | ((( (int)(b->b->__get((offset + 1))) ) & 255) << 8));
+HXDLIN( 175) lo = (lo | ((( (int)(b->b->__get((offset + 2))) ) & 255) << 16));
+HXDLIN( 175) lo = (lo | (( (int)(b->b->__get((offset + 3))) ) << 24));
+HXDLIN( 175) int hi = (( (int)(b->b->__get((offset + 4))) ) & 255);
+HXDLIN( 175) hi = (hi | ((( (int)(b->b->__get((offset + 5))) ) & 255) << 8));
+HXDLIN( 175) hi = (hi | ((( (int)(b->b->__get((offset + 6))) ) & 255) << 16));
+HXDLIN( 175) hi = (hi | (( (int)(b->b->__get((offset + 7))) ) << 24));
+HXDLIN( 175) ::cpp::Int64 result = _hx_int64_make(hi,lo);
+HXLINE( 176) int offset1 = (offset + 8);
+HXDLIN( 176) int lo1 = (( (int)(b->b->__get(offset1)) ) & 255);
+HXDLIN( 176) lo1 = (lo1 | ((( (int)(b->b->__get((offset1 + 1))) ) & 255) << 8));
+HXDLIN( 176) lo1 = (lo1 | ((( (int)(b->b->__get((offset1 + 2))) ) & 255) << 16));
+HXDLIN( 176) lo1 = (lo1 | (( (int)(b->b->__get((offset1 + 3))) ) << 24));
+HXDLIN( 176) int hi1 = (( (int)(b->b->__get((offset1 + 4))) ) & 255);
+HXDLIN( 176) hi1 = (hi1 | ((( (int)(b->b->__get((offset1 + 5))) ) & 255) << 8));
+HXDLIN( 176) hi1 = (hi1 | ((( (int)(b->b->__get((offset1 + 6))) ) & 255) << 16));
+HXDLIN( 176) hi1 = (hi1 | (( (int)(b->b->__get((offset1 + 7))) ) << 24));
+HXDLIN( 176) ::cpp::Int64 result1 = _hx_int64_make(hi1,lo1);
+HXLINE( 177) ::cpp::Int64 x0 = _hx_int64_xor(::haxe::crypto::mode::GCMSIV_obj::s1,result);
+HXLINE( 178) ::cpp::Int64 x1 = _hx_int64_xor(::haxe::crypto::mode::GCMSIV_obj::s0,result1);
+HXLINE( 179) int high = _hx_int64_high(::haxe::crypto::mode::GCMSIV_obj::h0);
+HXDLIN( 179) ::cpp::Int64 v0 = _hx_int64_make(high,_hx_int64_low(::haxe::crypto::mode::GCMSIV_obj::h0));
+HXLINE( 180) int high1 = _hx_int64_high(::haxe::crypto::mode::GCMSIV_obj::h1);
+HXDLIN( 180) ::cpp::Int64 v1 = _hx_int64_make(high1,_hx_int64_low(::haxe::crypto::mode::GCMSIV_obj::h1));
+HXLINE( 181) ::cpp::Int64 z0 = _hx_int64_make(0,0);
+HXLINE( 182) ::cpp::Int64 z1 = _hx_int64_make(0,0);
+HXLINE( 184) {
+HXLINE( 184) int _g = 0;
+HXDLIN( 184) while((_g < 64)){
+HXLINE( 184) _g = (_g + 1);
+HXLINE( 185) ::cpp::Int64 m = _hx_int64_shr(x1,63);
+HXLINE( 186) if (_hx_int64_neq(m,( (::cpp::Int64)(0) ))) {
+HXLINE( 187) z0 = _hx_int64_xor(z0,v0);
+HXLINE( 188) z1 = _hx_int64_xor(z1,v1);
+ }
+HXLINE( 190) ::cpp::Int64 v1SignBit = _hx_int64_and(v1,( (::cpp::Int64)(1) ));
+HXLINE( 191) ::cpp::Int64 c = _hx_int64_and(v0,( (::cpp::Int64)(1) ));
+HXLINE( 193) int high2 = ::hx::UShr(_hx_int64_high(v0),1);
+HXDLIN( 193) int low = ::hx::UShr(_hx_int64_low(v0),1);
+HXDLIN( 193) v0 = _hx_int64_make(high2,(low | ((_hx_int64_high(v0) & 1) << 31)));
+HXLINE( 194) int high3 = ::hx::UShr(_hx_int64_high(v1),1);
+HXDLIN( 194) int low1 = ::hx::UShr(_hx_int64_low(v1),1);
+HXDLIN( 194) v1 = _hx_int64_make(high3,(low1 | ((_hx_int64_high(v1) & 1) << 31)));
+HXLINE( 195) v1 = _hx_int64_xor(v1,_hx_int64_shl(c,63));
+HXLINE( 196) if (_hx_int64_neq(v1SignBit,( (::cpp::Int64)(0) ))) {
+HXLINE( 197) v0 = _hx_int64_xor(v0,::haxe::crypto::mode::GCMSIV_obj::E);
+ }
+HXLINE( 199) x1 = _hx_int64_shl(x1,1);
+ }
+ }
+HXLINE( 202) {
+HXLINE( 202) int _g1 = 64;
+HXDLIN( 202) while((_g1 < 127)){
+HXLINE( 202) _g1 = (_g1 + 1);
+HXLINE( 203) ::cpp::Int64 m1 = _hx_int64_shr(x0,63);
+HXLINE( 204) if (_hx_int64_neq(m1,( (::cpp::Int64)(0) ))) {
+HXLINE( 205) z0 = _hx_int64_xor(z0,v0);
+HXLINE( 206) z1 = _hx_int64_xor(z1,v1);
+ }
+HXLINE( 208) ::cpp::Int64 v1SignBit1 = _hx_int64_and(v1,( (::cpp::Int64)(1) ));
+HXLINE( 209) ::cpp::Int64 c1 = _hx_int64_and(v0,( (::cpp::Int64)(1) ));
+HXLINE( 211) int high4 = ::hx::UShr(_hx_int64_high(v0),1);
+HXDLIN( 211) int low2 = ::hx::UShr(_hx_int64_low(v0),1);
+HXDLIN( 211) v0 = _hx_int64_make(high4,(low2 | ((_hx_int64_high(v0) & 1) << 31)));
+HXLINE( 212) int high5 = ::hx::UShr(_hx_int64_high(v1),1);
+HXDLIN( 212) int low3 = ::hx::UShr(_hx_int64_low(v1),1);
+HXDLIN( 212) v1 = _hx_int64_make(high5,(low3 | ((_hx_int64_high(v1) & 1) << 31)));
+HXLINE( 213) v1 = _hx_int64_xor(v1,_hx_int64_shl(c1,63));
+HXLINE( 215) if (_hx_int64_neq(v1SignBit1,( (::cpp::Int64)(0) ))) {
+HXLINE( 216) v0 = _hx_int64_xor(v0,::haxe::crypto::mode::GCMSIV_obj::E);
+ }
+HXLINE( 218) x0 = _hx_int64_shl(x0,1);
+ }
+ }
+HXLINE( 220) ::cpp::Int64 finalM = _hx_int64_shr(x0,63);
+HXLINE( 221) if (_hx_int64_neq(finalM,( (::cpp::Int64)(0) ))) {
+HXLINE( 222) ::haxe::crypto::mode::GCMSIV_obj::s0 = _hx_int64_xor(z0,_hx_int64_and(v0,finalM));
+HXLINE( 223) ::haxe::crypto::mode::GCMSIV_obj::s1 = _hx_int64_xor(z1,_hx_int64_and(v1,finalM));
+ }
+ else {
+HXLINE( 225) ::haxe::crypto::mode::GCMSIV_obj::s0 = z0;
+HXLINE( 226) ::haxe::crypto::mode::GCMSIV_obj::s1 = z1;
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(GCMSIV_obj,updateBlockPolyval,(void))
+
+void GCMSIV_obj::aesCTR( ::haxe::io::Bytes key, ::haxe::io::Bytes tag, ::haxe::io::Bytes input, ::haxe::io::Bytes output, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_248_aesCTR)
+HXLINE( 249) ::haxe::io::Bytes counter = ::haxe::io::Bytes_obj::alloc(tag->length);
+HXLINE( 250) counter->blit(0,tag,0,tag->length);
+HXLINE( 251) counter->b[(counter->length - 1)] = ( (unsigned char)((( (int)(counter->b->__get((counter->length - 1))) ) | 128)) );
+HXLINE( 253) ::haxe::io::Bytes k = ::haxe::io::Bytes_obj::alloc(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+HXLINE( 254) int i = 0;
+HXLINE( 255) while((i < input->length)){
+HXLINE( 256) encryptBlock(counter,0,k,0);
+HXLINE( 257) int len = ::Std_obj::_hx_int(::Math_obj::min(( (Float)(::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE) ),( (Float)((input->length - i)) )));
+HXLINE( 258) {
+HXLINE( 258) int _g = 0;
+HXDLIN( 258) while((_g < len)){
+HXLINE( 258) _g = (_g + 1);
+HXDLIN( 258) int j = (_g - 1);
+HXLINE( 259) output->b[(i + j)] = ( (unsigned char)((( (int)(input->b->__get((i + j))) ) ^ ( (int)(k->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 262) int carry = 1;
+HXLINE( 263) {
+HXLINE( 263) int _g1 = 0;
+HXDLIN( 263) while((_g1 < 4)){
+HXLINE( 263) _g1 = (_g1 + 1);
+HXDLIN( 263) int j1 = (_g1 - 1);
+HXLINE( 264) int val = (counter->b->__get(j1) + carry);
+HXLINE( 265) counter->b[j1] = ( (unsigned char)((val & 255)) );
+HXLINE( 266) carry = ::hx::UShr(val,8);
+HXLINE( 267) if ((carry == 0)) {
+HXLINE( 268) goto _hx_goto_15;
+ }
+ }
+ _hx_goto_15:;
+ }
+HXLINE( 270) i = (i + ::haxe::crypto::mode::GCMSIV_obj::AES_BLOCK_SIZE);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(GCMSIV_obj,aesCTR,(void))
+
+
+GCMSIV_obj::GCMSIV_obj()
+{
+}
+
+bool GCMSIV_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"E") ) { outValue = ( E ); return true; }
+ break;
+ case 2:
+ if (HX_FIELD_EQ(inName,"h0") ) { outValue = ( h0 ); return true; }
+ if (HX_FIELD_EQ(inName,"h1") ) { outValue = ( h1 ); return true; }
+ if (HX_FIELD_EQ(inName,"s0") ) { outValue = ( s0 ); return true; }
+ if (HX_FIELD_EQ(inName,"s1") ) { outValue = ( s1 ); return true; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"hash") ) { outValue = hash_dyn(); return true; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"subKey") ) { outValue = subKey_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"aesCTR") ) { outValue = aesCTR_dyn(); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"NONCE_SIZE") ) { outValue = ( NONCE_SIZE ); return true; }
+ break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"initPolyval") ) { outValue = initPolyval_dyn(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"AES_BLOCK_SIZE") ) { outValue = ( AES_BLOCK_SIZE ); return true; }
+ break;
+ case 18:
+ if (HX_FIELD_EQ(inName,"updateBlockPolyval") ) { outValue = updateBlockPolyval_dyn(); return true; }
+ }
+ return false;
+}
+
+bool GCMSIV_obj::__SetStatic(const ::String &inName,Dynamic &ioValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"E") ) { E=ioValue.Cast< ::cpp::Int64 >(); return true; }
+ break;
+ case 2:
+ if (HX_FIELD_EQ(inName,"h0") ) { h0=ioValue.Cast< ::cpp::Int64 >(); return true; }
+ if (HX_FIELD_EQ(inName,"h1") ) { h1=ioValue.Cast< ::cpp::Int64 >(); return true; }
+ if (HX_FIELD_EQ(inName,"s0") ) { s0=ioValue.Cast< ::cpp::Int64 >(); return true; }
+ if (HX_FIELD_EQ(inName,"s1") ) { s1=ioValue.Cast< ::cpp::Int64 >(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"NONCE_SIZE") ) { NONCE_SIZE=ioValue.Cast< int >(); return true; }
+ break;
+ case 14:
+ if (HX_FIELD_EQ(inName,"AES_BLOCK_SIZE") ) { AES_BLOCK_SIZE=ioValue.Cast< int >(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *GCMSIV_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo GCMSIV_obj_sStaticStorageInfo[] = {
+ {::hx::fsInt,(void *) &GCMSIV_obj::AES_BLOCK_SIZE,HX_("AES_BLOCK_SIZE",e3,4a,f5,00)},
+ {::hx::fsInt,(void *) &GCMSIV_obj::NONCE_SIZE,HX_("NONCE_SIZE",71,31,72,7f)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(void *) &GCMSIV_obj::E,HX_("E",45,00,00,00)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(void *) &GCMSIV_obj::h0,HX_("h0",c8,5a,00,00)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(void *) &GCMSIV_obj::h1,HX_("h1",c9,5a,00,00)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(void *) &GCMSIV_obj::s0,HX_("s0",5d,64,00,00)},
+ {::hx::fsUnknown /* ::cpp::Int64 */ ,(void *) &GCMSIV_obj::s1,HX_("s1",5e,64,00,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+#endif
+
+static void GCMSIV_obj_sMarkStatics(HX_MARK_PARAMS) {
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::AES_BLOCK_SIZE,"AES_BLOCK_SIZE");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::NONCE_SIZE,"NONCE_SIZE");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::E,"E");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::h0,"h0");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::h1,"h1");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::s0,"s0");
+ HX_MARK_MEMBER_NAME(GCMSIV_obj::s1,"s1");
+};
+
+#ifdef HXCPP_VISIT_ALLOCS
+static void GCMSIV_obj_sVisitStatics(HX_VISIT_PARAMS) {
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::AES_BLOCK_SIZE,"AES_BLOCK_SIZE");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::NONCE_SIZE,"NONCE_SIZE");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::E,"E");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::h0,"h0");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::h1,"h1");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::s0,"s0");
+ HX_VISIT_MEMBER_NAME(GCMSIV_obj::s1,"s1");
+};
+
+#endif
+
+::hx::Class GCMSIV_obj::__mClass;
+
+static ::String GCMSIV_obj_sStaticFields[] = {
+ HX_("AES_BLOCK_SIZE",e3,4a,f5,00),
+ HX_("NONCE_SIZE",71,31,72,7f),
+ HX_("E",45,00,00,00),
+ HX_("h0",c8,5a,00,00),
+ HX_("h1",c9,5a,00,00),
+ HX_("s0",5d,64,00,00),
+ HX_("s1",5e,64,00,00),
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("subKey",ff,87,ec,99),
+ HX_("hash",ce,2f,08,45),
+ HX_("initPolyval",e5,c6,06,cb),
+ HX_("updateBlockPolyval",f1,39,d3,bc),
+ HX_("aesCTR",d2,40,4d,3c),
+ ::String(null())
+};
+
+void GCMSIV_obj::__register()
+{
+ GCMSIV_obj _hx_dummy;
+ GCMSIV_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.GCMSIV",35,a7,8b,6c);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &GCMSIV_obj::__GetStatic;
+ __mClass->mSetStaticField = &GCMSIV_obj::__SetStatic;
+ __mClass->mMarkFunc = GCMSIV_obj_sMarkStatics;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(GCMSIV_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< GCMSIV_obj >;
+#ifdef HXCPP_VISIT_ALLOCS
+ __mClass->mVisitFunc = GCMSIV_obj_sVisitStatics;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = GCMSIV_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = GCMSIV_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+void GCMSIV_obj::__boot()
+{
+{
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_6_boot)
+HXDLIN( 6) AES_BLOCK_SIZE = 16;
+ }
+{
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_7_boot)
+HXDLIN( 7) NONCE_SIZE = 12;
+ }
+{
+ HX_STACKFRAME(&_hx_pos_b8923f5a04908e37_8_boot)
+HXDLIN( 8) E = _hx_int64_make(-520093696,0);
+ }
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/OFB.cpp b/Sources/c_borogove/src/haxe/crypto/mode/OFB.cpp
new file mode 100644
index 0000000..5e39880
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/OFB.cpp
@@ -0,0 +1,125 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_OFB
+#include <haxe/crypto/mode/OFB.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_7039d13150f6696b_6_encrypt,"haxe.crypto.mode.OFB","encrypt",0x6a35723c,"haxe.crypto.mode.OFB.encrypt","haxe/crypto/mode/OFB.hx",6,0xc29aef3a)
+HX_LOCAL_STACK_FRAME(_hx_pos_7039d13150f6696b_21_decrypt,"haxe.crypto.mode.OFB","decrypt",0xa769bc24,"haxe.crypto.mode.OFB.decrypt","haxe/crypto/mode/OFB.hx",21,0xc29aef3a)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void OFB_obj::__construct() { }
+
+Dynamic OFB_obj::__CreateEmpty() { return new OFB_obj; }
+
+void *OFB_obj::_hx_vtable = 0;
+
+Dynamic OFB_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< OFB_obj > _hx_result = new OFB_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool OFB_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x101cf91d;
+}
+
+void OFB_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_7039d13150f6696b_6_encrypt)
+HXLINE( 7) ::haxe::io::Bytes vector = iv->sub(0,iv->length);
+HXLINE( 8) int i = 0;
+HXLINE( 9) int len = src->length;
+HXLINE( 10) while((i < len)){
+HXLINE( 11) encryptBlock(vector,0,vector,0);
+HXLINE( 12) int block;
+HXDLIN( 12) if (((i + blockSize) > len)) {
+HXLINE( 12) block = (len - i);
+ }
+ else {
+HXLINE( 12) block = blockSize;
+ }
+HXLINE( 13) {
+HXLINE( 13) int _g = 0;
+HXDLIN( 13) int _g1 = block;
+HXDLIN( 13) while((_g < _g1)){
+HXLINE( 13) _g = (_g + 1);
+HXDLIN( 13) int j = (_g - 1);
+HXLINE( 14) src->b[(i + j)] = ( (unsigned char)((( (int)(src->b->__get((i + j))) ) ^ ( (int)(vector->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 16) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(OFB_obj,encrypt,(void))
+
+void OFB_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_7039d13150f6696b_21_decrypt)
+HXDLIN( 21) ::haxe::crypto::mode::OFB_obj::encrypt(src,iv,blockSize,decryptBlock);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(OFB_obj,decrypt,(void))
+
+
+OFB_obj::OFB_obj()
+{
+}
+
+bool OFB_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *OFB_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *OFB_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class OFB_obj::__mClass;
+
+static ::String OFB_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void OFB_obj::__register()
+{
+ OFB_obj _hx_dummy;
+ OFB_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.OFB",45,25,4b,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &OFB_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(OFB_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< OFB_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = OFB_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = OFB_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/PCBC.cpp b/Sources/c_borogove/src/haxe/crypto/mode/PCBC.cpp
new file mode 100644
index 0000000..8145c03
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/PCBC.cpp
@@ -0,0 +1,151 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_mode_PCBC
+#include <haxe/crypto/mode/PCBC.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_4cc6f42afbe95e8f_6_encrypt,"haxe.crypto.mode.PCBC","encrypt",0x8fb93131,"haxe.crypto.mode.PCBC.encrypt","haxe/crypto/mode/PCBC.hx",6,0x892f3003)
+HX_LOCAL_STACK_FRAME(_hx_pos_4cc6f42afbe95e8f_24_decrypt,"haxe.crypto.mode.PCBC","decrypt",0xcced7b19,"haxe.crypto.mode.PCBC.decrypt","haxe/crypto/mode/PCBC.hx",24,0x892f3003)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void PCBC_obj::__construct() { }
+
+Dynamic PCBC_obj::__CreateEmpty() { return new PCBC_obj; }
+
+void *PCBC_obj::_hx_vtable = 0;
+
+Dynamic PCBC_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< PCBC_obj > _hx_result = new PCBC_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool PCBC_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x09e3f062;
+}
+
+void PCBC_obj::encrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic encryptBlock){
+ HX_STACKFRAME(&_hx_pos_4cc6f42afbe95e8f_6_encrypt)
+HXLINE( 7) ::haxe::io::Bytes vector = iv->sub(0,iv->length);
+HXLINE( 8) int i = 0;
+HXLINE( 9) int len = src->length;
+HXLINE( 10) ::haxe::io::Bytes plainText = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 11) while((i < len)){
+HXLINE( 12) {
+HXLINE( 12) int _g = 0;
+HXDLIN( 12) while((_g < blockSize)){
+HXLINE( 12) _g = (_g + 1);
+HXDLIN( 12) int j = (_g - 1);
+HXLINE( 13) plainText->b[j] = src->b->__get((i + j));
+HXLINE( 14) src->b[(i + j)] = ( (unsigned char)((( (int)(src->b->__get((i + j))) ) ^ ( (int)(vector->b->__get(j)) ))) );
+ }
+ }
+HXLINE( 16) encryptBlock(src,i,src,i);
+HXLINE( 17) {
+HXLINE( 17) int _g1 = 0;
+HXDLIN( 17) while((_g1 < blockSize)){
+HXLINE( 17) _g1 = (_g1 + 1);
+HXDLIN( 17) int j1 = (_g1 - 1);
+HXLINE( 18) vector->b[j1] = ( (unsigned char)((( (int)(src->b->__get((i + j1))) ) ^ ( (int)(plainText->b->__get(j1)) ))) );
+ }
+ }
+HXLINE( 20) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(PCBC_obj,encrypt,(void))
+
+void PCBC_obj::decrypt( ::haxe::io::Bytes src, ::haxe::io::Bytes iv,int blockSize, ::Dynamic decryptBlock){
+ HX_STACKFRAME(&_hx_pos_4cc6f42afbe95e8f_24_decrypt)
+HXLINE( 25) ::haxe::io::Bytes vector = iv->sub(0,iv->length);
+HXLINE( 26) int i = 0;
+HXLINE( 27) int len = src->length;
+HXLINE( 28) ::haxe::io::Bytes cipherText = ::haxe::io::Bytes_obj::alloc(blockSize);
+HXLINE( 29) while((i < len)){
+HXLINE( 30) {
+HXLINE( 30) int _g = 0;
+HXDLIN( 30) while((_g < blockSize)){
+HXLINE( 30) _g = (_g + 1);
+HXDLIN( 30) int j = (_g - 1);
+HXLINE( 31) cipherText->b[j] = src->b->__get((i + j));
+ }
+ }
+HXLINE( 33) decryptBlock(src,i,src,i);
+HXLINE( 34) {
+HXLINE( 34) int _g1 = 0;
+HXDLIN( 34) while((_g1 < blockSize)){
+HXLINE( 34) _g1 = (_g1 + 1);
+HXDLIN( 34) int j1 = (_g1 - 1);
+HXLINE( 35) src->b[(i + j1)] = ( (unsigned char)((( (int)(src->b->__get((i + j1))) ) ^ ( (int)(vector->b->__get(j1)) ))) );
+HXLINE( 36) vector->b[j1] = ( (unsigned char)((( (int)(src->b->__get((i + j1))) ) ^ ( (int)(cipherText->b->__get(j1)) ))) );
+ }
+ }
+HXLINE( 38) i = (i + blockSize);
+ }
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC4(PCBC_obj,decrypt,(void))
+
+
+PCBC_obj::PCBC_obj()
+{
+}
+
+bool PCBC_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *PCBC_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *PCBC_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class PCBC_obj::__mClass;
+
+static ::String PCBC_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ ::String(null())
+};
+
+void PCBC_obj::__register()
+{
+ PCBC_obj _hx_dummy;
+ PCBC_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.PCBC",3a,67,1c,31);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &PCBC_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(PCBC_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< PCBC_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = PCBC_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = PCBC_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/mode/SIV.cpp b/Sources/c_borogove/src/haxe/crypto/mode/SIV.cpp
new file mode 100644
index 0000000..44dac00
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/mode/SIV.cpp
@@ -0,0 +1,342 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CMAC
+#include <haxe/crypto/mode/CMAC.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_CTR
+#include <haxe/crypto/mode/CTR.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_mode_SIV
+#include <haxe/crypto/mode/SIV.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_BitPadding
+#include <haxe/crypto/padding/BitPadding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_18_encrypt,"haxe.crypto.mode.SIV","encrypt",0x296abaf1,"haxe.crypto.mode.SIV.encrypt","haxe/crypto/mode/SIV.hx",18,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_53_decrypt,"haxe.crypto.mode.SIV","decrypt",0x669f04d9,"haxe.crypto.mode.SIV.decrypt","haxe/crypto/mode/SIV.hx",53,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_88_computeCtr,"haxe.crypto.mode.SIV","computeCtr",0x8b71dc5e,"haxe.crypto.mode.SIV.computeCtr","haxe/crypto/mode/SIV.hx",88,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_100_s2v,"haxe.crypto.mode.SIV","s2v",0xfd1275c3,"haxe.crypto.mode.SIV.s2v","haxe/crypto/mode/SIV.hx",100,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_127_shiftLeft,"haxe.crypto.mode.SIV","shiftLeft",0xcc2a0135,"haxe.crypto.mode.SIV.shiftLeft","haxe/crypto/mode/SIV.hx",127,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_138_dbl,"haxe.crypto.mode.SIV","dbl",0xfd073dba,"haxe.crypto.mode.SIV.dbl","haxe/crypto/mode/SIV.hx",138,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_147_xor,"haxe.crypto.mode.SIV","xor",0xfd167627,"haxe.crypto.mode.SIV.xor","haxe/crypto/mode/SIV.hx",147,0x237462a5)
+HX_LOCAL_STACK_FRAME(_hx_pos_ff65cadbc6fda9f6_158_xorend,"haxe.crypto.mode.SIV","xorend",0xedeba014,"haxe.crypto.mode.SIV.xorend","haxe/crypto/mode/SIV.hx",158,0x237462a5)
+namespace haxe{
+namespace crypto{
+namespace mode{
+
+void SIV_obj::__construct() { }
+
+Dynamic SIV_obj::__CreateEmpty() { return new SIV_obj; }
+
+void *SIV_obj::_hx_vtable = 0;
+
+Dynamic SIV_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< SIV_obj > _hx_result = new SIV_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool SIV_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x102004d2;
+}
+
+ ::haxe::io::Bytes SIV_obj::encrypt( ::haxe::io::Bytes key, ::haxe::io::Bytes plaintext, ::haxe::io::Bytes nonce,::Array< ::Dynamic> associatedData, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_18_encrypt)
+HXLINE( 19) if (::hx::IsNull( associatedData )) {
+HXLINE( 20) associatedData = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 22) if ((plaintext->length > (int)2147483631)) {
+HXLINE( 23) HX_STACK_DO_THROW(HX_("Text to encrypt is too long",11,75,70,02));
+ }
+HXLINE( 26) bool _hx_tmp;
+HXDLIN( 26) bool _hx_tmp1;
+HXDLIN( 26) if ((key->length != 64)) {
+HXLINE( 26) _hx_tmp1 = (key->length != 48);
+ }
+ else {
+HXLINE( 26) _hx_tmp1 = false;
+ }
+HXDLIN( 26) if (_hx_tmp1) {
+HXLINE( 26) _hx_tmp = (key->length != 32);
+ }
+ else {
+HXLINE( 26) _hx_tmp = false;
+ }
+HXDLIN( 26) if (_hx_tmp) {
+HXLINE( 27) HX_STACK_DO_THROW(HX_("Key should be 32, 48, or 64 bytes (256, 384, 512 bits)",8b,e9,f8,61));
+ }
+HXLINE( 30) int subkeyLen = (key->length >> 1);
+HXLINE( 31) ::haxe::io::Bytes macKey = key->sub(0,subkeyLen);
+HXLINE( 32) ::haxe::io::Bytes ctrKey = key->sub(subkeyLen,subkeyLen);
+HXLINE( 33) ::haxe::io::Bytes iv = ::haxe::crypto::mode::SIV_obj::s2v(macKey,plaintext,associatedData,nonce,encryptBlock,initKey);
+HXLINE( 34) ::haxe::io::Bytes ciphertext = ::haxe::crypto::mode::SIV_obj::computeCtr(plaintext,ctrKey,iv,encryptBlock,initKey);
+HXLINE( 35) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc((iv->length + ciphertext->length));
+HXLINE( 36) result->blit(0,iv,0,iv->length);
+HXLINE( 37) result->blit(iv->length,ciphertext,0,ciphertext->length);
+HXLINE( 38) initKey(key,nonce);
+HXLINE( 39) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(SIV_obj,encrypt,return )
+
+ ::haxe::io::Bytes SIV_obj::decrypt( ::haxe::io::Bytes combinedKey, ::haxe::io::Bytes ciphertext, ::haxe::io::Bytes nonce,::Array< ::Dynamic> associatedData, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_53_decrypt)
+HXLINE( 54) bool _hx_tmp;
+HXDLIN( 54) bool _hx_tmp1;
+HXDLIN( 54) if ((combinedKey->length != 64)) {
+HXLINE( 54) _hx_tmp1 = (combinedKey->length != 48);
+ }
+ else {
+HXLINE( 54) _hx_tmp1 = false;
+ }
+HXDLIN( 54) if (_hx_tmp1) {
+HXLINE( 54) _hx_tmp = (combinedKey->length != 32);
+ }
+ else {
+HXLINE( 54) _hx_tmp = false;
+ }
+HXDLIN( 54) if (_hx_tmp) {
+HXLINE( 55) HX_STACK_DO_THROW(HX_("Key should be 32, 48, or 64 bytes (256, 384, 512 bits)",8b,e9,f8,61));
+ }
+HXLINE( 58) int subkeyLen = ::Std_obj::_hx_int((( (Float)(combinedKey->length) ) / ( (Float)(2) )));
+HXLINE( 59) ::haxe::io::Bytes macKey = combinedKey->sub(0,subkeyLen);
+HXLINE( 60) ::haxe::io::Bytes ctrKey = combinedKey->sub(subkeyLen,subkeyLen);
+HXLINE( 62) if (::hx::IsNull( associatedData )) {
+HXLINE( 63) associatedData = ::Array_obj< ::Dynamic>::__new(0);
+ }
+HXLINE( 65) if ((ciphertext->length < 16)) {
+HXLINE( 66) HX_STACK_DO_THROW(HX_("Input length must be greater than or equal 16",bf,8c,fd,16));
+ }
+HXLINE( 69) ::haxe::io::Bytes iv = ciphertext->sub(0,16);
+HXLINE( 71) ::haxe::io::Bytes plaintext = ::haxe::crypto::mode::SIV_obj::computeCtr(ciphertext->sub(16,(ciphertext->length - 16)),ctrKey,iv,encryptBlock,initKey);
+HXLINE( 72) ::haxe::io::Bytes control = ::haxe::crypto::mode::SIV_obj::s2v(macKey,plaintext,associatedData,nonce,encryptBlock,initKey);
+HXLINE( 74) initKey(combinedKey,nonce);
+HXLINE( 76) int diff = 0;
+HXLINE( 77) {
+HXLINE( 77) int _g = 0;
+HXDLIN( 77) int _g1 = iv->length;
+HXDLIN( 77) while((_g < _g1)){
+HXLINE( 77) _g = (_g + 1);
+HXDLIN( 77) int i = (_g - 1);
+HXLINE( 78) diff = (diff | (( (int)(iv->b->__get(i)) ) ^ ( (int)(control->b->__get(i)) )));
+ }
+ }
+HXLINE( 81) if ((diff == 0)) {
+HXLINE( 82) return plaintext;
+ }
+ else {
+HXLINE( 84) return null();
+ }
+HXLINE( 81) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(SIV_obj,decrypt,return )
+
+ ::haxe::io::Bytes SIV_obj::computeCtr( ::haxe::io::Bytes input, ::haxe::io::Bytes key, ::haxe::io::Bytes iv, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_88_computeCtr)
+HXLINE( 89) ::haxe::io::Bytes adjustedIv = ::haxe::io::Bytes_obj::alloc(16);
+HXLINE( 90) adjustedIv->blit(0,iv,0,16);
+HXLINE( 91) adjustedIv->b[8] = ( (unsigned char)((( (int)(adjustedIv->b->__get(8)) ) & 127)) );
+HXLINE( 92) adjustedIv->b[12] = ( (unsigned char)((( (int)(adjustedIv->b->__get(12)) ) & 127)) );
+HXLINE( 94) initKey(key,iv);
+HXLINE( 95) ::haxe::crypto::mode::CTR_obj::encrypt(input,adjustedIv,16,encryptBlock);
+HXLINE( 96) return input;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC5(SIV_obj,computeCtr,return )
+
+ ::haxe::io::Bytes SIV_obj::s2v( ::haxe::io::Bytes macKey, ::haxe::io::Bytes plaintext,::Array< ::Dynamic> associatedData, ::haxe::io::Bytes nonce, ::Dynamic encryptBlock, ::Dynamic initKey){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_100_s2v)
+HXLINE( 101) if ((associatedData->length > 126)) {
+HXLINE( 102) HX_STACK_DO_THROW(HX_("Too many associatedData fields",f4,56,9a,65));
+ }
+HXLINE( 104) initKey(macKey,nonce);
+HXLINE( 105) ::haxe::io::Bytes d = ::haxe::crypto::mode::CMAC_obj::generate(::haxe::io::Bytes_obj::alloc(16),macKey,16,encryptBlock);
+HXLINE( 106) {
+HXLINE( 106) int _g = 0;
+HXDLIN( 106) while((_g < associatedData->length)){
+HXLINE( 106) ::haxe::io::Bytes s = associatedData->__get(_g).StaticCast< ::haxe::io::Bytes >();
+HXDLIN( 106) _g = (_g + 1);
+HXLINE( 107) ::haxe::io::Bytes mac = ::haxe::crypto::mode::CMAC_obj::generate(s,macKey,16,encryptBlock);
+HXLINE( 109) d = ::haxe::crypto::mode::SIV_obj::_hx_xor(::haxe::crypto::mode::SIV_obj::dbl(d),mac);
+ }
+ }
+HXLINE( 111) if (::hx::IsNotNull( nonce )) {
+HXLINE( 112) ::haxe::io::Bytes mac1 = ::haxe::crypto::mode::CMAC_obj::generate(nonce,macKey,16,encryptBlock);
+HXLINE( 114) d = ::haxe::crypto::mode::SIV_obj::_hx_xor(::haxe::crypto::mode::SIV_obj::dbl(d),mac1);
+ }
+HXLINE( 116) ::haxe::io::Bytes t;
+HXLINE( 117) if ((plaintext->length >= 16)) {
+HXLINE( 118) t = ::haxe::crypto::mode::SIV_obj::xorend(plaintext,d);
+ }
+ else {
+HXLINE( 120) ::haxe::io::Bytes padded = ::haxe::crypto::padding::BitPadding_obj::pad(plaintext,16);
+HXLINE( 121) t = ::haxe::crypto::mode::SIV_obj::_hx_xor(::haxe::crypto::mode::SIV_obj::dbl(d),padded);
+ }
+HXLINE( 124) return ::haxe::crypto::mode::CMAC_obj::generate(t,macKey,16,encryptBlock);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC6(SIV_obj,s2v,return )
+
+int SIV_obj::shiftLeft( ::haxe::io::Bytes block, ::haxe::io::Bytes output){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_127_shiftLeft)
+HXLINE( 128) int i = block->length;
+HXLINE( 129) int bit = 0;
+HXLINE( 130) while(true){
+HXLINE( 130) i = (i - 1);
+HXDLIN( 130) if (!((i >= 0))) {
+HXLINE( 130) goto _hx_goto_6;
+ }
+HXLINE( 131) int b = (( (int)(block->b->__get(i)) ) & 255);
+HXLINE( 132) output->b[i] = ( (unsigned char)(((b << 1) | bit)) );
+HXLINE( 133) bit = (::hx::UShr(b,7) & 1);
+ }
+ _hx_goto_6:;
+HXLINE( 135) return bit;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(SIV_obj,shiftLeft,return )
+
+ ::haxe::io::Bytes SIV_obj::dbl( ::haxe::io::Bytes input){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_138_dbl)
+HXLINE( 139) ::haxe::io::Bytes ret = ::haxe::io::Bytes_obj::alloc(input->length);
+HXLINE( 141) int mask = (-(::haxe::crypto::mode::SIV_obj::shiftLeft(input,ret)) & 255);
+HXLINE( 142) ret->b[(input->length - 1)] = ( (unsigned char)((( (int)(ret->b->__get((input->length - 1))) ) ^ (135 & mask))) );
+HXLINE( 144) return ret;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(SIV_obj,dbl,return )
+
+ ::haxe::io::Bytes SIV_obj::_hx_xor( ::haxe::io::Bytes in1, ::haxe::io::Bytes in2){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_147_xor)
+HXLINE( 148) if ((in1->length > in2->length)) {
+HXLINE( 149) HX_STACK_DO_THROW(HX_("in1.length must be <= in2.length",e8,fe,ec,9e));
+ }
+HXLINE( 151) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc(in1->length);
+HXLINE( 152) {
+HXLINE( 152) int _g = 0;
+HXDLIN( 152) int _g1 = result->length;
+HXDLIN( 152) while((_g < _g1)){
+HXLINE( 152) _g = (_g + 1);
+HXDLIN( 152) int i = (_g - 1);
+HXLINE( 153) result->b[i] = ( (unsigned char)((( (int)(in1->b->__get(i)) ) ^ ( (int)(in2->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 155) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(SIV_obj,_hx_xor,return )
+
+ ::haxe::io::Bytes SIV_obj::xorend( ::haxe::io::Bytes in1, ::haxe::io::Bytes in2){
+ HX_STACKFRAME(&_hx_pos_ff65cadbc6fda9f6_158_xorend)
+HXLINE( 159) if ((in1->length < in2->length)) {
+HXLINE( 160) HX_STACK_DO_THROW(HX_("in1.length must be >= in2.length",ea,f9,6d,2a));
+ }
+HXLINE( 162) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc(in1->length);
+HXLINE( 163) result->blit(0,in1,0,in1->length);
+HXLINE( 164) int diff = (in1->length - in2->length);
+HXLINE( 165) {
+HXLINE( 165) int _g = 0;
+HXDLIN( 165) int _g1 = in2->length;
+HXDLIN( 165) while((_g < _g1)){
+HXLINE( 165) _g = (_g + 1);
+HXDLIN( 165) int i = (_g - 1);
+HXLINE( 166) result->b[(i + diff)] = ( (unsigned char)((( (int)(result->b->__get((i + diff))) ) ^ ( (int)(in2->b->__get(i)) ))) );
+ }
+ }
+HXLINE( 168) return result;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(SIV_obj,xorend,return )
+
+
+SIV_obj::SIV_obj()
+{
+}
+
+bool SIV_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"s2v") ) { outValue = s2v_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"dbl") ) { outValue = dbl_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"xor") ) { outValue = _hx_xor_dyn(); return true; }
+ break;
+ case 6:
+ if (HX_FIELD_EQ(inName,"xorend") ) { outValue = xorend_dyn(); return true; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"encrypt") ) { outValue = encrypt_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"decrypt") ) { outValue = decrypt_dyn(); return true; }
+ break;
+ case 9:
+ if (HX_FIELD_EQ(inName,"shiftLeft") ) { outValue = shiftLeft_dyn(); return true; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"computeCtr") ) { outValue = computeCtr_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *SIV_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *SIV_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class SIV_obj::__mClass;
+
+static ::String SIV_obj_sStaticFields[] = {
+ HX_("encrypt",65,7e,9b,af),
+ HX_("decrypt",4d,c8,cf,ec),
+ HX_("computeCtr",6a,b9,89,34),
+ HX_("s2v",37,6f,57,00),
+ HX_("shiftLeft",a9,89,a9,d2),
+ HX_("dbl",2e,37,4c,00),
+ HX_("xor",9b,6f,5b,00),
+ HX_("xorend",20,07,f5,2f),
+ ::String(null())
+};
+
+void SIV_obj::__register()
+{
+ SIV_obj _hx_dummy;
+ SIV_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.mode.SIV",fa,30,4e,f1);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &SIV_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(SIV_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< SIV_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = SIV_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = SIV_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace mode
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/AnsiX923.cpp b/Sources/c_borogove/src/haxe/crypto/padding/AnsiX923.cpp
new file mode 100644
index 0000000..b1c2d3e
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/AnsiX923.cpp
@@ -0,0 +1,117 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_AnsiX923
+#include <haxe/crypto/padding/AnsiX923.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_cb37a467fc196f08_7_pad,"haxe.crypto.padding.AnsiX923","pad",0x337b806c,"haxe.crypto.padding.AnsiX923.pad","haxe/crypto/padding/AnsiX923.hx",7,0x3a432196)
+HX_LOCAL_STACK_FRAME(_hx_pos_cb37a467fc196f08_21_unpad,"haxe.crypto.padding.AnsiX923","unpad",0x934f8ff3,"haxe.crypto.padding.AnsiX923.unpad","haxe/crypto/padding/AnsiX923.hx",21,0x3a432196)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void AnsiX923_obj::__construct() { }
+
+Dynamic AnsiX923_obj::__CreateEmpty() { return new AnsiX923_obj; }
+
+void *AnsiX923_obj::_hx_vtable = 0;
+
+Dynamic AnsiX923_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< AnsiX923_obj > _hx_result = new AnsiX923_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool AnsiX923_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x16ad6123;
+}
+
+ ::haxe::io::Bytes AnsiX923_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_cb37a467fc196f08_7_pad)
+HXLINE( 8) int padding = ((blockSize - ::hx::Mod(ciphertext->length,blockSize)) - 1);
+HXLINE( 9) int bsize = (ciphertext->length + padding);
+HXLINE( 10) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc((bsize + 1));
+HXLINE( 11) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 12) {
+HXLINE( 12) int _g = ciphertext->length;
+HXDLIN( 12) while((_g < bsize)){
+HXLINE( 12) _g = (_g + 1);
+HXLINE( 13) buffer->b[(_g - 1)] = ( (unsigned char)(0) );
+ }
+ }
+HXLINE( 15) buffer->b[bsize] = ( (unsigned char)((padding + 1)) );
+HXLINE( 16) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(AnsiX923_obj,pad,return )
+
+ ::haxe::io::Bytes AnsiX923_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_cb37a467fc196f08_21_unpad)
+HXDLIN( 21) return encrypt->sub(0,(encrypt->length - ( (int)(encrypt->b->__get((encrypt->length - 1))) )));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(AnsiX923_obj,unpad,return )
+
+
+AnsiX923_obj::AnsiX923_obj()
+{
+}
+
+bool AnsiX923_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *AnsiX923_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *AnsiX923_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class AnsiX923_obj::__mClass;
+
+static ::String AnsiX923_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void AnsiX923_obj::__register()
+{
+ AnsiX923_obj _hx_dummy;
+ AnsiX923_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.AnsiX923",07,cf,dc,7c);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &AnsiX923_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(AnsiX923_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< AnsiX923_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = AnsiX923_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = AnsiX923_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/BitPadding.cpp b/Sources/c_borogove/src/haxe/crypto/padding/BitPadding.cpp
new file mode 100644
index 0000000..f13b6db
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/BitPadding.cpp
@@ -0,0 +1,133 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_BitPadding
+#include <haxe/crypto/padding/BitPadding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_68e19cae3e8e95b1_7_pad,"haxe.crypto.padding.BitPadding","pad",0x24bae5cb,"haxe.crypto.padding.BitPadding.pad","haxe/crypto/padding/BitPadding.hx",7,0xf64bead7)
+HX_LOCAL_STACK_FRAME(_hx_pos_68e19cae3e8e95b1_19_unpad,"haxe.crypto.padding.BitPadding","unpad",0xdf3a4b12,"haxe.crypto.padding.BitPadding.unpad","haxe/crypto/padding/BitPadding.hx",19,0xf64bead7)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void BitPadding_obj::__construct() { }
+
+Dynamic BitPadding_obj::__CreateEmpty() { return new BitPadding_obj; }
+
+void *BitPadding_obj::_hx_vtable = 0;
+
+Dynamic BitPadding_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< BitPadding_obj > _hx_result = new BitPadding_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool BitPadding_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x317f63e6;
+}
+
+ ::haxe::io::Bytes BitPadding_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_68e19cae3e8e95b1_7_pad)
+HXLINE( 9) int bsize = ((ciphertext->length + ((blockSize - ::hx::Mod(ciphertext->length,blockSize)) - 1)) + 1);
+HXLINE( 10) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc(bsize);
+HXLINE( 11) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 12) buffer->b[ciphertext->length] = ( (unsigned char)(128) );
+HXLINE( 13) {
+HXLINE( 13) int _g = (ciphertext->length + 1);
+HXDLIN( 13) while((_g < bsize)){
+HXLINE( 13) _g = (_g + 1);
+HXLINE( 14) buffer->b[(_g - 1)] = ( (unsigned char)(0) );
+ }
+ }
+HXLINE( 16) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(BitPadding_obj,pad,return )
+
+ ::haxe::io::Bytes BitPadding_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_68e19cae3e8e95b1_19_unpad)
+HXLINE( 20) int padding = 0;
+HXLINE( 21) int pos = (encrypt->length - 1);
+HXLINE( 22) while(true){
+HXLINE( 22) bool _hx_tmp;
+HXDLIN( 22) if ((padding != 128)) {
+HXLINE( 22) _hx_tmp = (pos > -1);
+ }
+ else {
+HXLINE( 22) _hx_tmp = false;
+ }
+HXDLIN( 22) if (!(_hx_tmp)) {
+HXLINE( 22) goto _hx_goto_2;
+ }
+HXLINE( 23) padding = ( (int)(encrypt->b->__get(pos)) );
+HXLINE( 24) pos = (pos - 1);
+ }
+ _hx_goto_2:;
+HXLINE( 26) return encrypt->sub(0,(pos + 1));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(BitPadding_obj,unpad,return )
+
+
+BitPadding_obj::BitPadding_obj()
+{
+}
+
+bool BitPadding_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *BitPadding_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *BitPadding_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class BitPadding_obj::__mClass;
+
+static ::String BitPadding_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void BitPadding_obj::__register()
+{
+ BitPadding_obj _hx_dummy;
+ BitPadding_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.BitPadding",e6,58,c8,50);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &BitPadding_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(BitPadding_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< BitPadding_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = BitPadding_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = BitPadding_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/ISO10126.cpp b/Sources/c_borogove/src/haxe/crypto/padding/ISO10126.cpp
new file mode 100644
index 0000000..8a8f514
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/ISO10126.cpp
@@ -0,0 +1,123 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_Std
+#include <Std.h>
+#endif
+#ifndef INCLUDED_haxe_crypto_padding_ISO10126
+#include <haxe/crypto/padding/ISO10126.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_5b644cf37c43cafe_7_pad,"haxe.crypto.padding.ISO10126","pad",0xf85ffc98,"haxe.crypto.padding.ISO10126.pad","haxe/crypto/padding/ISO10126.hx",7,0x1c264eea)
+HX_LOCAL_STACK_FRAME(_hx_pos_5b644cf37c43cafe_21_unpad,"haxe.crypto.padding.ISO10126","unpad",0xb76c6f1f,"haxe.crypto.padding.ISO10126.unpad","haxe/crypto/padding/ISO10126.hx",21,0x1c264eea)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void ISO10126_obj::__construct() { }
+
+Dynamic ISO10126_obj::__CreateEmpty() { return new ISO10126_obj; }
+
+void *ISO10126_obj::_hx_vtable = 0;
+
+Dynamic ISO10126_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ISO10126_obj > _hx_result = new ISO10126_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool ISO10126_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x5b3681fb;
+}
+
+ ::haxe::io::Bytes ISO10126_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_5b644cf37c43cafe_7_pad)
+HXLINE( 8) int padding = ((blockSize - ::hx::Mod(ciphertext->length,blockSize)) - 1);
+HXLINE( 9) int bsize = (ciphertext->length + padding);
+HXLINE( 10) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc((bsize + 1));
+HXLINE( 11) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 12) {
+HXLINE( 12) int _g = ciphertext->length;
+HXDLIN( 12) while((_g < bsize)){
+HXLINE( 12) _g = (_g + 1);
+HXLINE( 13) {
+HXLINE( 13) int v = ::Std_obj::random(256);
+HXDLIN( 13) buffer->b[(_g - 1)] = ( (unsigned char)(v) );
+ }
+ }
+ }
+HXLINE( 15) buffer->b[bsize] = ( (unsigned char)((padding + 1)) );
+HXLINE( 16) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(ISO10126_obj,pad,return )
+
+ ::haxe::io::Bytes ISO10126_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_5b644cf37c43cafe_21_unpad)
+HXDLIN( 21) return encrypt->sub(0,(encrypt->length - ( (int)(encrypt->b->__get((encrypt->length - 1))) )));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ISO10126_obj,unpad,return )
+
+
+ISO10126_obj::ISO10126_obj()
+{
+}
+
+bool ISO10126_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *ISO10126_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *ISO10126_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class ISO10126_obj::__mClass;
+
+static ::String ISO10126_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void ISO10126_obj::__register()
+{
+ ISO10126_obj _hx_dummy;
+ ISO10126_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.ISO10126",33,c5,ec,25);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ISO10126_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ISO10126_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< ISO10126_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ISO10126_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ISO10126_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/NoPadding.cpp b/Sources/c_borogove/src/haxe/crypto/padding/NoPadding.cpp
new file mode 100644
index 0000000..b6570c9
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/NoPadding.cpp
@@ -0,0 +1,105 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_NoPadding
+#include <haxe/crypto/padding/NoPadding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_cf82b51bb7889ef5_7_pad,"haxe.crypto.padding.NoPadding","pad",0xaf958253,"haxe.crypto.padding.NoPadding.pad","haxe/crypto/padding/NoPadding.hx",7,0x7c9609b1)
+HX_LOCAL_STACK_FRAME(_hx_pos_cf82b51bb7889ef5_11_unpad,"haxe.crypto.padding.NoPadding","unpad",0xcb5b199a,"haxe.crypto.padding.NoPadding.unpad","haxe/crypto/padding/NoPadding.hx",11,0x7c9609b1)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void NoPadding_obj::__construct() { }
+
+Dynamic NoPadding_obj::__CreateEmpty() { return new NoPadding_obj; }
+
+void *NoPadding_obj::_hx_vtable = 0;
+
+Dynamic NoPadding_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< NoPadding_obj > _hx_result = new NoPadding_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool NoPadding_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x422383a6;
+}
+
+ ::haxe::io::Bytes NoPadding_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_cf82b51bb7889ef5_7_pad)
+HXDLIN( 7) return ciphertext->sub(0,ciphertext->length);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(NoPadding_obj,pad,return )
+
+ ::haxe::io::Bytes NoPadding_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_cf82b51bb7889ef5_11_unpad)
+HXDLIN( 11) return encrypt;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(NoPadding_obj,unpad,return )
+
+
+NoPadding_obj::NoPadding_obj()
+{
+}
+
+bool NoPadding_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *NoPadding_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *NoPadding_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class NoPadding_obj::__mClass;
+
+static ::String NoPadding_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void NoPadding_obj::__register()
+{
+ NoPadding_obj _hx_dummy;
+ NoPadding_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.NoPadding",6e,11,e8,d6);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &NoPadding_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(NoPadding_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< NoPadding_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = NoPadding_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = NoPadding_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/NullPadding.cpp b/Sources/c_borogove/src/haxe/crypto/padding/NullPadding.cpp
new file mode 100644
index 0000000..6f34612
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/NullPadding.cpp
@@ -0,0 +1,132 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_NullPadding
+#include <haxe/crypto/padding/NullPadding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_6948618a391f2740_7_pad,"haxe.crypto.padding.NullPadding","pad",0xd2db714d,"haxe.crypto.padding.NullPadding.pad","haxe/crypto/padding/NullPadding.hx",7,0x1b748237)
+HX_LOCAL_STACK_FRAME(_hx_pos_6948618a391f2740_18_unpad,"haxe.crypto.padding.NullPadding","unpad",0xbf363b14,"haxe.crypto.padding.NullPadding.unpad","haxe/crypto/padding/NullPadding.hx",18,0x1b748237)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void NullPadding_obj::__construct() { }
+
+Dynamic NullPadding_obj::__CreateEmpty() { return new NullPadding_obj; }
+
+void *NullPadding_obj::_hx_vtable = 0;
+
+Dynamic NullPadding_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< NullPadding_obj > _hx_result = new NullPadding_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool NullPadding_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x63beeba0;
+}
+
+ ::haxe::io::Bytes NullPadding_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_6948618a391f2740_7_pad)
+HXLINE( 9) int bsize = (ciphertext->length + (blockSize - ::hx::Mod(ciphertext->length,blockSize)));
+HXLINE( 10) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc(bsize);
+HXLINE( 11) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 12) {
+HXLINE( 12) int _g = ciphertext->length;
+HXDLIN( 12) while((_g < bsize)){
+HXLINE( 12) _g = (_g + 1);
+HXLINE( 13) buffer->b[(_g - 1)] = ( (unsigned char)(0) );
+ }
+ }
+HXLINE( 15) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(NullPadding_obj,pad,return )
+
+ ::haxe::io::Bytes NullPadding_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_6948618a391f2740_18_unpad)
+HXLINE( 19) int padding = 0;
+HXLINE( 20) int pos = encrypt->length;
+HXLINE( 21) while(true){
+HXLINE( 21) bool _hx_tmp;
+HXDLIN( 21) if ((padding == 0)) {
+HXLINE( 21) _hx_tmp = (pos > 0);
+ }
+ else {
+HXLINE( 21) _hx_tmp = false;
+ }
+HXDLIN( 21) if (!(_hx_tmp)) {
+HXLINE( 21) goto _hx_goto_2;
+ }
+HXLINE( 22) pos = (pos - 1);
+HXLINE( 23) padding = ( (int)(encrypt->b->__get(pos)) );
+ }
+ _hx_goto_2:;
+HXLINE( 25) return encrypt->sub(0,(pos + 1));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(NullPadding_obj,unpad,return )
+
+
+NullPadding_obj::NullPadding_obj()
+{
+}
+
+bool NullPadding_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *NullPadding_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *NullPadding_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class NullPadding_obj::__mClass;
+
+static ::String NullPadding_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void NullPadding_obj::__register()
+{
+ NullPadding_obj _hx_dummy;
+ NullPadding_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.NullPadding",68,7b,18,1d);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &NullPadding_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(NullPadding_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< NullPadding_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = NullPadding_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = NullPadding_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/PKCS7.cpp b/Sources/c_borogove/src/haxe/crypto/padding/PKCS7.cpp
new file mode 100644
index 0000000..4b7e5d4
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/PKCS7.cpp
@@ -0,0 +1,138 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_PKCS7
+#include <haxe/crypto/padding/PKCS7.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_88ba76f5af89f0a6_7_pad,"haxe.crypto.padding.PKCS7","pad",0xaf68664f,"haxe.crypto.padding.PKCS7.pad","haxe/crypto/padding/PKCS7.hx",7,0x37ba14b5)
+HX_LOCAL_STACK_FRAME(_hx_pos_88ba76f5af89f0a6_22_unpad,"haxe.crypto.padding.PKCS7","unpad",0x90abf496,"haxe.crypto.padding.PKCS7.unpad","haxe/crypto/padding/PKCS7.hx",22,0x37ba14b5)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void PKCS7_obj::__construct() { }
+
+Dynamic PKCS7_obj::__CreateEmpty() { return new PKCS7_obj; }
+
+void *PKCS7_obj::_hx_vtable = 0;
+
+Dynamic PKCS7_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< PKCS7_obj > _hx_result = new PKCS7_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool PKCS7_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x15a0ad06;
+}
+
+ ::haxe::io::Bytes PKCS7_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_88ba76f5af89f0a6_7_pad)
+HXLINE( 8) if ((blockSize > 255)) {
+HXLINE( 9) HX_STACK_DO_THROW(HX_("PKCS#7 padding cannot be longer than 255 bytes",c5,e8,72,20));
+ }
+HXLINE( 10) if ((blockSize < 0)) {
+HXLINE( 11) HX_STACK_DO_THROW(HX_("PKCS#7 padding size must be positive",ce,33,be,7d));
+ }
+HXLINE( 12) int padding = (blockSize - ::hx::Mod(ciphertext->length,blockSize));
+HXLINE( 13) int bsize = (ciphertext->length + padding);
+HXLINE( 14) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc(bsize);
+HXLINE( 15) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 16) {
+HXLINE( 16) int _g = ciphertext->length;
+HXDLIN( 16) while((_g < bsize)){
+HXLINE( 16) _g = (_g + 1);
+HXLINE( 17) buffer->b[(_g - 1)] = ( (unsigned char)((padding & 255)) );
+ }
+ }
+HXLINE( 19) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(PKCS7_obj,pad,return )
+
+ ::haxe::io::Bytes PKCS7_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_88ba76f5af89f0a6_22_unpad)
+HXLINE( 23) int padding = ( (int)(encrypt->b->__get((encrypt->length - 1))) );
+HXLINE( 24) if ((padding > encrypt->length)) {
+HXLINE( 25) HX_STACK_DO_THROW(((((HX_("Cannot remove ",5f,81,1b,10) + padding) + HX_(" bytes, because message is ",a4,6a,4e,45)) + encrypt->length) + HX_(" bytes",4b,94,03,89)));
+ }
+HXLINE( 26) int block = (encrypt->length - padding);
+HXLINE( 27) {
+HXLINE( 27) int _g = block;
+HXDLIN( 27) int _g1 = encrypt->length;
+HXDLIN( 27) while((_g < _g1)){
+HXLINE( 27) _g = (_g + 1);
+HXDLIN( 27) int i = (_g - 1);
+HXLINE( 28) if ((encrypt->b->__get(i) != padding)) {
+HXLINE( 29) HX_STACK_DO_THROW((((((HX_("Invalid padding value. Got ",3f,c8,3b,20) + encrypt->b->__get(i)) + HX_(", expected ",b4,e5,81,19)) + padding) + HX_(" at position ",0a,c2,01,e0)) + i));
+ }
+ }
+ }
+HXLINE( 31) return encrypt->sub(0,block);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(PKCS7_obj,unpad,return )
+
+
+PKCS7_obj::PKCS7_obj()
+{
+}
+
+bool PKCS7_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *PKCS7_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *PKCS7_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class PKCS7_obj::__mClass;
+
+static ::String PKCS7_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void PKCS7_obj::__register()
+{
+ PKCS7_obj _hx_dummy;
+ PKCS7_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.PKCS7",6a,47,02,ec);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &PKCS7_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(PKCS7_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< PKCS7_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = PKCS7_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = PKCS7_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/SpacePadding.cpp b/Sources/c_borogove/src/haxe/crypto/padding/SpacePadding.cpp
new file mode 100644
index 0000000..a8f1c3d
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/SpacePadding.cpp
@@ -0,0 +1,132 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_SpacePadding
+#include <haxe/crypto/padding/SpacePadding.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_6a51e262ebd040bf_7_pad,"haxe.crypto.padding.SpacePadding","pad",0xf0e12ef2,"haxe.crypto.padding.SpacePadding.pad","haxe/crypto/padding/SpacePadding.hx",7,0x69185150)
+HX_LOCAL_STACK_FRAME(_hx_pos_6a51e262ebd040bf_18_unpad,"haxe.crypto.padding.SpacePadding","unpad",0xb8626bf9,"haxe.crypto.padding.SpacePadding.unpad","haxe/crypto/padding/SpacePadding.hx",18,0x69185150)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void SpacePadding_obj::__construct() { }
+
+Dynamic SpacePadding_obj::__CreateEmpty() { return new SpacePadding_obj; }
+
+void *SpacePadding_obj::_hx_vtable = 0;
+
+Dynamic SpacePadding_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< SpacePadding_obj > _hx_result = new SpacePadding_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool SpacePadding_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x4ec10871;
+}
+
+ ::haxe::io::Bytes SpacePadding_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_6a51e262ebd040bf_7_pad)
+HXLINE( 9) int bsize = (ciphertext->length + (blockSize - ::hx::Mod(ciphertext->length,blockSize)));
+HXLINE( 10) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc(bsize);
+HXLINE( 11) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 12) {
+HXLINE( 12) int _g = ciphertext->length;
+HXDLIN( 12) while((_g < bsize)){
+HXLINE( 12) _g = (_g + 1);
+HXLINE( 13) buffer->b[(_g - 1)] = ( (unsigned char)(32) );
+ }
+ }
+HXLINE( 15) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(SpacePadding_obj,pad,return )
+
+ ::haxe::io::Bytes SpacePadding_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_6a51e262ebd040bf_18_unpad)
+HXLINE( 19) int padding = 32;
+HXLINE( 20) int pos = encrypt->length;
+HXLINE( 21) while(true){
+HXLINE( 21) bool _hx_tmp;
+HXDLIN( 21) if ((padding == 32)) {
+HXLINE( 21) _hx_tmp = (pos > 0);
+ }
+ else {
+HXLINE( 21) _hx_tmp = false;
+ }
+HXDLIN( 21) if (!(_hx_tmp)) {
+HXLINE( 21) goto _hx_goto_2;
+ }
+HXLINE( 22) pos = (pos - 1);
+HXLINE( 23) padding = ( (int)(encrypt->b->__get(pos)) );
+ }
+ _hx_goto_2:;
+HXLINE( 25) return encrypt->sub(0,(pos + 1));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(SpacePadding_obj,unpad,return )
+
+
+SpacePadding_obj::SpacePadding_obj()
+{
+}
+
+bool SpacePadding_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *SpacePadding_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *SpacePadding_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class SpacePadding_obj::__mClass;
+
+static ::String SpacePadding_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void SpacePadding_obj::__register()
+{
+ SpacePadding_obj _hx_dummy;
+ SpacePadding_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.SpacePadding",8d,42,db,26);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &SpacePadding_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(SpacePadding_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< SpacePadding_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = SpacePadding_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = SpacePadding_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/padding/TBC.cpp b/Sources/c_borogove/src/haxe/crypto/padding/TBC.cpp
new file mode 100644
index 0000000..67b4dce
--- /dev/null
+++ b/Sources/c_borogove/src/haxe/crypto/padding/TBC.cpp
@@ -0,0 +1,140 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_crypto_padding_TBC
+#include <haxe/crypto/padding/TBC.h>
+#endif
+#ifndef INCLUDED_haxe_io_Bytes
+#include <haxe/io/Bytes.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_60532882e7141197_7_pad,"haxe.crypto.padding.TBC","pad",0x9b88c1f8,"haxe.crypto.padding.TBC.pad","haxe/crypto/padding/TBC.hx",7,0x0391e6ec)
+HX_LOCAL_STACK_FRAME(_hx_pos_60532882e7141197_20_unpad,"haxe.crypto.padding.TBC","unpad",0x0a594c7f,"haxe.crypto.padding.TBC.unpad","haxe/crypto/padding/TBC.hx",20,0x0391e6ec)
+namespace haxe{
+namespace crypto{
+namespace padding{
+
+void TBC_obj::__construct() { }
+
+Dynamic TBC_obj::__CreateEmpty() { return new TBC_obj; }
+
+void *TBC_obj::_hx_vtable = 0;
+
+Dynamic TBC_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< TBC_obj > _hx_result = new TBC_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool TBC_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x1629e12f;
+}
+
+ ::haxe::io::Bytes TBC_obj::pad( ::haxe::io::Bytes ciphertext,int blockSize){
+ HX_STACKFRAME(&_hx_pos_60532882e7141197_7_pad)
+HXLINE( 9) int paddingByte;
+HXDLIN( 9) if (((( (int)(ciphertext->b->__get((ciphertext->length - 1))) ) & 1) == 1)) {
+HXLINE( 9) paddingByte = 0;
+ }
+ else {
+HXLINE( 9) paddingByte = 255;
+ }
+HXLINE( 11) int bsize = (ciphertext->length + (blockSize - ::hx::Mod(ciphertext->length,blockSize)));
+HXLINE( 12) ::haxe::io::Bytes buffer = ::haxe::io::Bytes_obj::alloc(bsize);
+HXLINE( 13) buffer->blit(0,ciphertext,0,ciphertext->length);
+HXLINE( 14) {
+HXLINE( 14) int _g = ciphertext->length;
+HXDLIN( 14) while((_g < bsize)){
+HXLINE( 14) _g = (_g + 1);
+HXLINE( 15) buffer->b[(_g - 1)] = ( (unsigned char)(paddingByte) );
+ }
+ }
+HXLINE( 17) return buffer;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(TBC_obj,pad,return )
+
+ ::haxe::io::Bytes TBC_obj::unpad( ::haxe::io::Bytes encrypt){
+ HX_STACKFRAME(&_hx_pos_60532882e7141197_20_unpad)
+HXLINE( 21) int pos = (encrypt->length - 1);
+HXLINE( 22) int paddingByte = ( (int)(encrypt->b->__get(pos)) );
+HXLINE( 23) int padding = paddingByte;
+HXLINE( 24) while(true){
+HXLINE( 24) bool _hx_tmp;
+HXDLIN( 24) if ((padding == paddingByte)) {
+HXLINE( 24) _hx_tmp = (pos > -1);
+ }
+ else {
+HXLINE( 24) _hx_tmp = false;
+ }
+HXDLIN( 24) if (!(_hx_tmp)) {
+HXLINE( 24) goto _hx_goto_2;
+ }
+HXLINE( 25) pos = (pos - 1);
+HXLINE( 26) padding = ( (int)(encrypt->b->__get(pos)) );
+ }
+ _hx_goto_2:;
+HXLINE( 28) return encrypt->sub(0,(pos + 1));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(TBC_obj,unpad,return )
+
+
+TBC_obj::TBC_obj()
+{
+}
+
+bool TBC_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"pad") ) { outValue = pad_dyn(); return true; }
+ break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"unpad") ) { outValue = unpad_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *TBC_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *TBC_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class TBC_obj::__mClass;
+
+static ::String TBC_obj_sStaticFields[] = {
+ HX_("pad",53,51,55,00),
+ HX_("unpad",9a,a8,ec,a6),
+ ::String(null())
+};
+
+void TBC_obj::__register()
+{
+ TBC_obj _hx_dummy;
+ TBC_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("haxe.crypto.padding.TBC",93,5a,2f,05);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &TBC_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(TBC_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< TBC_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = TBC_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = TBC_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace haxe
+} // end namespace crypto
+} // end namespace padding
diff --git a/Sources/c_borogove/src/haxe/crypto/random/SecureRandom.cpp b/Sources/c_borogove/src/haxe/crypto/random/SecureRandom.cpp
index 52c8f5e..afd2050 100644
--- a/Sources/c_borogove/src/haxe/crypto/random/SecureRandom.cpp
+++ b/Sources/c_borogove/src/haxe/crypto/random/SecureRandom.cpp
@@ -1,6 +1,10 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
+#ifndef INCLUDED_95f339a1d026d52c
+#define INCLUDED_95f339a1d026d52c
+#include "hxMath.h"
+#endif
#ifndef INCLUDED_Std
#include <Std.h>
#endif
@@ -34,8 +38,11 @@
HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_26_init,"haxe.crypto.random.SecureRandom","init",0x0e9ad35e,"haxe.crypto.random.SecureRandom.init","haxe/crypto/random/SecureRandom.hx",26,0xd102d71d)
HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_32_int,"haxe.crypto.random.SecureRandom","int",0x3e0e7861,"haxe.crypto.random.SecureRandom.int","haxe/crypto/random/SecureRandom.hx",32,0xd102d71d)
+HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_60_bytes,"haxe.crypto.random.SecureRandom","bytes",0xb85db45d,"haxe.crypto.random.SecureRandom.bytes","haxe/crypto/random/SecureRandom.hx",60,0xd102d71d)
HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_200_sysInt,"haxe.crypto.random.SecureRandom","sysInt",0x64f2c5b0,"haxe.crypto.random.SecureRandom.sysInt","haxe/crypto/random/SecureRandom.hx",200,0xd102d71d)
+HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_213_sysBytes,"haxe.crypto.random.SecureRandom","sysBytes",0x9aeb336c,"haxe.crypto.random.SecureRandom.sysBytes","haxe/crypto/random/SecureRandom.hx",213,0xd102d71d)
HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_226_winInt,"haxe.crypto.random.SecureRandom","winInt",0xc4a8de01,"haxe.crypto.random.SecureRandom.winInt","haxe/crypto/random/SecureRandom.hx",226,0xd102d71d)
+HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_250_winBytes,"haxe.crypto.random.SecureRandom","winBytes",0xe694c1fd,"haxe.crypto.random.SecureRandom.winBytes","haxe/crypto/random/SecureRandom.hx",250,0xd102d71d)
HX_LOCAL_STACK_FRAME(_hx_pos_f39c4520f0e8ea03_12_boot,"haxe.crypto.random.SecureRandom","boot",0x09fb1c80,"haxe.crypto.random.SecureRandom.boot","haxe/crypto/random/SecureRandom.hx",12,0xd102d71d)
namespace haxe{
namespace crypto{
@@ -79,6 +86,20 @@ HXLINE( 52) return ::haxe::crypto::random::SecureRandom_obj::sysInt();
STATIC_HX_DEFINE_DYNAMIC_FUNC0(SecureRandom_obj,_hx_int,return )
+ ::haxe::io::Bytes SecureRandom_obj::bytes(int length){
+ HX_STACKFRAME(&_hx_pos_f39c4520f0e8ea03_60_bytes)
+HXLINE( 61) if ((length <= 0)) {
+HXLINE( 62) return ::haxe::io::Bytes_obj::alloc(0);
+ }
+HXLINE( 63) if (!(::haxe::crypto::random::SecureRandom_obj::initialized)) {
+HXLINE( 64) ::haxe::crypto::random::SecureRandom_obj::init();
+ }
+HXLINE( 90) return ::haxe::crypto::random::SecureRandom_obj::sysBytes(length);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(SecureRandom_obj,bytes,return )
+
int SecureRandom_obj::sysInt(){
HX_STACKFRAME(&_hx_pos_f39c4520f0e8ea03_200_sysInt)
HXLINE( 201) if (::sys::FileSystem_obj::exists(HX_("/dev/urandom",ef,12,d0,ba))) {
@@ -97,6 +118,24 @@ HXDLIN( 210) return 0;
STATIC_HX_DEFINE_DYNAMIC_FUNC0(SecureRandom_obj,sysInt,return )
+ ::haxe::io::Bytes SecureRandom_obj::sysBytes(int length){
+ HX_STACKFRAME(&_hx_pos_f39c4520f0e8ea03_213_sysBytes)
+HXLINE( 214) if (::sys::FileSystem_obj::exists(HX_("/dev/urandom",ef,12,d0,ba))) {
+HXLINE( 215) ::sys::io::FileInput file = ::sys::io::File_obj::read(HX_("/dev/urandom",ef,12,d0,ba),null());
+HXLINE( 216) ::haxe::io::Bytes result = file->read(length);
+HXLINE( 217) file->close();
+HXLINE( 218) return result;
+ }
+HXLINE( 220) if ((::Sys_obj::systemName() == HX_("Windows",63,06,c6,b5))) {
+HXLINE( 221) return ::haxe::crypto::random::SecureRandom_obj::winBytes(length);
+ }
+HXLINE( 223) HX_STACK_DO_THROW(HX_("No secure random source available",37,f9,ae,cd));
+HXDLIN( 223) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(SecureRandom_obj,sysBytes,return )
+
int SecureRandom_obj::winInt(){
HX_GC_STACKFRAME(&_hx_pos_f39c4520f0e8ea03_226_winInt)
HXLINE( 227) try {
@@ -143,6 +182,61 @@ HXDLIN( 247) return 0;
STATIC_HX_DEFINE_DYNAMIC_FUNC0(SecureRandom_obj,winInt,return )
+ ::haxe::io::Bytes SecureRandom_obj::winBytes(int length){
+ HX_GC_STACKFRAME(&_hx_pos_f39c4520f0e8ea03_250_winBytes)
+HXLINE( 251) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 252) ::sys::io::Process proc = ::sys::io::Process_obj::__alloc( HX_CTX ,HX_("powershell",8b,ea,7a,a6),::Array_obj< ::String >::__new(3)->init(0,HX_("-NoProfile",fb,fc,1e,a0))->init(1,HX_("-Command",9e,a8,9c,5c))->init(2,(((HX_("$r=[System.Security.Cryptography.RNGCryptoServiceProvider]::new();",36,a9,0c,08) + HX_("$b=New-Object byte[] ",21,19,9a,b9)) + length) + HX_(";$r.GetBytes($b);$r.Dispose();$b-join','",46,38,72,20))),null());
+HXLINE( 259) ::String output = ::StringTools_obj::trim(proc->_hx_stdout->readAll(null())->toString());
+HXLINE( 260) ::Dynamic code = proc->exitCode(null());
+HXLINE( 261) proc->close();
+HXLINE( 262) bool _hx_tmp;
+HXDLIN( 262) if (::hx::IsEq( code,0 )) {
+HXLINE( 262) _hx_tmp = (output.length > 0);
+ }
+ else {
+HXLINE( 262) _hx_tmp = false;
+ }
+HXDLIN( 262) if (_hx_tmp) {
+HXLINE( 263) ::Array< ::String > parts = output.split(HX_(",",2c,00,00,00));
+HXLINE( 264) ::haxe::io::Bytes result = ::haxe::io::Bytes_obj::alloc(length);
+HXLINE( 265) {
+HXLINE( 265) int _g = 0;
+HXDLIN( 265) int _g1 = ::Math_obj::floor(::Math_obj::min(( (Float)(length) ),( (Float)(parts->length) )));
+HXDLIN( 265) while((_g < _g1)){
+HXLINE( 265) _g = (_g + 1);
+HXDLIN( 265) int i = (_g - 1);
+HXLINE( 266) ::Dynamic val = ::Std_obj::parseInt(parts->__get(i));
+HXLINE( 267) {
+HXLINE( 267) int v;
+HXDLIN( 267) if (::hx::IsNotNull( val )) {
+HXLINE( 267) v = ( (int)(val) );
+ }
+ else {
+HXLINE( 267) v = ::Math_obj::floor((::Math_obj::random() * ( (Float)(256) )));
+ }
+HXDLIN( 267) result->b[i] = ( (unsigned char)(v) );
+ }
+ }
+ }
+HXLINE( 269) return result;
+ }
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g2 = _hx_e;
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+HXLINE( 272) HX_STACK_DO_THROW(HX_("No secure random source available",37,f9,ae,cd));
+HXDLIN( 272) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(SecureRandom_obj,winBytes,return )
+
SecureRandom_obj::SecureRandom_obj()
{
@@ -157,10 +251,17 @@ bool SecureRandom_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::
case 4:
if (HX_FIELD_EQ(inName,"init") ) { outValue = init_dyn(); return true; }
break;
+ case 5:
+ if (HX_FIELD_EQ(inName,"bytes") ) { outValue = bytes_dyn(); return true; }
+ break;
case 6:
if (HX_FIELD_EQ(inName,"sysInt") ) { outValue = sysInt_dyn(); return true; }
if (HX_FIELD_EQ(inName,"winInt") ) { outValue = winInt_dyn(); return true; }
break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"sysBytes") ) { outValue = sysBytes_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"winBytes") ) { outValue = winBytes_dyn(); return true; }
+ break;
case 11:
if (HX_FIELD_EQ(inName,"initialized") ) { outValue = ( initialized ); return true; }
}
@@ -201,8 +302,11 @@ static ::String SecureRandom_obj_sStaticFields[] = {
HX_("initialized",14,f5,0f,37),
HX_("init",10,3b,bb,45),
HX_("int",ef,0c,50,00),
+ HX_("bytes",6b,08,98,bd),
HX_("sysInt",e2,fd,c1,f2),
+ HX_("sysBytes",1e,5c,1e,a5),
HX_("winInt",33,16,78,52),
+ HX_("winBytes",af,ea,c7,f0),
::String(null())
};
diff --git a/Sources/c_borogove/src/haxe/io/Input.cpp b/Sources/c_borogove/src/haxe/io/Input.cpp
index caa26dc..7af019e 100644
--- a/Sources/c_borogove/src/haxe/io/Input.cpp
+++ b/Sources/c_borogove/src/haxe/io/Input.cpp
@@ -37,6 +37,7 @@ HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_64_readBytes,"haxe.io.Input","read
HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_92_close,"haxe.io.Input","close",0xfc421af4,"haxe.io.Input.close","/usr/local/lib/haxe/std/haxe/io/Input.hx",92,0x3b290ab1)
HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_94_set_bigEndian,"haxe.io.Input","set_bigEndian",0x96732a9a,"haxe.io.Input.set_bigEndian","/usr/local/lib/haxe/std/haxe/io/Input.hx",94,0x3b290ab1)
HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_106_readAll,"haxe.io.Input","readAll",0xaed6e9a7,"haxe.io.Input.readAll","/usr/local/lib/haxe/std/haxe/io/Input.hx",106,0x3b290ab1)
+HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_145_read,"haxe.io.Input","read",0x27b9839a,"haxe.io.Input.read","/usr/local/lib/haxe/std/haxe/io/Input.hx",145,0x3b290ab1)
HX_LOCAL_STACK_FRAME(_hx_pos_220702dcc8429dc4_281_readInt32,"haxe.io.Input","readInt32",0xde2f3154,"haxe.io.Input.readInt32","/usr/local/lib/haxe/std/haxe/io/Input.hx",281,0x3b290ab1)
namespace haxe{
namespace io{
@@ -198,6 +199,24 @@ HXLINE( 124) return total->getBytes();
HX_DEFINE_DYNAMIC_FUNC1(Input_obj,readAll,return )
+ ::haxe::io::Bytes Input_obj::read(int nbytes){
+ HX_STACKFRAME(&_hx_pos_220702dcc8429dc4_145_read)
+HXLINE( 146) ::haxe::io::Bytes s = ::haxe::io::Bytes_obj::alloc(nbytes);
+HXLINE( 147) int p = 0;
+HXLINE( 148) while((nbytes > 0)){
+HXLINE( 149) int k = this->readBytes(s,p,nbytes);
+HXLINE( 150) if ((k == 0)) {
+HXLINE( 151) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
+ }
+HXLINE( 152) p = (p + k);
+HXLINE( 153) nbytes = (nbytes - k);
+ }
+HXLINE( 155) return s;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(Input_obj,read,return )
+
int Input_obj::readInt32(){
HX_STACKFRAME(&_hx_pos_220702dcc8429dc4_281_readInt32)
HXLINE( 282) int ch1 = this->readByte();
@@ -224,6 +243,9 @@ Input_obj::Input_obj()
::hx::Val Input_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
+ case 4:
+ if (HX_FIELD_EQ(inName,"read") ) { return ::hx::Val( read_dyn() ); }
+ break;
case 5:
if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
break;
@@ -274,6 +296,7 @@ static ::String Input_obj_sMemberFields[] = {
HX_("close",b8,17,63,48),
HX_("set_bigEndian",5e,8b,c4,26),
HX_("readAll",6b,9f,c3,02),
+ HX_("read",56,4b,a7,4b),
HX_("readInt32",18,e0,07,8f),
::String(null()) };
diff --git a/Sources/c_borogove/src/haxe/io/Output.cpp b/Sources/c_borogove/src/haxe/io/Output.cpp
index e676bd4..eef0c39 100644
--- a/Sources/c_borogove/src/haxe/io/Output.cpp
+++ b/Sources/c_borogove/src/haxe/io/Output.cpp
@@ -26,7 +26,6 @@
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_47_writeByte,"haxe.io.Output","writeByte",0xb4fe513a,"haxe.io.Output.writeByte","/usr/local/lib/haxe/std/haxe/io/Output.hx",47,0x72d66600)
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_57_writeBytes,"haxe.io.Output","writeBytes",0xa988c1f9,"haxe.io.Output.writeBytes","/usr/local/lib/haxe/std/haxe/io/Output.hx",57,0x72d66600)
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_92_close,"haxe.io.Output","close",0xe726bfeb,"haxe.io.Output.close","/usr/local/lib/haxe/std/haxe/io/Output.hx",92,0x72d66600)
-HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_103_write,"haxe.io.Output","write",0x6f1d1512,"haxe.io.Output.write","/usr/local/lib/haxe/std/haxe/io/Output.hx",103,0x72d66600)
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_121_writeFullBytes,"haxe.io.Output","writeFullBytes",0xc2c420ea,"haxe.io.Output.writeFullBytes","/usr/local/lib/haxe/std/haxe/io/Output.hx",121,0x72d66600)
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_246_prepare,"haxe.io.Output","prepare",0xcd01ec7a,"haxe.io.Output.prepare","/usr/local/lib/haxe/std/haxe/io/Output.hx",246,0x72d66600)
HX_LOCAL_STACK_FRAME(_hx_pos_0e34c0ce46c21137_278_writeString,"haxe.io.Output","writeString",0x97e1cb83,"haxe.io.Output.writeString","/usr/local/lib/haxe/std/haxe/io/Output.hx",278,0x72d66600)
@@ -97,23 +96,6 @@ void Output_obj::close(){
HX_DEFINE_DYNAMIC_FUNC0(Output_obj,close,(void))
-void Output_obj::write( ::haxe::io::Bytes s){
- HX_STACKFRAME(&_hx_pos_0e34c0ce46c21137_103_write)
-HXLINE( 104) int l = s->length;
-HXLINE( 105) int p = 0;
-HXLINE( 106) while((l > 0)){
-HXLINE( 107) int k = this->writeBytes(s,p,l);
-HXLINE( 108) if ((k == 0)) {
-HXLINE( 109) HX_STACK_DO_THROW(::haxe::io::Error_obj::Blocked_dyn());
- }
-HXLINE( 110) p = (p + k);
-HXLINE( 111) l = (l - k);
- }
- }
-
-
-HX_DEFINE_DYNAMIC_FUNC1(Output_obj,write,(void))
-
void Output_obj::writeFullBytes( ::haxe::io::Bytes s,int pos,int len){
HX_STACKFRAME(&_hx_pos_0e34c0ce46c21137_121_writeFullBytes)
HXDLIN( 121) while((len > 0)){
@@ -152,7 +134,6 @@ Output_obj::Output_obj()
switch(inName.length) {
case 5:
if (HX_FIELD_EQ(inName,"close") ) { return ::hx::Val( close_dyn() ); }
- if (HX_FIELD_EQ(inName,"write") ) { return ::hx::Val( write_dyn() ); }
break;
case 7:
if (HX_FIELD_EQ(inName,"prepare") ) { return ::hx::Val( prepare_dyn() ); }
@@ -181,7 +162,6 @@ static ::String Output_obj_sMemberFields[] = {
HX_("writeByte",87,13,d7,49),
HX_("writeBytes",0c,03,5a,52),
HX_("close",b8,17,63,48),
- HX_("write",df,6c,59,d0),
HX_("writeFullBytes",7d,e7,66,a4),
HX_("prepare",87,91,dd,37),
HX_("writeString",10,7b,29,a6),
diff --git a/Sources/c_borogove/src/haxe/io/Path.cpp b/Sources/c_borogove/src/haxe/io/Path.cpp
index 8c9b5cf..a22ef23 100644
--- a/Sources/c_borogove/src/haxe/io/Path.cpp
+++ b/Sources/c_borogove/src/haxe/io/Path.cpp
@@ -17,15 +17,16 @@
HX_DEFINE_STACK_FRAME(_hx_pos_9ba24db561a9c477_76_new,"haxe.io.Path","new",0x1b96d677,"haxe.io.Path.new","/usr/local/lib/haxe/std/haxe/io/Path.hx",76,0xc99b0f1c)
HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_115_toString,"haxe.io.Path","toString",0xc0ab5735,"haxe.io.Path.toString","/usr/local/lib/haxe/std/haxe/io/Path.hx",115,0xc99b0f1c)
HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_134_withoutDirectory,"haxe.io.Path","withoutDirectory",0xdf35ce8e,"haxe.io.Path.withoutDirectory","/usr/local/lib/haxe/std/haxe/io/Path.hx",134,0xc99b0f1c)
+HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_161_extension,"haxe.io.Path","extension",0x91c9c4d6,"haxe.io.Path.extension","/usr/local/lib/haxe/std/haxe/io/Path.hx",161,0xc99b0f1c)
HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_189_join,"haxe.io.Path","join",0x05c781f3,"haxe.io.Path.join","/usr/local/lib/haxe/std/haxe/io/Path.hx",189,0xc99b0f1c)
HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_210_normalize,"haxe.io.Path","normalize",0x585a68e4,"haxe.io.Path.normalize","/usr/local/lib/haxe/std/haxe/io/Path.hx",210,0xc99b0f1c)
-static const ::String _hx_array_data_4ec6cf05_10[] = {
+static const ::String _hx_array_data_4ec6cf05_11[] = {
HX_("/",2f,00,00,00),
};
-static const ::String _hx_array_data_4ec6cf05_11[] = {
+static const ::String _hx_array_data_4ec6cf05_12[] = {
HX_(":",3a,00,00,00),
};
-static const ::String _hx_array_data_4ec6cf05_12[] = {
+static const ::String _hx_array_data_4ec6cf05_13[] = {
HX_("/",2f,00,00,00),
};
HX_LOCAL_STACK_FRAME(_hx_pos_9ba24db561a9c477_271_addTrailingSlash,"haxe.io.Path","addTrailingSlash",0x8b4f8e69,"haxe.io.Path.addTrailingSlash","/usr/local/lib/haxe/std/haxe/io/Path.hx",271,0xc99b0f1c)
@@ -125,6 +126,18 @@ HXLINE( 137) return s->toString();
STATIC_HX_DEFINE_DYNAMIC_FUNC1(Path_obj,withoutDirectory,return )
+::String Path_obj::extension(::String path){
+ HX_GC_STACKFRAME(&_hx_pos_9ba24db561a9c477_161_extension)
+HXLINE( 162) ::haxe::io::Path s = ::haxe::io::Path_obj::__alloc( HX_CTX ,path);
+HXLINE( 163) if (::hx::IsNull( s->ext )) {
+HXLINE( 164) return HX_("",00,00,00,00);
+ }
+HXLINE( 165) return s->ext;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Path_obj,extension,return )
+
::String Path_obj::join(::Array< ::String > paths){
HX_STACKFRAME(&_hx_pos_9ba24db561a9c477_189_join)
HXLINE( 190) ::Array< ::String > _g = ::Array_obj< ::String >::__new(0);
@@ -252,7 +265,7 @@ HXLINE( 249) if (::hx::IsNotNull( acc->charBuf )) {
HXLINE( 249) acc->flush();
}
HXDLIN( 249) if (::hx::IsNull( acc->b )) {
-HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_10,1);
+HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_11,1);
}
else {
HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
@@ -288,7 +301,7 @@ HXLINE( 242) if (::hx::IsNotNull( acc->charBuf )) {
HXLINE( 242) acc->flush();
}
HXDLIN( 242) if (::hx::IsNull( acc->b )) {
-HXLINE( 242) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_11,1);
+HXLINE( 242) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_12,1);
}
else {
HXLINE( 242) acc->b->push(HX_(":",3a,00,00,00));
@@ -305,7 +318,7 @@ HXLINE( 249) if (::hx::IsNotNull( acc->charBuf )) {
HXLINE( 249) acc->flush();
}
HXDLIN( 249) if (::hx::IsNull( acc->b )) {
-HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_12,1);
+HXLINE( 249) acc->b = ::Array_obj< ::String >::fromData( _hx_array_data_4ec6cf05_13,1);
}
else {
HXLINE( 249) acc->b->push(HX_("/",2f,00,00,00));
@@ -376,21 +389,21 @@ STATIC_HX_DEFINE_DYNAMIC_FUNC1(Path_obj,addTrailingSlash,return )
HXLINE( 300) while(true){
HXLINE( 301) ::Dynamic _g = path.charCodeAt((path.length - 1));
HXDLIN( 301) if (::hx::IsNull( _g )) {
-HXLINE( 305) goto _hx_goto_14;
+HXLINE( 305) goto _hx_goto_15;
}
else {
HXLINE( 301) ::Dynamic _hx_switch_0 = _g;
if ( (_hx_switch_0==47) || (_hx_switch_0==92) ){
HXLINE( 303) path = path.substr(0,-1);
-HXDLIN( 303) goto _hx_goto_15;
+HXDLIN( 303) goto _hx_goto_16;
}
/* default */{
-HXLINE( 305) goto _hx_goto_14;
+HXLINE( 305) goto _hx_goto_15;
}
- _hx_goto_15:;
+ _hx_goto_16:;
}
}
- _hx_goto_14:;
+ _hx_goto_15:;
HXLINE( 308) return path;
}
@@ -476,6 +489,7 @@ bool Path_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Prop
if (HX_FIELD_EQ(inName,"join") ) { outValue = join_dyn(); return true; }
break;
case 9:
+ if (HX_FIELD_EQ(inName,"extension") ) { outValue = extension_dyn(); return true; }
if (HX_FIELD_EQ(inName,"normalize") ) { outValue = normalize_dyn(); return true; }
break;
case 10:
@@ -539,6 +553,7 @@ static ::String Path_obj_sMemberFields[] = {
static ::String Path_obj_sStaticFields[] = {
HX_("withoutDirectory",05,17,d2,7a),
+ HX_("extension",7f,93,10,e5),
HX_("join",ea,33,65,46),
HX_("normalize",8d,37,a1,ab),
HX_("addTrailingSlash",e0,d6,eb,26),
diff --git a/Sources/c_borogove/src/hx/CFFI.cpp b/Sources/c_borogove/src/hx/CFFI.cpp
index 592c8e2..264447c 100644
--- a/Sources/c_borogove/src/hx/CFFI.cpp
+++ b/Sources/c_borogove/src/hx/CFFI.cpp
@@ -49,16 +49,16 @@ public:
}
- virtual int __GetType() const { return mType; }
- virtual hx::ObjectPtr<hx::Class_obj> __GetClass() const { return 0; }
+ int __GetType() const HXCPP_OVERRIDE { return mType; }
+ hx::ObjectPtr<hx::Class_obj> __GetClass() const HXCPP_OVERRIDE { return 0; }
virtual bool __IsClass(hx::Class inClass ) const { return false; }
- virtual void *__GetHandle() const
+ void *__GetHandle() const HXCPP_OVERRIDE
{
return mHandle;
}
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_MEMBER(_hxcpp_toString);
if (mMarkSize>=sizeof(void *) && mHandle)
@@ -68,7 +68,7 @@ public:
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
HX_VISIT_MEMBER(_hxcpp_toString);
if (mFinalizer)
@@ -100,7 +100,7 @@ public:
mHandle = 0;
}
- String toString()
+ String toString() HXCPP_OVERRIDE
{
if (_hxcpp_toString.mPtr)
return _hxcpp_toString( Dynamic(this) );
@@ -115,14 +115,14 @@ public:
HX_CSTRING(")");
}
- hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp)
+ hx::Val __Field(const String &inString, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (inString==HX_CSTRING("_hxcpp_toString")) return _hxcpp_toString;
if (inString==HX_CSTRING("_hxcpp_kind")) return __hxcpp_get_kind(this);
return hx::Object::__Field(inString, inCallProp);
}
- hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp)
+ hx::Val __SetField(const String &inName,const hx::Val &inValue, hx::PropertyAccess inCallProp) HXCPP_OVERRIDE
{
if (inName==HX_CSTRING("_hxcpp_toString"))
{
@@ -669,7 +669,12 @@ void val_buffer(buffer inBuffer,value inValue)
hx::Object * val_call0(hx::Object * arg1) THROWS
{
if (!arg1) Dynamic::ThrowBadFunctionError();
+
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1).GetPtr();
+#else
return arg1->__run().GetPtr();
+#endif
}
hx::Object * val_call0_traceexcept(hx::Object * arg1) THROWS
@@ -677,7 +682,11 @@ hx::Object * val_call0_traceexcept(hx::Object * arg1) THROWS
try
{
if (!arg1) Dynamic::ThrowBadFunctionError();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1).GetPtr();
+#else
return arg1->__run().GetPtr();
+#endif
}
catch(Dynamic e)
{
@@ -692,21 +701,33 @@ hx::Object * val_call0_traceexcept(hx::Object * arg1) THROWS
hx::Object * val_call1(hx::Object * arg1,hx::Object * arg2) THROWS
{
if (!arg1) Dynamic::ThrowBadFunctionError();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1, arg2).GetPtr();
+#else
return arg1->__run(arg2).GetPtr();
+#endif
}
hx::Object * val_call2(hx::Object * arg1,hx::Object * arg2,hx::Object * arg3) THROWS
{
if (!arg1) Dynamic::ThrowBadFunctionError();
- return arg1->__run(arg2,arg3).GetPtr();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1, arg2, arg3).GetPtr();
+#else
+ return arg1->__run(arg2, arg3).GetPtr();
+#endif
}
hx::Object * val_call3(hx::Object * arg1,hx::Object * arg2,hx::Object * arg3,hx::Object * arg4) THROWS
{
if (!arg1) Dynamic::ThrowBadFunctionError();
- return arg1->__run(arg2,arg3,arg4).GetPtr();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1, arg2, arg3, arg4).GetPtr();
+#else
+ return arg1->__run(arg2, arg3, arg4).GetPtr();
+#endif
}
@@ -724,35 +745,55 @@ hx::Object * val_callN(hx::Object * arg1,hx::Object ** arg2, int nCount) THROWS
hx::Object * val_ocall0(hx::Object * arg1,int arg2) THROWS
{
if (!arg1) hx::Throw(HX_INVALID_OBJECT);
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1->__IField(arg2)).GetPtr();
+#else
return arg1->__IField(arg2)->__run().GetPtr();
+#endif
}
hx::Object * val_ocall1(hx::Object * arg1,int arg2,hx::Object * arg3) THROWS
{
if (!arg1) hx::Throw(HX_INVALID_OBJECT);
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1->__IField(arg2), arg3).GetPtr();
+#else
return arg1->__IField(arg2)->__run(arg3).GetPtr();
+#endif
}
hx::Object * val_ocall2(hx::Object * arg1,int arg2,hx::Object * arg3,hx::Object * arg4) THROWS
{
if (!arg1) hx::Throw(HX_INVALID_OBJECT);
- return arg1->__IField(arg2)->__run(arg3,arg4).GetPtr();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1->__IField(arg2), arg3, arg4).GetPtr();
+#else
+ return arg1->__IField(arg2)->__run(arg3, arg4).GetPtr();
+#endif
}
hx::Object * val_ocall3(hx::Object * arg1,int arg2,hx::Object * arg3,hx::Object * arg4,hx::Object * arg5) THROWS
{
if (!arg1) hx::Throw(HX_INVALID_OBJECT);
- return arg1->__IField(arg2)->__run(arg3,arg4,arg5).GetPtr();
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1->__IField(arg2), arg3, arg4, arg5).GetPtr();
+#else
+ return arg1->__IField(arg2)->__run(arg3, arg4, arg5).GetPtr();
+#endif
}
hx::Object * val_ocallN(hx::Object * arg1,int arg2,hx::Object * arg3) THROWS
{
if (!arg1) hx::Throw(HX_INVALID_OBJECT);
+#if (HXCPP_API_LEVEL>=500)
+ return hx::invoker::invoke(arg1->__IField(arg2), Dynamic(arg3)).GetPtr();
+#else
return arg1->__IField(arg2)->__run(Dynamic(arg3)).GetPtr();
+#endif
}
@@ -997,7 +1038,10 @@ const char16_t * hxs_utf16(const String &string,hx::IStringAlloc *alloc)
}
-EXPORT void * hx_cffi(const char *inName)
+#ifndef HXCPP_STATIC_CFFI
+EXPORT
+#endif
+void * hx_cffi(const char *inName)
{
#define HXCPP_PRIME
#define DEFFUNC(name,r,b,c) if ( !strcmp(inName,#name) ) return (void *)name;
diff --git a/Sources/c_borogove/src/hx/Debug.cpp b/Sources/c_borogove/src/hx/Debug.cpp
index 25c7d4d..2ad1f96 100644
--- a/Sources/c_borogove/src/hx/Debug.cpp
+++ b/Sources/c_borogove/src/hx/Debug.cpp
@@ -7,7 +7,9 @@
#include <hx/Thread.h>
#include <hx/Telemetry.h>
#include <hx/Unordered.h>
+#include <hx/thread/Thread.hpp>
#include <hx/OS.h>
+#include <mutex>
#if defined(HXCPP_CATCH_SEGV) && !defined(_MSC_VER)
@@ -45,7 +47,7 @@ namespace hx
const char* EXTERN_CLASS_NAME = "extern";
#ifdef HXCPP_STACK_IDS
-static HxMutex sStackMapMutex;
+static std::mutex sStackMapMutex;
typedef UnorderedMap<int, StackContext *> StackMap;
static StackMap sStackMap;
#endif
@@ -127,9 +129,9 @@ public:
hxSehException(int inCode) : code(inCode) { }
- String __ToString() const { return HX_CSTRING("hxSehException"); }
+ String __ToString() const HXCPP_OVERRIDE { return HX_CSTRING("hxSehException"); }
- int __GetType() const { return vtObject; }
+ int __GetType() const HXCPP_OVERRIDE { return vtObject; }
};
static hx::Object *sException = new hxSehException(1);
@@ -243,11 +245,12 @@ StackContext::~StackContext()
void StackContext::onThreadAttach()
{
#ifdef HXCPP_STACK_IDS
- mThreadId = __hxcpp_GetCurrentThreadNumber();
+ mThreadId = hx::thread::Thread_obj::id();
- sStackMapMutex.Lock();
- sStackMap[mThreadId] = this;
- sStackMapMutex.Unlock();
+ {
+ std::lock_guard<std::mutex> guard(sStackMapMutex);
+ sStackMap[mThreadId] = this;
+ }
#endif
#ifdef HXCPP_DEBUGGER
@@ -302,9 +305,10 @@ void StackContext::onThreadDetach()
#endif
#ifdef HXCPP_STACK_IDS
- sStackMapMutex.Lock();
- sStackMap.erase(mThreadId);
- sStackMapMutex.Unlock();
+ {
+ std::lock_guard<std::mutex> guard(sStackMapMutex);
+ sStackMap.erase(mThreadId);
+ }
mThreadId = 0;
#endif
@@ -317,18 +321,17 @@ void StackContext::onThreadDetach()
void StackContext::getAllStackIds( QuickVec<int> &outIds )
{
outIds.clear();
- sStackMapMutex.Lock();
+
+ std::lock_guard<std::mutex> guard(sStackMapMutex);
+
for(StackMap::iterator i=sStackMap.begin(); i!=sStackMap.end(); ++i)
outIds.push(i->first);
- sStackMapMutex.Unlock();
}
StackContext *StackContext::getStackForId(int id)
{
- sStackMapMutex.Lock();
- StackContext *result = sStackMap[id];
- sStackMapMutex.Unlock();
- return result;
+ std::lock_guard<std::mutex> guard(sStackMapMutex);
+ return sStackMap[id];
}
#endif
diff --git a/Sources/c_borogove/src/hx/Hash.h b/Sources/c_borogove/src/hx/Hash.h
index 0fde32d..6614f64 100644
--- a/Sources/c_borogove/src/hx/Hash.h
+++ b/Sources/c_borogove/src/hx/Hash.h
@@ -243,7 +243,7 @@ inline void CopyValue(String &outValue, Float inValue) { }
inline void CopyValue(String &outValue, const Dynamic &inValue) { outValue = inValue; }
inline void CopyValue(int &outValue, int inValue) { outValue = inValue; }
inline void CopyValue(int &outValue, cpp::Int64 inValue) { }
-inline void CopyValue(int &outValue, Float inValue) { outValue = inValue; }
+inline void CopyValue(int &outValue, Float inValue) { outValue = (int)inValue; }
inline void CopyValue(int &outValue, const Dynamic &inValue) { outValue = inValue; }
inline void CopyValue(int &outValue, const String &inValue) { }
inline void CopyValue(Float &outValue, Float inValue) { outValue = inValue; }
@@ -353,7 +353,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
bool TIsWeakRefValid(String &key) { return IsWeakRefValid(key.raw_ptr()); }
- void updateAfterGc()
+ void updateAfterGc() HXCPP_OVERRIDE
{
if (Element::WeakKeys && Element::ManageKeys)
{
@@ -451,7 +451,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
HX_OBJ_WB_GET(this, bucket);
}
- bool remove(Key inKey)
+ bool remove(Key inKey) HXCPP_OVERRIDE
{
if (!bucket)
return false;
@@ -511,10 +511,10 @@ struct Hash : public HashBase< typename ELEMENT::Key >
return 0;
}
- bool exists(Key inKey) { return find( HashCalcHash(inKey), inKey ); }
+ bool exists(Key inKey) HXCPP_OVERRIDE { return find( HashCalcHash(inKey), inKey ); }
- HashBase<Key> *convertStore(HashStore inStore)
+ HashBase<Key> *convertStore(HashStore inStore) HXCPP_OVERRIDE
{
switch(inStore)
{
@@ -545,11 +545,11 @@ struct Hash : public HashBase< typename ELEMENT::Key >
return true;
}
- bool query(Key inKey,int &outValue) { return TQuery(inKey,outValue); }
- bool query(Key inKey,::String &outValue) { return TQuery(inKey,outValue); }
- bool query(Key inKey,Float &outValue) { return TQuery(inKey,outValue); }
- bool query(Key inKey,Dynamic &outValue) { return TQuery(inKey,outValue); }
- bool query(Key inKey,cpp::Int64 &outValue) { return TQuery(inKey, outValue); }
+ bool query(Key inKey,int &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); }
+ bool query(Key inKey,::String &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); }
+ bool query(Key inKey,Float &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); }
+ bool query(Key inKey,Dynamic &outValue) HXCPP_OVERRIDE { return TQuery(inKey,outValue); }
+ bool query(Key inKey,cpp::Int64 &outValue) HXCPP_OVERRIDE { return TQuery(inKey, outValue); }
Value get(Key inKey)
@@ -616,14 +616,14 @@ struct Hash : public HashBase< typename ELEMENT::Key >
#endif
}
- void set(Key inKey, const int &inValue) { TSet(inKey, inValue); }
- void set(Key inKey, const ::String &inValue) { TSet(inKey, inValue); }
- void set(Key inKey, const Float &inValue) { TSet(inKey, inValue); }
- void set(Key inKey, const Dynamic &inValue) { TSet(inKey, inValue); }
+ void set(Key inKey, const int &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); }
+ void set(Key inKey, const ::String &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); }
+ void set(Key inKey, const Float &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); }
+ void set(Key inKey, const Dynamic &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); }
void set(Key inKey, const null &inValue) { TSet(inKey, inValue); }
- void set(Key inKey, const cpp::Int64 &inValue) { TSet(inKey, inValue); }
+ void set(Key inKey, const cpp::Int64 &inValue) HXCPP_OVERRIDE { TSet(inKey, inValue); }
- void clear()
+ void clear() HXCPP_OVERRIDE
{
bucket = 0;
size = 0;
@@ -691,7 +691,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
array->push(elem->key);
}
};
- Array<Key> keys()
+ Array<Key> keys() HXCPP_OVERRIDE
{
KeyBuilder builder(getSize());
iterate(builder);
@@ -713,7 +713,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
array->push(elem->value);
}
};
- Dynamic values()
+ Dynamic values() HXCPP_OVERRIDE
{
ValueBuilder builder(getSize());
iterate(builder);
@@ -760,7 +760,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
}
};
- String toString()
+ String toString() HXCPP_OVERRIDE
{
StringBuilder builder(getSize());
iterate(builder);
@@ -768,7 +768,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
}
- String toStringRaw()
+ String toStringRaw() HXCPP_OVERRIDE
{
StringBuilder builder(getSize(),true);
iterate(builder);
@@ -792,7 +792,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
}
};
- void __Mark(hx::MarkContext *__inCtx)
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE
{
HX_MARK_ARRAY(bucket);
@@ -802,7 +802,7 @@ struct Hash : public HashBase< typename ELEMENT::Key >
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
//printf(" visit hash %p\n", this);
HX_VISIT_ARRAY(bucket);
diff --git a/Sources/c_borogove/src/hx/Lib.cpp b/Sources/c_borogove/src/hx/Lib.cpp
index 3a1d3f2..3783822 100644
--- a/Sources/c_borogove/src/hx/Lib.cpp
+++ b/Sources/c_borogove/src/hx/Lib.cpp
@@ -132,62 +132,100 @@ public:
functionName = ("extern::cffi "+mName).makePermanent().raw_ptr();
}
- virtual int __GetType() const { return vtFunction; }
- String __ToString() const { return mName; }
-
- Dynamic __run()
+ int __GetType() const HXCPP_OVERRIDE { return vtFunction; }
+ String __ToString() const HXCPP_OVERRIDE { return mName; }
+#if (HXCPP_API_LEVEL<500)
+ Dynamic __run() HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=0) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_0)mProc)();
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 0) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_0)mProc)();
}
- Dynamic __run(D a)
+ Dynamic __run(D a) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=1) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_1)mProc)(a.GetPtr());
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 1) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_1)mProc)(a.GetPtr());
}
- Dynamic __run(D a,D b)
+ Dynamic __run(D a, D b) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=2) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_2)mProc)(a.GetPtr(),b.GetPtr());
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 2) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_2)mProc)(a.GetPtr(), b.GetPtr());
}
- Dynamic __run(D a,D b,D c)
+ Dynamic __run(D a, D b, D c) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=3) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_3)mProc)(a.GetPtr(),b.GetPtr(),c.GetPtr());
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 3) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_3)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr());
}
- Dynamic __run(D a,D b,D c,D d)
+ Dynamic __run(D a, D b, D c, D d) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=4) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_4)mProc)(a.GetPtr(),b.GetPtr(),c.GetPtr(),d.GetPtr());
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 4) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_4)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr(), d.GetPtr());
}
- Dynamic __run(D a,D b,D c,D d,D e)
+ Dynamic __run(D a, D b, D c, D d, D e) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=5) throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_5)mProc)(a.GetPtr(),b.GetPtr(),c.GetPtr(),d.GetPtr(),e.GetPtr());
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != 5) throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_5)mProc)(a.GetPtr(), b.GetPtr(), c.GetPtr(), d.GetPtr(), e.GetPtr());
}
- Dynamic __Run(const Array<Dynamic> &inArgs)
+ Dynamic __Run(const Array<Dynamic>& inArgs) HXCPP_OVERRIDE
{
- HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi",0, functionName, __FILE__, __LINE__,0);
- if (mArgCount!=-1 && mArgCount!=inArgs->length)
- throw HX_INVALID_ARG_COUNT;
- if (mProc==0) hx::Throw( HX_NULL_FUNCTION_POINTER );
- return ((prim_mult)mProc)( (hx::Object **)inArgs->GetBase(), inArgs->length );
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+ if (mArgCount != -1 && mArgCount != inArgs->length)
+ throw HX_INVALID_ARG_COUNT;
+ if (mProc == 0) hx::Throw(HX_NULL_FUNCTION_POINTER);
+ return ((prim_mult)mProc)((hx::Object**)inArgs->GetBase(), inArgs->length);
}
+#else
+ Dynamic __Run(const Array<Dynamic>& inArgs) override
+ {
+ HX_STACK_FRAME(hx::EXTERN_CLASS_NAME, "cffi", 0, functionName, __FILE__, __LINE__, 0);
+
+ if (mArgCount != -1 && mArgCount != inArgs->length)
+ {
+ throw HX_INVALID_ARG_COUNT;
+ }
+ if (mProc == 0)
+ {
+ hx::Throw(HX_NULL_FUNCTION_POINTER);
+ }
+
+ switch (mArgCount)
+ {
+ case 0:
+ return ((prim_0)mProc)();
+
+ case 1:
+ return ((prim_1)mProc)(inArgs[0].GetPtr());
- int __Compare(const hx::Object *inRHS) const
+ case 2:
+ return ((prim_2)mProc)(inArgs[0].GetPtr(), inArgs[1].GetPtr());
+
+ case 3:
+ return ((prim_3)mProc)(inArgs[0].GetPtr(), inArgs[1].GetPtr(), inArgs[2].GetPtr());
+
+ case 4:
+ return ((prim_4)mProc)(inArgs[0].GetPtr(), inArgs[1].GetPtr(), inArgs[2].GetPtr(), inArgs[3].GetPtr());
+
+ case 5:
+ return ((prim_5)mProc)(inArgs[0].GetPtr(), inArgs[1].GetPtr(), inArgs[2].GetPtr(), inArgs[3].GetPtr(), inArgs[4].GetPtr());
+
+ default:
+ return ((prim_mult)mProc)((hx::Object**)inArgs->GetBase(), inArgs->length);
+ }
+ }
+#endif
+ int __Compare(const hx::Object *inRHS) const HXCPP_OVERRIDE
{
const ExternalPrimitive *other = dynamic_cast<const ExternalPrimitive *>(inRHS);
if (!other)
diff --git a/Sources/c_borogove/src/hx/Object.cpp b/Sources/c_borogove/src/hx/Object.cpp
index 64050b5..ebb0fc0 100644
--- a/Sources/c_borogove/src/hx/Object.cpp
+++ b/Sources/c_borogove/src/hx/Object.cpp
@@ -152,33 +152,35 @@ hx::Val Object::__SetField(const String &inField,const hx::Val &inValue, hx::Pro
return null();
}
+#if (HXCPP_API_LEVEL<500)
Dynamic Object::__run()
{
- return __Run(Array_obj<Dynamic>::__new());
+ return __Run(Array_obj<Dynamic>::__new());
}
Dynamic Object::__run(D a)
{
- return __Run( Array_obj<Dynamic>::__new(0,1) << a );
+ return __Run(Array_obj<Dynamic>::__new(0, 1) << a);
}
-Dynamic Object::__run(D a,D b)
+Dynamic Object::__run(D a, D b)
{
- return __Run( Array_obj<Dynamic>::__new(0,2) << a << b );
+ return __Run(Array_obj<Dynamic>::__new(0, 2) << a << b);
}
-Dynamic Object::__run(D a,D b,D c)
+Dynamic Object::__run(D a, D b, D c)
{
- return __Run( Array_obj<Dynamic>::__new(0,3) << a << b << c);
+ return __Run(Array_obj<Dynamic>::__new(0, 3) << a << b << c);
}
-Dynamic Object::__run(D a,D b,D c,D d)
+Dynamic Object::__run(D a, D b, D c, D d)
{
- return __Run( Array_obj<Dynamic>::__new(0,4) << a << b << c << d);
+ return __Run(Array_obj<Dynamic>::__new(0, 4) << a << b << c << d);
}
-Dynamic Object::__run(D a,D b,D c,D d,D e)
+Dynamic Object::__run(D a, D b, D c, D d, D e)
{
- return __Run( Array_obj<Dynamic>::__new(0,5) << a << b << c << d << e);
+ return __Run(Array_obj<Dynamic>::__new(0, 5) << a << b << c << d << e);
}
+#endif
void Object::__GetFields(Array<String> &outFields)
{
diff --git a/Sources/c_borogove/src/hx/Thread.cpp b/Sources/c_borogove/src/hx/Thread.cpp
index e5af49d..20adbf4 100644
--- a/Sources/c_borogove/src/hx/Thread.cpp
+++ b/Sources/c_borogove/src/hx/Thread.cpp
@@ -1,29 +1,14 @@
#include <hxcpp.h>
+#if (HXCPP_API_LEVEL<500)
+
#include <hx/Thread.h>
#include <time.h>
-
-DECLARE_TLS_DATA(class hxThreadInfo, tlsCurrentThread);
-
-// g_threadInfoMutex allows atomic access to g_nextThreadNumber
-static HxMutex g_threadInfoMutex;
-// Thread number 0 is reserved for the main thread
-static int g_nextThreadNumber = 1;
-
-
-// How to manage hxThreadInfo references for non haxe threads (main, extenal)?
-// HXCPP_THREAD_INFO_PTHREAD - use pthread api
-// HXCPP_THREAD_INFO_LOCAL - use thread_local storage
-// HXCPP_THREAD_INFO_SINGLETON - use one structure for all threads. Not ideal.
-
-#if __cplusplus > 199711L && !defined(__BORLANDC__)
- #define HXCPP_THREAD_INFO_LOCAL
-#elif defined (HXCPP_PTHREADS)
- #define HXCPP_THREAD_INFO_PTHREAD
-#else
- #define HXCPP_THREAD_INFO_SINGLETON
-#endif
-
+#include <hx/thread/ConditionVariable.hpp>
+#include <hx/thread/RecursiveMutex.hpp>
+#include <hx/thread/CountingSemaphore.hpp>
+#include "thread/ThreadImpl.hpp"
+#include <atomic>
// --- Deque ----------------------------------------------------------
@@ -51,7 +36,7 @@ struct Deque : public Array_obj<Dynamic>
}
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE
{
Array_obj<Dynamic>::__Visit(__inCtx);
mFinalizer->Visit(__inCtx);
@@ -80,7 +65,7 @@ struct Deque : public Array_obj<Dynamic>
mSemaphore.Set();
}
-
+
Dynamic PopFront(bool inBlock)
{
hx::EnterGCFreeZone();
@@ -121,7 +106,7 @@ struct Deque : public Array_obj<Dynamic>
mSemaphore.QSet();
}
-
+
Dynamic PopFront(bool inBlock)
{
hx::EnterGCFreeZone();
@@ -169,643 +154,136 @@ Dynamic __hxcpp_deque_pop(Dynamic q,bool block)
return d->PopFront(block);
}
-
-
// --- Thread ----------------------------------------------------------
-class hxThreadInfo : public hx::Object
-{
-public:
- HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdThreadInfo };
-
- hxThreadInfo(Dynamic inFunction, int inThreadNumber)
- : mFunction(inFunction), mThreadNumber(inThreadNumber), mTLS(0,0)
- {
- mSemaphore = new HxSemaphore;
- mDeque = Deque::Create();
- HX_OBJ_WB_NEW_MARKED_OBJECT(this);
- }
- hxThreadInfo()
- {
- mSemaphore = 0;
- mDeque = Deque::Create();
- HX_OBJ_WB_NEW_MARKED_OBJECT(this);
- }
- int GetThreadNumber() const
- {
- return mThreadNumber;
- }
- void CleanSemaphore()
- {
- delete mSemaphore;
- mSemaphore = 0;
- }
- void Send(Dynamic inMessage)
- {
- mDeque->PushBack(inMessage);
- }
- Dynamic ReadMessage(bool inBlocked)
- {
- return mDeque->PopFront(inBlocked);
- }
- String toString()
- {
- return String(GetThreadNumber());
- }
- void SetTLS(int inID,Dynamic inVal) {
- mTLS->__SetItem(inID,inVal);
- }
- Dynamic GetTLS(int inID) { return mTLS[inID]; }
-
- void __Mark(hx::MarkContext *__inCtx)
- {
- HX_MARK_MEMBER(mFunction);
- HX_MARK_MEMBER(mTLS);
- if (mDeque)
- HX_MARK_OBJECT(mDeque);
- }
- #ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx)
- {
- HX_VISIT_MEMBER(mFunction);
- HX_VISIT_MEMBER(mTLS);
- if (mDeque)
- HX_VISIT_OBJECT(mDeque);
- }
- #endif
-
-
- Array<Dynamic> mTLS;
- HxSemaphore *mSemaphore;
- Dynamic mFunction;
- int mThreadNumber;
- Deque *mDeque;
-};
-
-
-THREAD_FUNC_TYPE hxThreadFunc( void *inInfo )
-{
- // info[1] will the the "top of stack" - values under this
- // (ie info[0] and other stack values) will be in the GC conservative range
- hxThreadInfo *info[2];
- info[0] = (hxThreadInfo *)inInfo;
- info[1] = 0;
-
- tlsCurrentThread = info[0];
-
- hx::SetTopOfStack((int *)&info[1], true);
-
- // Release the creation function
- info[0]->mSemaphore->Set();
-
- // Call the debugger function to annouce that a thread has been created
- //__hxcpp_dbg_threadCreatedOrTerminated(info[0]->GetThreadNumber(), true);
-
- if ( info[0]->mFunction.GetPtr() )
- {
- // Try ... catch
- info[0]->mFunction->__run();
- }
-
- // Call the debugger function to annouce that a thread has terminated
- //__hxcpp_dbg_threadCreatedOrTerminated(info[0]->GetThreadNumber(), false);
-
- hx::UnregisterCurrentThread();
-
- tlsCurrentThread = 0;
-
- THREAD_FUNC_RET
-}
-
-
-
Dynamic __hxcpp_thread_create(Dynamic inStart)
{
- #ifdef EMSCRIPTEN
- return hx::Throw( HX_CSTRING("Threads are not supported on Emscripten") );
- #else
- g_threadInfoMutex.Lock();
- int threadNumber = g_nextThreadNumber++;
- g_threadInfoMutex.Unlock();
-
- hxThreadInfo *info = new hxThreadInfo(inStart, threadNumber);
-
- hx::GCPrepareMultiThreaded();
- hx::EnterGCFreeZone();
-
- bool ok = HxCreateDetachedThread(hxThreadFunc, info);
- if (ok)
- {
- info->mSemaphore->Wait();
- }
-
- hx::ExitGCFreeZone();
- info->CleanSemaphore();
-
- if (!ok)
- throw Dynamic( HX_CSTRING("Could not create thread") );
- return info;
- #endif
-}
-
-#ifdef HXCPP_THREAD_INFO_PTHREAD
-static pthread_key_t externThreadInfoKey;;
-static pthread_once_t key_once = PTHREAD_ONCE_INIT;
-static void destroyThreadInfo(void *i)
-{
- hx::Object **threadRoot = (hx::Object **)i;
- hx::GCRemoveRoot(threadRoot);
- delete threadRoot;
-}
-static void make_key()
-{
- pthread_key_create(&externThreadInfoKey, destroyThreadInfo);
-}
-#elif defined(HXCPP_THREAD_INFO_LOCAL)
-struct ThreadInfoHolder
-{
- hx::Object **threadRoot;
- ThreadInfoHolder() : threadRoot(0) { }
- ~ThreadInfoHolder()
- {
- if (threadRoot)
- {
- hx::GCRemoveRoot(threadRoot);
- delete threadRoot;
- }
- }
- void set(hx::Object **info) { threadRoot = info; }
- hxThreadInfo *get() { return threadRoot ? (hxThreadInfo *)*threadRoot : nullptr; }
-
-};
-static thread_local ThreadInfoHolder threadHolder;
-#else
-static hx::Object **sMainThreadInfoRoot = 0;
-#endif
-
-static hxThreadInfo *GetCurrentInfo(bool createNew = true)
-{
- hxThreadInfo *info = tlsCurrentThread;
- if (!info)
- {
- #ifdef HXCPP_THREAD_INFO_PTHREAD
- pthread_once(&key_once, make_key);
- hxThreadInfo **pp = (hxThreadInfo **)pthread_getspecific(externThreadInfoKey);
- if (pp)
- info = *pp;
- #elif defined(HXCPP_THREAD_INFO_LOCAL)
- info = threadHolder.get();
- #else
- if (sMainThreadInfoRoot)
- info = (hxThreadInfo *)*sMainThreadInfoRoot;
- #endif
- }
-
- if (!info && createNew)
- {
- // New, non-haxe thread - might be the first thread, or might be a new
- // foreign thread.
- info = new hxThreadInfo(null(), 0);
- hx::Object **threadRoot = new hx::Object *;
- *threadRoot = info;
- hx::GCAddRoot(threadRoot);
- #ifdef HXCPP_THREAD_INFO_PTHREAD
- pthread_setspecific(externThreadInfoKey, threadRoot);
- #elif defined(HXCPP_THREAD_INFO_LOCAL)
- threadHolder.set(threadRoot);
- #else
- sMainThreadInfoRoot = threadRoot;
- #endif
- }
- return info;
+ return hx::thread::Thread_obj::create(inStart);
}
Dynamic __hxcpp_thread_current()
{
- return GetCurrentInfo();
+ return hx::thread::Thread_obj::current();
}
void __hxcpp_thread_send(Dynamic inThread, Dynamic inMessage)
{
- hxThreadInfo *info = dynamic_cast<hxThreadInfo *>(inThread.mPtr);
- if (!info)
- throw HX_INVALID_OBJECT;
- info->Send(inMessage);
+ hx::Throw(HX_CSTRING("Not Implemented"));
}
Dynamic __hxcpp_thread_read_message(bool inBlocked)
{
- hxThreadInfo *info = GetCurrentInfo();
- return info->ReadMessage(inBlocked);
+ return hx::Throw(HX_CSTRING("Not Implemented"));
}
bool __hxcpp_is_current_thread(hx::Object *inThread)
{
- hxThreadInfo *info = tlsCurrentThread;
- return info==inThread;
+ return inThread == hx::thread::Thread_obj::current();
}
// --- TLS ------------------------------------------------------------
Dynamic __hxcpp_tls_get(int inID)
{
- return GetCurrentInfo()->GetTLS(inID);
+ return reinterpret_cast<hx::thread::ThreadImpl_obj*>(hx::thread::Thread_obj::current().GetPtr())->getSlot(inID);
}
void __hxcpp_tls_set(int inID,Dynamic inVal)
{
- GetCurrentInfo()->SetTLS(inID,inVal);
+ reinterpret_cast<hx::thread::ThreadImpl_obj*>(hx::thread::Thread_obj::current().GetPtr())->setSlot(inID, inVal);
}
-
-
// --- Mutex ------------------------------------------------------------
-class hxMutex : public hx::Object
-{
-public:
-
- hxMutex()
- {
- mFinalizer = new hx::InternalFinalizer(this);
- mFinalizer->mFinalizer = clean;
- }
-
- HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdMutex };
-
- #ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { mFinalizer->Visit(__inCtx); }
- #endif
-
- hx::InternalFinalizer *mFinalizer;
-
- static void clean(hx::Object *inObj)
- {
- hxMutex *m = dynamic_cast<hxMutex *>(inObj);
- if (m) m->mMutex.Clean();
- }
- bool Try()
- {
- return mMutex.TryLock();
- }
- void Acquire()
- {
- hx::EnterGCFreeZone();
- mMutex.Lock();
- hx::ExitGCFreeZone();
- }
- void Release()
- {
- mMutex.Unlock();
- }
-
-
- HxMutex mMutex;
-};
-
-
-
Dynamic __hxcpp_mutex_create()
{
- return new hxMutex;
+ return new hx::thread::RecursiveMutex_obj();
}
void __hxcpp_mutex_acquire(Dynamic inMutex)
{
- hxMutex *mutex = dynamic_cast<hxMutex *>(inMutex.mPtr);
- if (!mutex)
- throw HX_INVALID_OBJECT;
- mutex->Acquire();
+ auto mutex = inMutex.Cast<hx::thread::RecursiveMutex>();
+
+ mutex->acquire();
}
bool __hxcpp_mutex_try(Dynamic inMutex)
{
- hxMutex *mutex = dynamic_cast<hxMutex *>(inMutex.mPtr);
- if (!mutex)
- throw HX_INVALID_OBJECT;
- return mutex->Try();
+ auto mutex = inMutex.Cast<hx::thread::RecursiveMutex>();
+
+ return mutex->tryAcquire();
}
void __hxcpp_mutex_release(Dynamic inMutex)
{
- hxMutex *mutex = dynamic_cast<hxMutex *>(inMutex.mPtr);
- if (!mutex)
- throw HX_INVALID_OBJECT;
- return mutex->Release();
-}
-
-#if defined(HX_LINUX) || defined(HX_ANDROID)
-#define POSIX_SEMAPHORE
-#include <semaphore.h>
-#endif
+ auto mutex = inMutex.Cast<hx::thread::RecursiveMutex>();
-#if defined(HX_MACOS) || defined(IPHONE) || defined(APPLETV)
-#define APPLE_SEMAPHORE
-#include <dispatch/dispatch.h>
-#endif
-
-class hxSemaphore : public hx::Object {
-public:
- hx::InternalFinalizer *mFinalizer;
-#ifdef HX_WINDOWS
- HANDLE sem;
-#elif defined (POSIX_SEMAPHORE)
- sem_t sem;
-#elif defined(APPLE_SEMAPHORE)
- dispatch_semaphore_t sem;
-#endif
- bool valid;
-
- hxSemaphore(int value) {
- mFinalizer = new hx::InternalFinalizer(this);
- mFinalizer->mFinalizer = clean;
-#ifdef HX_WINDOWS
- sem = CreateSemaphoreW(NULL, value, 0x7FFFFFFF, NULL);
-#elif defined(POSIX_SEMAPHORE)
- sem_init(&sem, 0, value);
-#elif defined(APPLE_SEMAPHORE)
- sem = dispatch_semaphore_create(value);
-#endif
- valid = true;
- }
-
- HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdSemaphore };
-
-#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { mFinalizer->Visit(__inCtx); }
-#endif
+ mutex->release();
+}
- void Acquire() {
-#if HX_WINDOWS
- WaitForSingleObject(sem, INFINITE);
-#elif defined(POSIX_SEMAPHORE)
- sem_wait(&sem);
-#elif defined(APPLE_SEMAPHORE)
- dispatch_semaphore_wait(sem, DISPATCH_TIME_FOREVER);
-#endif
- }
-
- bool TryAcquire(double timeout) {
-#ifdef HX_WINDOWS
- return WaitForSingleObject(sem, (DWORD)((FLOAT)timeout * 1000.0)) == 0;
-#elif defined(POSIX_SEMAPHORE)
- if (timeout == 0) {
- return sem_trywait(&sem) == 0;
- } else {
- struct timeval tv;
- struct timespec t;
- double delta = timeout;
- int idelta = (int)delta, idelta2;
- delta -= idelta;
- delta *= 1.0e9;
- gettimeofday(&tv, NULL);
- delta += tv.tv_usec * 1000.0;
- idelta2 = (int)(delta / 1e9);
- delta -= idelta2 * 1e9;
- t.tv_sec = tv.tv_sec + idelta + idelta2;
- t.tv_nsec = (long)delta;
- return sem_timedwait(&sem, &t) == 0;
- }
-#elif defined(APPLE_SEMAPHORE)
- return dispatch_semaphore_wait(
- sem,
- dispatch_time(DISPATCH_TIME_NOW,
- (int64_t)(timeout * 1000 * 1000 * 1000))) == 0;
-#else
- return false;
-#endif
- }
-
- void Release() {
-#if HX_WINDOWS
- ReleaseSemaphore(sem, 1, NULL);
-#elif defined(POSIX_SEMAPHORE)
- sem_post(&sem);
-#elif defined(APPLE_SEMAPHORE)
- dispatch_semaphore_signal(sem);
-#endif
- }
-
- static void clean(hx::Object *inObj) {
- hxSemaphore *l = dynamic_cast<hxSemaphore *>(inObj);
- if (l) {
- if(l->valid) {
-#ifdef HX_WINDOWS
- CloseHandle(l->sem);
-#elif defined(POSIX_SEMAPHORE)
- sem_destroy(&l->sem);
-#endif
- l->valid = false;
- }
- }
- }
-};
+// --- Semaphore ------------------------------------------------------------
Dynamic __hxcpp_semaphore_create(int value) {
- return new hxSemaphore(value);
+ return new hx::thread::CountingSemaphore_obj(value);
}
void __hxcpp_semaphore_acquire(Dynamic inSemaphore) {
- hxSemaphore *semaphore = dynamic_cast<hxSemaphore *>(inSemaphore.mPtr);
- if (!semaphore)
- throw HX_INVALID_OBJECT;
- semaphore->Acquire();
+ auto semaphore = inSemaphore.Cast<hx::thread::CountingSemaphore>();
+
+ semaphore->acquire();
}
bool __hxcpp_semaphore_try_acquire(Dynamic inSemaphore, double timeout) {
- hxSemaphore *semaphore = dynamic_cast<hxSemaphore *>(inSemaphore.mPtr);
- if (!semaphore)
- throw HX_INVALID_OBJECT;
- return semaphore->TryAcquire(timeout);
+ auto semaphore = inSemaphore.Cast<hx::thread::CountingSemaphore>();
+
+ return semaphore->tryAcquire(timeout);
}
void __hxcpp_semaphore_release(Dynamic inSemaphore) {
- hxSemaphore *semaphore = dynamic_cast<hxSemaphore *>(inSemaphore.mPtr);
- if (!semaphore)
- throw HX_INVALID_OBJECT;
- semaphore->Release();
+ auto semaphore = inSemaphore.Cast<hx::thread::CountingSemaphore>();
+
+ semaphore->release();
}
-class hxCondition : public hx::Object {
-public:
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- CRITICAL_SECTION cs;
- CONDITION_VARIABLE cond;
-#endif
-#else
- pthread_cond_t *cond;
- pthread_mutex_t *mutex;
-#endif
- hx::InternalFinalizer *mFinalizer;
- hxCondition() {
- mFinalizer = new hx::InternalFinalizer(this);
- mFinalizer->mFinalizer = clean;
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- InitializeCriticalSection(&cs);
- InitializeConditionVariable(&cond);
-#else
- throw Dynamic(HX_CSTRING("Condition variables are not supported on Windows XP"));
-#endif
-#else
- pthread_condattr_t cond_attr;
- pthread_condattr_init(&cond_attr);
- cond = new pthread_cond_t();
- pthread_cond_init(cond, &cond_attr);
- pthread_condattr_destroy(&cond_attr);
- pthread_mutexattr_t mutex_attr;
- pthread_mutexattr_init(&mutex_attr);
- mutex = new pthread_mutex_t();
- pthread_mutex_init(mutex, &mutex_attr);
- pthread_mutexattr_destroy(&mutex_attr);
-#endif
- }
+// --- Condition ------------------------------------------------------------
- HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdCondition };
+Dynamic __hxcpp_condition_create(void)
+{
+ return new hx::thread::ConditionVariable_obj();
+}
+void __hxcpp_condition_acquire(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
-#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { mFinalizer->Visit(__inCtx); }
-#endif
- static void clean(hx::Object *inObj) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inObj);
- if (cond) {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- DeleteCriticalSection(&cond->cs);
-#endif
-#else
- pthread_cond_destroy(cond->cond);
- delete cond->cond;
- pthread_mutex_destroy(cond->mutex);
- delete cond->mutex;
-#endif
- }
- }
+ condition->acquire();
+}
+bool __hxcpp_condition_try_acquire(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
- void Acquire() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- EnterCriticalSection(&cs);
-#endif
-#else
- pthread_mutex_lock(mutex);
-#endif
- }
-
- bool TryAcquire() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- return (bool)TryEnterCriticalSection(&cs);
-#else
- return false;
-#endif
-#else
- return pthread_mutex_trylock(mutex);
-#endif
- }
+ return condition->tryAcquire();
+}
+void __hxcpp_condition_release(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
- void Release() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- LeaveCriticalSection(&cs);
-#endif
-#else
- pthread_mutex_unlock(mutex);
-#endif
- }
+ condition->release();
+}
+void __hxcpp_condition_wait(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
- void Wait() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- SleepConditionVariableCS(&cond,&cs,INFINITE);
-#endif
-#else
- pthread_cond_wait(cond, mutex);
-#endif
- }
-
- bool TimedWait(double timeout) {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- return (bool)SleepConditionVariableCS(&cond, &cs, (DWORD)((FLOAT)timeout * 1000.0));
-#else
- return false;
-#endif
-#else
- struct timeval tv;
- struct timespec t;
- double delta = timeout;
- int idelta = (int)delta, idelta2;
- delta -= idelta;
- delta *= 1.0e9;
- gettimeofday(&tv, NULL);
- delta += tv.tv_usec * 1000.0;
- idelta2 = (int)(delta / 1e9);
- delta -= idelta2 * 1e9;
- t.tv_sec = tv.tv_sec + idelta + idelta2;
- t.tv_nsec = (long)delta;
- return pthread_cond_timedwait(cond, mutex, &t);
-#endif
- }
- void Signal() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- WakeConditionVariable(&cond);
-#endif
-#else
- pthread_cond_signal(cond);
-#endif
- }
- void Broadcast() {
-#ifdef HX_WINDOWS
-#ifndef HXCPP_WINXP_COMPAT
- WakeAllConditionVariable(&cond);
-#endif
-#else
- pthread_cond_broadcast(cond);
-#endif
- }
-};
+ condition->wait();
+}
+bool __hxcpp_condition_timed_wait(Dynamic inCond, double timeout)
+{
+ return hx::Throw(HX_CSTRING("Not Implemented"));
+}
+void __hxcpp_condition_signal(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
+
+ condition->signal();
+}
+void __hxcpp_condition_broadcast(Dynamic inCond)
+{
+ auto condition = inCond.Cast<hx::thread::ConditionVariable>();
-Dynamic __hxcpp_condition_create(void) {
- return new hxCondition;
-}
-void __hxcpp_condition_acquire(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- cond->Acquire();
-}
-bool __hxcpp_condition_try_acquire(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- return cond->TryAcquire();
-}
-void __hxcpp_condition_release(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- cond->Release();
-}
-void __hxcpp_condition_wait(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- cond->Wait();
-}
-bool __hxcpp_condition_timed_wait(Dynamic inCond, double timeout) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- return cond->TimedWait(timeout);
-}
-void __hxcpp_condition_signal(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- cond->Signal();
-}
-void __hxcpp_condition_broadcast(Dynamic inCond) {
- hxCondition *cond = dynamic_cast<hxCondition *>(inCond.mPtr);
- if (!cond)
- throw HX_INVALID_OBJECT;
- cond->Broadcast();
+ condition->broadcast();
}
// --- Lock ------------------------------------------------------------
@@ -823,7 +301,7 @@ public:
HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdLock };
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { mFinalizer->Visit(__inCtx); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { mFinalizer->Visit(__inCtx); }
#endif
hx::InternalFinalizer *mFinalizer;
@@ -921,15 +399,11 @@ void __hxcpp_lock_release(Dynamic inlock)
int __hxcpp_GetCurrentThreadNumber()
{
- // Can't allow GetCurrentInfo() to create the main thread's info
- // because that can cause a call loop.
- hxThreadInfo *threadInfo = GetCurrentInfo(false);
- if (!threadInfo) {
- return 0;
- }
- return threadInfo->GetThreadNumber();
+ return hx::thread::Thread_obj::id();
}
+#endif
+
// --- Atomic ---
bool _hx_atomic_exchange_if(::cpp::Pointer<cpp::AtomicInt> inPtr, int test, int newVal )
@@ -946,5 +420,3 @@ int _hx_atomic_dec(::cpp::Pointer<cpp::AtomicInt> inPtr )
{
return _hx_atomic_sub(inPtr, 1);
}
-
-
diff --git a/Sources/c_borogove/src/hx/gc/Immix.cpp b/Sources/c_borogove/src/hx/gc/Immix.cpp
index 880b51c..560b4f2 100644
--- a/Sources/c_borogove/src/hx/gc/Immix.cpp
+++ b/Sources/c_borogove/src/hx/gc/Immix.cpp
@@ -3,9 +3,13 @@
#include <hx/GC.h>
#include <hx/Memory.h>
#include <hx/Thread.h>
+#include <hx/thread/Thread.hpp>
#include "../Hash.h"
#include "GcRegCapture.h"
#include <hx/Unordered.h>
+#include <mutex>
+#include <thread>
+#include <condition_variable>
#ifdef EMSCRIPTEN
#include <emscripten/stack.h>
@@ -198,15 +202,13 @@ static bool sGcVerifyGenerational = false;
#else
enum { MAX_GC_THREADS = 2 };
#endif
+
+ // You can uncomment this for better call stacks if it crashes while collecting
+ #define HX_MULTI_THREAD_MARKING
#else
enum { MAX_GC_THREADS = 1 };
#endif
-#if (MAX_GC_THREADS>1)
- // You can uncomment this for better call stacks if it crashes while collecting
- #define HX_MULTI_THREAD_MARKING
-#endif
-
#ifdef PROFILE_THREAD_USAGE
static int sThreadMarkCountData[MAX_GC_THREADS+1];
static int sThreadArrayMarkCountData[MAX_GC_THREADS+1];
@@ -394,8 +396,8 @@ static int sgTimeToNextTableUpdate = 1;
-HxMutex *gThreadStateChangeLock=0;
-HxMutex *gSpecialObjectLock=0;
+std::recursive_mutex *gThreadStateChangeLock=nullptr;
+std::mutex *gSpecialObjectLock=nullptr;
class LocalAllocator;
enum LocalAllocState { lasNew, lasRunning, lasStopped, lasWaiting, lasTerminal };
@@ -572,24 +574,7 @@ enum AllocType { allocNone, allocString, allocObject, allocMarked };
struct BlockDataInfo *gBlockStack = 0;
typedef hx::QuickVec<hx::Object *> ObjectStack;
-
-typedef HxMutex ThreadPoolLock;
-
-static ThreadPoolLock sThreadPoolLock;
-
-#if !defined(HX_WINDOWS) && !defined(EMSCRIPTEN) && \
- !defined(__SNC__) && !defined(__ORBIS__)
-#define HX_GC_PTHREADS
-typedef pthread_cond_t ThreadPoolSignal;
-inline void WaitThreadLocked(ThreadPoolSignal &ioSignal)
-{
- pthread_cond_wait(&ioSignal, sThreadPoolLock.mMutex);
-}
-#else
-typedef HxSemaphore ThreadPoolSignal;
-#endif
-
-typedef TAutoLock<ThreadPoolLock> ThreadPoolAutoLock;
+static std::mutex sThreadPoolLock;
// For threaded marking/block reclaiming
static unsigned int sRunningThreads = 0;
@@ -616,20 +601,16 @@ static bool sgThreadPoolAbort = false;
// Pthreads enters the sleep state while holding a mutex, so it no cost to update
// the sleeping state and thereby avoid over-signalling the condition
-bool sThreadSleeping[MAX_GC_THREADS];
-ThreadPoolSignal sThreadWake[MAX_GC_THREADS];
-bool sThreadJobDoneSleeping = false;
-ThreadPoolSignal sThreadJobDone;
+bool sThreadSleeping[MAX_GC_THREADS];
+std::condition_variable_any* sThreadWake[MAX_GC_THREADS];
+bool sThreadJobDoneSleeping = false;
+std::condition_variable_any* sThreadJobDone;
-static inline void SignalThreadPool(ThreadPoolSignal &ioSignal, bool sThreadSleeping)
+static inline void SignalThreadPool(std::condition_variable_any* ioSignal, bool sThreadSleeping)
{
- #ifdef HX_GC_PTHREADS
- if (sThreadSleeping)
- pthread_cond_signal(&ioSignal);
- #else
- ioSignal.Set();
- #endif
+ if (sThreadSleeping)
+ ioSignal->notify_one();
}
static void wakeThreadLocked(int inThreadId)
@@ -1557,7 +1538,7 @@ struct GlobalChunks
if (MAX_GC_THREADS>1 && sLazyThreads)
{
- ThreadPoolAutoLock l(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
#ifdef PROFILE_THREAD_USAGE
#define CHECK_THREAD_WAKE(tid) \
@@ -1731,7 +1712,7 @@ struct GlobalChunks
return result;
}
}
- ThreadPoolAutoLock l(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
completeThreadLocked(inThreadId);
}
return result;
@@ -1952,7 +1933,7 @@ public:
if (obj)
{
obj->__Mark(this);
- #if HX_MULTI_THREAD_MARKING
+ #ifdef HX_MULTI_THREAD_MARKING
// Load balance
if (sLazyThreads && marking->count>32)
{
@@ -2388,7 +2369,7 @@ void MarkStringArray(String *inPtr, int inLength, hx::MarkContext *__inCtx)
// --- Roots -------------------------------
-FILE_SCOPE HxMutex *sGCRootLock = 0;
+FILE_SCOPE std::mutex* sGCRootLock = nullptr;
typedef hx::UnorderedSet<hx::Object **> RootSet;
static RootSet sgRootSet;
@@ -2397,20 +2378,20 @@ static OffsetRootSet *sgOffsetRootSet=0;
void GCAddRoot(hx::Object **inRoot)
{
- AutoLock lock(*sGCRootLock);
+ std::lock_guard<std::mutex> lock(*sGCRootLock);
sgRootSet.insert(inRoot);
}
void GCRemoveRoot(hx::Object **inRoot)
{
- AutoLock lock(*sGCRootLock);
+ std::lock_guard<std::mutex> lock(*sGCRootLock);
sgRootSet.erase(inRoot);
}
void GcAddOffsetRoot(void *inRoot, int inOffset)
{
- AutoLock lock(*sGCRootLock);
+ std::lock_guard<std::mutex> lock(*sGCRootLock);
if (!sgOffsetRootSet)
sgOffsetRootSet = new OffsetRootSet();
(*sgOffsetRootSet)[inRoot] = inOffset;
@@ -2418,13 +2399,13 @@ void GcAddOffsetRoot(void *inRoot, int inOffset)
void GcSetOffsetRoot(void *inRoot, int inOffset)
{
- AutoLock lock(*sGCRootLock);
+ std::lock_guard<std::mutex> lock(*sGCRootLock);
(*sgOffsetRootSet)[inRoot] = inOffset;
}
void GcRemoveOffsetRoot(void *inRoot)
{
- AutoLock lock(*sGCRootLock);
+ std::lock_guard<std::mutex> lock(*sGCRootLock);
OffsetRootSet::iterator r = sgOffsetRootSet->find(inRoot);
sgOffsetRootSet->erase(r);
}
@@ -2438,7 +2419,7 @@ void GcRemoveOffsetRoot(void *inRoot)
class WeakRef;
typedef hx::QuickVec<WeakRef *> WeakRefs;
-FILE_SCOPE HxMutex *sFinalizerLock = 0;
+FILE_SCOPE std::mutex *sFinalizerLock = 0;
FILE_SCOPE WeakRefs sWeakRefs;
class WeakRef : public hx::Object
@@ -2451,16 +2432,15 @@ public:
mRef = inRef;
if (mRef.mPtr)
{
- sFinalizerLock->Lock();
+ std::lock_guard<std::mutex> lock(*sFinalizerLock);
sWeakRefs.push(this);
- sFinalizerLock->Unlock();
}
}
// Don't mark our ref !
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mRef); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(mRef); }
#endif
Dynamic mRef;
@@ -2502,7 +2482,7 @@ InternalFinalizer::InternalFinalizer(hx::Object *inObj, finalizer inFinalizer)
mFinalizer = inFinalizer;
// Ensure this survives generational collect
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
sgFinalizers->push(this);
}
@@ -2799,7 +2779,7 @@ void GCSetFinalizer( hx::Object *obj, hx::finalizer f )
if (((unsigned int *)obj)[-1] & HX_GC_CONST_ALLOC_BIT)
throw Dynamic(HX_CSTRING("set_finalizer - invalid const object"));
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
if (f==0)
{
FinalizerMap::iterator i = sFinalizerMap.find(obj);
@@ -2819,7 +2799,7 @@ void GCSetHaxeFinalizer( hx::Object *obj, HaxeFinalizer f )
if (((unsigned int *)obj)[-1] & HX_GC_CONST_ALLOC_BIT)
throw Dynamic(HX_CSTRING("set_finalizer - invalid const object"));
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
if (f==0)
{
HaxeFinalizerMap::iterator i = sHaxeFinalizerMap.find(obj);
@@ -2837,13 +2817,13 @@ void GCDoNotKill(hx::Object *inObj)
if (((unsigned int *)inObj)[-1] & HX_GC_CONST_ALLOC_BIT)
throw Dynamic(HX_CSTRING("doNotKill - invalid const object"));
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
sMakeZombieSet.insert(inObj);
}
hx::Object *GCGetNextZombie()
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
if (sZombieList.empty())
return 0;
hx::Object *result = sZombieList.pop();
@@ -2852,13 +2832,13 @@ hx::Object *GCGetNextZombie()
void RegisterWeakHash(HashBase<String> *inHash)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
sWeakHashList.push(inHash);
}
void RegisterWeakHash(HashBase<Dynamic> *inHash)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
sWeakHashList.push(inHash);
}
@@ -2951,8 +2931,8 @@ public:
AllocCounter() { count = 0; }
- void visitObject(hx::Object **ioPtr) { count ++; }
- void visitAlloc(void **ioPtr) { count ++; }
+ void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE { count ++; }
+ void visitAlloc(void **ioPtr) HXCPP_OVERRIDE { count ++; }
};
@@ -3155,12 +3135,12 @@ public:
{
if (!gThreadStateChangeLock)
{
- gThreadStateChangeLock = new HxMutex();
- gSpecialObjectLock = new HxMutex();
+ gThreadStateChangeLock = new std::recursive_mutex();
+ gSpecialObjectLock = new std::mutex();
}
// Until we add ourselves, the collector will not wait
// on us - ie, we are assumed ot be in a GC free zone.
- AutoLock lock(*gThreadStateChangeLock);
+ std::lock_guard<std::recursive_mutex> lock(*gThreadStateChangeLock);
mLocalAllocs.push(inAlloc);
// TODO Attach debugger
}
@@ -3183,7 +3163,7 @@ public:
LocalAllocator *GetPooledAllocator()
{
- AutoLock lock(*gThreadStateChangeLock);
+ std::lock_guard<std::recursive_mutex> lock(*gThreadStateChangeLock);
for(int p=0;p<LOCAL_POOL_SIZE;p++)
{
if (mLocalPool[p])
@@ -3218,19 +3198,19 @@ public:
{
unsigned int *blob = ((unsigned int *)inLarge) - 2;
unsigned int size = *blob;
- mLargeListLock.Lock();
+ mLargeListLock.lock();
mLargeAllocated -= size;
// Could somehow keep it in the list, but mark as recycled?
mLargeList.qerase_val(blob);
// We could maybe free anyhow?
if (!largeObjectRecycle.hasExtraCapacity(1))
{
- mLargeListLock.Unlock();
+ mLargeListLock.unlock();
HxFree(blob);
return;
}
largeObjectRecycle.push(blob);
- mLargeListLock.Unlock();
+ mLargeListLock.unlock();
}
}
@@ -3271,7 +3251,7 @@ public:
{
if (do_lock && !isLocked)
{
- mLargeListLock.Lock();
+ mLargeListLock.lock();
isLocked = true;
if ( i>=largeObjectRecycle.size() || largeObjectRecycle[i][0] != inSize )
continue;
@@ -3297,7 +3277,7 @@ public:
if (isLocked)
{
- mLargeListLock.Unlock();
+ mLargeListLock.unlock();
isLocked = false;
}
@@ -3322,13 +3302,13 @@ public:
#endif
if (do_lock && !isLocked)
- mLargeListLock.Lock();
+ mLargeListLock.lock();
mLargeList.push(result);
mLargeAllocated += inSize;
if (do_lock)
- mLargeListLock.Unlock();
+ mLargeListLock.unlock();
#ifdef HXCPP_TELEMETRY
__hxt_gc_alloc(result + 2, inSize);
@@ -3365,12 +3345,12 @@ public:
#endif
if (do_lock)
- mLargeListLock.Lock();
+ mLargeListLock.lock();
mLargeAllocated += inDelta;
if (do_lock)
- mLargeListLock.Unlock();
+ mLargeListLock.unlock();
}
// Gets a block with the 'zeroLock' acquired, which means the zeroing thread
@@ -3616,7 +3596,7 @@ public:
#ifndef HXCPP_SINGLE_THREADED_APP
hx::EnterGCFreeZone();
- gThreadStateChangeLock->Lock();
+ gThreadStateChangeLock->lock();
hx::ExitGCFreeZoneLocked();
result = GetNextFree(inRequiredBytes);
@@ -3665,7 +3645,7 @@ public:
mCurrentRowsInUse += result->GetFreeRows();
#ifndef HXCPP_SINGLE_THREADED_APP
- gThreadStateChangeLock->Unlock();
+ gThreadStateChangeLock->unlock();
#endif
@@ -3897,24 +3877,24 @@ public:
GlobalAllocator *mAlloc;
public:
AdjustPointer(GlobalAllocator *inAlloc) : mAlloc(inAlloc) { }
-
- void visitObject(hx::Object **ioPtr)
+
+ void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE
{
if ( ((*(unsigned int **)ioPtr)[-1]) == IMMIX_OBJECT_HAS_MOVED )
{
//GCLOG(" patch object to %p -> %p\n", *ioPtr, (*(hx::Object ***)ioPtr)[0]);
*ioPtr = (*(hx::Object ***)ioPtr)[0];
- //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] );
+ //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] );
}
}
- void visitAlloc(void **ioPtr)
+ void visitAlloc(void **ioPtr) HXCPP_OVERRIDE
{
if ( ((*(unsigned int **)ioPtr)[-1]) == IMMIX_OBJECT_HAS_MOVED )
{
//GCLOG(" patch reference to %p -> %p\n", *ioPtr, (*(void ***)ioPtr)[0]);
*ioPtr = (*(void ***)ioPtr)[0];
- //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] );
+ //GCLOG(" %08x %08x ...\n", ((int *)(*ioPtr))[0], ((int *)(*ioPtr))[1] );
}
}
};
@@ -4216,7 +4196,7 @@ public:
void *GetIDObject(int inIndex)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
if (inIndex<0 || inIndex>hx::sIdObjectMap.size())
return 0;
return hx::sIdObjectMap[inIndex];
@@ -4224,7 +4204,7 @@ public:
int GetObjectID(void * inPtr)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
hx::ObjectIdMap::iterator i = hx::sObjectIdMap.find( (hx::Object *)inPtr );
if (i!=hx::sObjectIdMap.end())
return i->second;
@@ -4443,7 +4423,7 @@ public:
if (mZeroListQueue + mThreadJobId < mZeroList.size())
{
// Wake zeroing thread
- ThreadPoolAutoLock l(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
if (!(sRunningThreads & 0x01))
{
#ifdef PROFILE_THREAD_USAGE
@@ -4458,7 +4438,7 @@ public:
void finishThreadJob(int inId)
{
- ThreadPoolAutoLock l(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
if (sRunningThreads & (1<<inId))
{
sRunningThreads &= ~(1<<inId);
@@ -4476,22 +4456,15 @@ public:
void waitForThreadWake(int inId)
{
- #ifdef HX_GC_PTHREADS
- {
- ThreadPoolAutoLock l(sThreadPoolLock);
- int count = 0;
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
+ int count = 0;
- // May be woken multiple times if sRunningThreads is set to 0 then 1 before we sleep
- sThreadSleeping[inId] = true;
- // Spurious wake?
- while( !(sRunningThreads & (1<<inId) ) )
- WaitThreadLocked(sThreadWake[inId]);
- sThreadSleeping[inId] = false;
- }
- #else
- while( !(sRunningThreads & (1<<inId) ) )
- sThreadWake[inId].Wait();
- #endif
+ // May be woken multiple times if sRunningThreads is set to 0 then 1 before we sleep
+ sThreadSleeping[inId] = true;
+ // Spurious wake?
+ sThreadWake[inId]->wait(sThreadPoolLock, [&inId]() { return sRunningThreads & (1 << inId); });
+
+ sThreadSleeping[inId] = false;
}
@@ -4544,29 +4517,29 @@ public:
}
}
- static THREAD_FUNC_TYPE SThreadLoop( void *inInfo )
+ static void SThreadLoop( void *inInfo )
{
sGlobalAlloc->ThreadLoop((int)(size_t)inInfo);
- THREAD_FUNC_RET;
}
void CreateWorker(int inId)
{
void *info = (void *)(size_t)inId;
- #ifdef HX_GC_PTHREADS
- pthread_cond_init(&sThreadWake[inId],0);
- sThreadSleeping[inId] = false;
- if (inId==0)
- pthread_cond_init(&sThreadJobDone,0);
-
- pthread_t result = 0;
- int created = pthread_create(&result,0,SThreadLoop,info);
- bool ok = created==0;
- #elif defined(EMSCRIPTEN)
+ #if defined(EMSCRIPTEN)
// Only one thread
#else
- bool ok = HxCreateDetachedThread(SThreadLoop, info);
+ sThreadWake[inId] = new std::condition_variable_any();
+ if (0 == inId)
+ {
+ sThreadJobDone = new std::condition_variable_any();
+ }
+
+ sThreadSleeping[inId] = false;
+
+ std::thread thread(SThreadLoop, info);
+
+ thread.detach();
#endif
}
@@ -4581,7 +4554,7 @@ public:
sgThreadPoolAbort = true;
if (sgThreadPoolJob==tpjAsyncZeroJit)
{
- ThreadPoolAutoLock l(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
// Thread will be waiting, but not finished
if (sRunningThreads & 0x1)
{
@@ -4593,16 +4566,10 @@ public:
}
- #ifdef HX_GC_PTHREADS
- ThreadPoolAutoLock lock(sThreadPoolLock);
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
sThreadJobDoneSleeping = true;
- while(sRunningThreads)
- WaitThreadLocked(sThreadJobDone);
+ sThreadJobDone->wait(sThreadPoolLock, []() { return sRunningThreads == false; });
sThreadJobDoneSleeping = false;
- #else
- while(sRunningThreads)
- sThreadJobDone.Wait();
- #endif
sgThreadPoolAbort = false;
sAllThreads = 0;
sgThreadPoolJob = tpjNone;
@@ -4625,10 +4592,7 @@ public:
CreateWorker(i);
}
- #ifdef HX_GC_PTHREADS
- ThreadPoolAutoLock lock(sThreadPoolLock);
- #endif
-
+ std::lock_guard<std::mutex> l(sThreadPoolLock);
sgThreadPoolJob = inJob;
@@ -4648,15 +4612,9 @@ public:
if (inWait)
{
// Join the workers...
- #ifdef HX_GC_PTHREADS
sThreadJobDoneSleeping = true;
- while(sRunningThreads)
- WaitThreadLocked(sThreadJobDone);
+ sThreadJobDone->wait(sThreadPoolLock, []() { return sRunningThreads == false; });
sThreadJobDoneSleeping = false;
- #else
- while(sRunningThreads)
- sThreadJobDone.Wait();
- #endif
sAllThreads = 0;
sgThreadPoolJob = tpjNone;
@@ -4866,12 +4824,12 @@ public:
{
if (inLocked)
{
- gThreadStateChangeLock->Unlock();
+ gThreadStateChangeLock->unlock();
hx::PauseForCollect();
hx::EnterGCFreeZone();
- gThreadStateChangeLock->Lock();
+ gThreadStateChangeLock->lock();
hx::ExitGCFreeZoneLocked();
}
else
@@ -4890,7 +4848,7 @@ public:
this_local = (LocalAllocator *)(hx::ImmixAllocator *)hx::tlsStackContext;
if (!inLocked)
- gThreadStateChangeLock->Lock();
+ gThreadStateChangeLock->lock();
for(int i=0;i<mLocalAllocs.size();i++)
if (mLocalAllocs[i]!=this_local)
@@ -5408,7 +5366,7 @@ public:
}
if (!inLocked)
- gThreadStateChangeLock->Unlock();
+ gThreadStateChangeLock->unlock();
#else
#ifdef HXCPP_SCRIPTABLE
hx::gMainThreadContext->byteMarkId = hx::gByteMarkID;
@@ -5625,7 +5583,7 @@ public:
volatile int mZeroListQueue;
LargeList mLargeList;
- HxMutex mLargeListLock;
+ std::mutex mLargeListLock;
hx::QuickVec<LocalAllocator *> mLocalAllocs;
LocalAllocator *mLocalPool[LOCAL_POOL_SIZE];
hx::QuickVec<unsigned int *> largeObjectRecycle;
@@ -5902,7 +5860,7 @@ public:
EnterGCFreeZone();
#endif
- AutoLock lock(*gThreadStateChangeLock);
+ std::lock_guard<std::recursive_mutex> lock(*gThreadStateChangeLock);
#ifdef HX_WINDOWS
mID = 0;
@@ -6129,7 +6087,7 @@ public:
if (!mGCFreeZone)
CriticalGCError("GCFree Zone mismatch");
- AutoLock lock(*gThreadStateChangeLock);
+ std::lock_guard<std::recursive_mutex> lock(*gThreadStateChangeLock);
mReadyForCollect.Reset();
mGCFreeZone = false;
#endif
@@ -6192,7 +6150,7 @@ public:
#endif // } HXCPP_EXPLICIT_STACK_EXTENT
- void SetupStackAndCollect(bool inMajor, bool inForceCompact, bool inLocked=false,bool inFreeIsFragged=false)
+ void SetupStackAndCollect(bool inMajor, bool inForceCompact, bool inLocked=false,bool inFreeIsFragged=false) HXCPP_OVERRIDE
{
#ifndef HXCPP_SINGLE_THREADED_APP
#if HXCPP_DEBUG
@@ -6254,7 +6212,7 @@ public:
}
- void *CallAlloc(int inSize,unsigned int inObjectFlags)
+ void *CallAlloc(int inSize,unsigned int inObjectFlags) HXCPP_OVERRIDE
{
#ifndef HXCPP_SINGLE_THREADED_APP
#if HXCPP_DEBUG
@@ -6605,8 +6563,8 @@ void InitAlloc()
sgAllocInit = true;
sGlobalAlloc = new GlobalAllocator();
sgFinalizers = new FinalizerList();
- sFinalizerLock = new HxMutex();
- sGCRootLock = new HxMutex();
+ sFinalizerLock = new std::mutex();
+ sGCRootLock = new std::mutex();
hx::Object tmp;
void **stack = *(void ***)(&tmp);
sgObject_root = stack[0];
@@ -6619,7 +6577,7 @@ void InitAlloc()
ExitGCFreeZone();
// Setup main thread ...
- __hxcpp_thread_current();
+ hx::thread::Thread_obj::current();
gMainThreadContext->onThreadAttach();
}
@@ -6913,7 +6871,7 @@ int GcGetThreadAttachedCount()
class GcFreezer : public hx::VisitContext
{
public:
- void visitObject(hx::Object **ioPtr)
+ void visitObject(hx::Object **ioPtr) HXCPP_OVERRIDE
{
hx::Object *obj = *ioPtr;
if (!obj || IsConstAlloc(obj))
@@ -6926,7 +6884,7 @@ public:
(*ioPtr)->__Visit(this);
}
- void visitAlloc(void **ioPtr)
+ void visitAlloc(void **ioPtr) HXCPP_OVERRIDE
{
void *data = *ioPtr;
if (!data || IsConstAlloc(data))
@@ -7041,13 +6999,13 @@ void __hxcpp_set_finalizer(Dynamic inObj, void *inFunc)
void __hxcpp_add_member_finalizer(hx::Object *inObject, _hx_member_finalizer f, bool inPin)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
hx::sFinalizableList.push( hx::Finalizable(inObject, f, inPin) );
}
void __hxcpp_add_alloc_finalizer(void *inAlloc, _hx_alloc_finalizer f, bool inPin)
{
- AutoLock lock(*gSpecialObjectLock);
+ std::lock_guard<std::mutex> lock(*gSpecialObjectLock);
hx::sFinalizableList.push( hx::Finalizable(inAlloc, f, inPin) );
}
diff --git a/Sources/c_borogove/src/hx/libs/regexp/Build.xml b/Sources/c_borogove/src/hx/libs/regexp/Build.xml
index 4ead482..46a1fba 100644
--- a/Sources/c_borogove/src/hx/libs/regexp/Build.xml
+++ b/Sources/c_borogove/src/hx/libs/regexp/Build.xml
@@ -4,7 +4,7 @@
<set name="PCRE_DIR" value="${HXCPP}/project/thirdparty/pcre2-10.42/src" />
-<files id="pcre2-8" >
+<files id="pcre2-8" tags="" >
<depend files="hxcpp-depends"/>
<depend name="${this_dir}/Build.xml" dateOnly="true" />
<cache value="true" asLibrary="true" />
@@ -15,7 +15,7 @@
<include name="${this_dir}/pcre2_sources.xml" />
</files>
-<files id="pcre2-16" >
+<files id="pcre2-16" tags="" >
<depend files="hxcpp-depends"/>
<depend name="${this_dir}/Build.xml" dateOnly="true" />
<cache value="true" asLibrary="true" />
@@ -42,4 +42,4 @@
<files id="pcre2-16" if="hxcpp_smart_strings" />
</target>
-</xml>
\ No newline at end of file
+</xml>
diff --git a/Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp b/Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp
index 9c66167..09d1808 100644
--- a/Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp
+++ b/Sources/c_borogove/src/hx/libs/regexp/RegExp.cpp
@@ -133,9 +133,9 @@ struct pcredata : public hx::Object
#endif
}
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(string); HX_MARK_MEMBER(expr); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(string); HX_MARK_MEMBER(expr); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(string); HX_VISIT_MEMBER(expr); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(string); HX_VISIT_MEMBER(expr); }
#endif
static void finalize(Dynamic obj)
@@ -143,7 +143,7 @@ struct pcredata : public hx::Object
((pcredata *)(obj.mPtr))->destroy();
}
- String toString() { return expr; }
+ String toString() HXCPP_OVERRIDE { return expr; }
};
diff --git a/Sources/c_borogove/src/hx/libs/sqlite/Build.xml b/Sources/c_borogove/src/hx/libs/sqlite/Build.xml
index ff957e7..b17ca54 100644
--- a/Sources/c_borogove/src/hx/libs/sqlite/Build.xml
+++ b/Sources/c_borogove/src/hx/libs/sqlite/Build.xml
@@ -14,7 +14,7 @@
<file name="Sqlite.cpp"/>
<depend name="${SQLITE_DIR}/sqlite3.h" />
- <file name="${SQLITE_DIR}/sqlite3.c"/>
+ <file name="${SQLITE_DIR}/sqlite3.c" tags="" />
</files>
<target id="haxe">
diff --git a/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp b/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
index 4b4f97e..972d8b1 100644
--- a/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
+++ b/Sources/c_borogove/src/hx/libs/sqlite/Sqlite.cpp
@@ -98,7 +98,7 @@ struct result : public hx::Object
}
}
- String toString() { return HX_CSTRING("Sqlite Result"); }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("Sqlite Result"); }
//static void finalize_result( result *r, int exc, bool throwError = true )
};
@@ -158,12 +158,12 @@ struct database : public hx::Object
HX_OBJ_WB_GET(this, last.mPtr);
}
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(last); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(last); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(last); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(last); }
#endif
- String toString() { return HX_CSTRING("Sqlite Databse"); }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("Sqlite Databse"); }
};
static void sqlite_error( sqlite3 *db ) {
@@ -200,8 +200,9 @@ result *getResult(Dynamic handle, bool inRequireStatement)
Dynamic _hx_sqlite_connect(String filename)
{
sqlite3 *sqlDb = 0;
+ const char *filenameUtf8 = filename.utf8_str();
__hxcpp_enter_gc_free_zone();
- int err = sqlite3_open(filename.utf8_str(),&sqlDb);
+ int err = sqlite3_open(filenameUtf8,&sqlDb);
__hxcpp_exit_gc_free_zone();
if (err != SQLITE_OK)
sqlite_error(sqlDb);
diff --git a/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp b/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
index f76ba18..9a03daa 100644
--- a/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
+++ b/Sources/c_borogove/src/hx/libs/ssl/SSL.cpp
@@ -617,6 +617,50 @@ Array<unsigned char> _hx_ssl_read( Dynamic hssl ) {
return result;
}
+#ifdef NEKO_WINDOWS
+static int verify_callback(void* param, mbedtls_x509_crt *crt, int depth, uint32_t *flags) {
+ if (*flags == 0 || *flags & MBEDTLS_X509_BADCERT_CN_MISMATCH) {
+ return 0;
+ }
+
+ HCERTSTORE store = CertOpenStore(CERT_STORE_PROV_MEMORY, 0, 0, CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG, NULL);
+ if(store == NULL) {
+ return MBEDTLS_ERR_X509_FATAL_ERROR;
+ }
+ PCCERT_CONTEXT primary_context = {0};
+ if(!CertAddEncodedCertificateToStore(store, X509_ASN_ENCODING, crt->raw.p, crt->raw.len, CERT_STORE_ADD_REPLACE_EXISTING, &primary_context)) {
+ CertCloseStore(store, 0);
+ return MBEDTLS_ERR_X509_FATAL_ERROR;
+ }
+ PCCERT_CHAIN_CONTEXT chain_context = {0};
+ CERT_CHAIN_PARA parameters = {0};
+ if(!CertGetCertificateChain(NULL, primary_context, NULL, store, ¶meters, 0, NULL, &chain_context)) {
+ CertFreeCertificateContext(primary_context);
+ CertCloseStore(store, 0);
+ return MBEDTLS_ERR_X509_FATAL_ERROR;
+ }
+ CERT_CHAIN_POLICY_PARA policy_parameters = {0};
+ CERT_CHAIN_POLICY_STATUS policy_status = {0};
+ if(!CertVerifyCertificateChainPolicy(CERT_CHAIN_POLICY_SSL, chain_context, &policy_parameters, &policy_status)) {
+ CertFreeCertificateChain(chain_context);
+ CertFreeCertificateContext(primary_context);
+ CertCloseStore(store, 0);
+ return MBEDTLS_ERR_X509_FATAL_ERROR;
+ }
+ if(policy_status.dwError == 0) {
+ *flags = 0;
+ } else {
+ // if we ever want to read the verification result,
+ // we need to properly map dwError to flags
+ *flags |= MBEDTLS_X509_BADCERT_OTHER;
+ }
+ CertFreeCertificateChain(chain_context);
+ CertFreeCertificateContext(primary_context);
+ CertCloseStore(store, 0);
+ return 0;
+}
+#endif
+
Dynamic _hx_ssl_conf_new( bool server ) {
int ret;
sslconf *conf = new sslconf();
@@ -627,6 +671,9 @@ Dynamic _hx_ssl_conf_new( bool server ) {
conf->destroy();
ssl_error( ret );
}
+#ifdef NEKO_WINDOWS
+ mbedtls_ssl_conf_verify(conf->c, verify_callback, NULL);
+#endif
mbedtls_ssl_conf_rng( conf->c, mbedtls_ctr_drbg_random, &ctr_drbg );
return conf;
}
@@ -1071,3 +1118,4 @@ void _hx_ssl_init() {
}
#endif
+
diff --git a/Sources/c_borogove/src/hx/libs/std/File.cpp b/Sources/c_borogove/src/hx/libs/std/File.cpp
index 57a364f..a883187 100644
--- a/Sources/c_borogove/src/hx/libs/std/File.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/File.cpp
@@ -7,6 +7,7 @@
#ifdef NEKO_WINDOWS
# include <windows.h>
+# include <io.h>
#endif
/**
@@ -47,9 +48,9 @@ struct fio : public hx::Object
name = String();
}
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(name); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(name); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(name); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(name); }
#endif
static void finalize(Dynamic inObj)
@@ -57,7 +58,7 @@ struct fio : public hx::Object
((fio *)(inObj.mPtr))->destroy();
}
- String toString() { return HX_CSTRING("fio:") + name; }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("fio:") + name; }
};
@@ -146,7 +147,44 @@ int _hx_std_file_write( Dynamic handle, Array<unsigned char> s, int p, int n )
if( p < 0 || len < 0 || p > buflen || p + len > buflen )
return 0;
- hx::EnterGCFreeZone();
+ hx::AutoGCFreeZone zone;
+#ifdef HX_WINDOWS
+ if (_isatty(_fileno(f->io))) {
+ fflush(f->io);
+ HANDLE win_handle = (HANDLE)_get_osfhandle(_fileno(f->io));
+ static const int MAX_BUFFER_SIZE = 8192;
+ wchar_t buf[MAX_BUFFER_SIZE / 2];
+ int result = MultiByteToWideChar(CP_UTF8, 0, (char *)&s[p], len, buf, MAX_BUFFER_SIZE / 2);
+ DWORD written = 0;
+ if(!WriteConsoleW(win_handle, buf, result, &written, NULL)) {
+ file_error("file_write", f->name);
+ }
+ if (written == result) {
+ return len;
+ } else {
+ auto first_code_unit_remaining = buf[written];
+ if (first_code_unit_remaining > 0xDCEE && first_code_unit_remaining <= 0xDFF) {
+ DWORD tmp;
+ WriteConsoleW(win_handle, &buf[written], 1, &tmp, NULL);
+ written += 1;
+ }
+ int count = 0;
+ for (int i = 0; i < written; i++) {
+ wchar_t ch = buf[i];
+ if (ch >= 0 && ch <= 0x7F) {
+ count += 1;
+ } else if (ch >= 0x0080 && ch <= 0x07FF) {
+ count += 2;
+ } else if (ch >= 0xDCEE && ch <= 0xDFF) {
+ count += 1;
+ } else {
+ count += 3;
+ }
+ }
+ return count;
+ }
+ }
+#endif
while( len > 0 )
{
POSIX_LABEL(file_write_again);
@@ -159,7 +197,6 @@ int _hx_std_file_write( Dynamic handle, Array<unsigned char> s, int p, int n )
p += d;
len -= d;
}
- hx::ExitGCFreeZone();
return n;
}
diff --git a/Sources/c_borogove/src/hx/libs/std/Process.cpp b/Sources/c_borogove/src/hx/libs/std/Process.cpp
index d9f020e..498dbfa 100644
--- a/Sources/c_borogove/src/hx/libs/std/Process.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/Process.cpp
@@ -11,7 +11,7 @@
# include <memory.h>
# include <errno.h>
# include <signal.h>
-# if defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN)
+# if defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(NEKO_BSD)
# include <sys/wait.h>
# elif !defined(NEKO_MAC)
# include <wait.h>
@@ -97,7 +97,7 @@ struct vprocess : public hx::Object
((vprocess *)(obj.mPtr))->destroy();
}
- String toString() { return HX_CSTRING("vprocess"); }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("vprocess"); }
};
vprocess *getProcess(Dynamic handle)
diff --git a/Sources/c_borogove/src/hx/libs/std/Random.cpp b/Sources/c_borogove/src/hx/libs/std/Random.cpp
index af59c15..14888b3 100644
--- a/Sources/c_borogove/src/hx/libs/std/Random.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/Random.cpp
@@ -39,7 +39,7 @@ struct rnd : public hx::Object
unsigned long seeds[NSEEDS];
unsigned long cur;
- String toString() { return HX_CSTRING("rand"); }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("rand"); }
};
static unsigned long mag01[2]={
diff --git a/Sources/c_borogove/src/hx/libs/std/Socket.cpp b/Sources/c_borogove/src/hx/libs/std/Socket.cpp
index 1417e7b..8cbb678 100644
--- a/Sources/c_borogove/src/hx/libs/std/Socket.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/Socket.cpp
@@ -9,7 +9,9 @@
#ifdef __GNUC__
// Mingw / gcc on windows
+ #ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
+ #endif
#include <winsock2.h>
#include <ws2tcpip.h>
#else
@@ -19,14 +21,9 @@
#include <Ws2tcpip.h>
#endif
-
#define DYNAMIC_INET_FUNCS 1
-typedef WINSOCK_API_LINKAGE INT (WSAAPI *inet_pton_func)( INT Family, PCSTR pszAddrString, PVOID pAddrBuf);
-typedef WINSOCK_API_LINKAGE PCSTR (WSAAPI *inet_ntop_func)(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBufSize);
-
-
-
-
+typedef INT (WSAAPI *inet_pton_func)( INT Family, PCSTR pszAddrString, PVOID pAddrBuf);
+typedef PCSTR (WSAAPI *inet_ntop_func)(INT Family, PVOID pAddr, PSTR pStringBuf, size_t StringBufSize);
# define FDSIZE(n) (sizeof(u_int) + (n) * sizeof(SOCKET))
# define SHUT_WR SD_SEND
@@ -72,7 +69,7 @@ struct SocketWrapper : public hx::Object
SOCKET socket;
- int __GetType() const { return socketType; }
+ int __GetType() const HXCPP_OVERRIDE { return socketType; }
};
@@ -98,6 +95,29 @@ SOCKET val_sock(Dynamic inValue)
}
+void reset_sock(Dynamic inValue)
+{
+ if (inValue.mPtr)
+ {
+ int type = inValue->__GetType();
+ if (type==vtClass)
+ {
+ inValue = inValue->__Field( HX_CSTRING("__s"), hx::paccNever );
+ if (inValue.mPtr==0)
+ return;
+ type = inValue->__GetType();
+ }
+
+ if (type==socketType) {
+ static_cast<SocketWrapper *>(inValue.mPtr)->socket = INVALID_SOCKET;
+ return;
+ }
+ }
+
+ hx::Throw(HX_CSTRING("Invalid socket handle"));
+}
+
+
/**
<doc>
<h1>Socket</h1>
@@ -190,9 +210,10 @@ void _hx_std_socket_close( Dynamic handle )
{
SOCKET s = val_sock(handle);
POSIX_LABEL(close_again);
- if( closesocket(s) ) {
+ if( s != INVALID_SOCKET && closesocket(s) ) {
HANDLE_EINTR(close_again);
}
+ reset_sock(handle);
}
/**
@@ -363,7 +384,7 @@ int _hx_std_host_resolve( String host )
struct hostent *h = 0;
hx::strbuf hostBuf;
-# if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(BLACKBERRY) || defined(EMSCRIPTEN)
+# if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(NEKO_BSD)
h = gethostbyname(host.utf8_str(&hostBuf));
# else
struct hostent hbase;
@@ -501,7 +522,7 @@ String _hx_std_host_reverse( int host )
struct hostent *h = 0;
unsigned int ip = host;
hx::EnterGCFreeZone();
- #if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN)
+ #if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(NEKO_BSD)
h = gethostbyaddr((char *)&ip,4,AF_INET);
#else
struct hostent htmp;
@@ -522,7 +543,7 @@ String _hx_std_host_reverse_ipv6( Array<unsigned char> host )
struct hostent *h = 0;
hx::EnterGCFreeZone();
- #if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN)
+ #if defined(NEKO_WINDOWS) || defined(NEKO_MAC) || defined(ANDROID) || defined(BLACKBERRY) || defined(EMSCRIPTEN) || defined(NEKO_BSD)
h = gethostbyaddr((char *)&host[0],16,AF_INET6);
#else
struct hostent htmp;
@@ -686,7 +707,7 @@ static void make_array_result_inplace(Array<Dynamic> a, fd_set *tmp)
static struct timeval *init_timeval( double f, struct timeval *t ) {
if (f<0)
return 0;
- t->tv_usec = (f - (int)f ) * 1000000;
+ t->tv_usec = (int)( (f - (int)f ) * 1000000 );
t->tv_sec = (int)f;
return t;
}
@@ -1101,19 +1122,19 @@ struct polldata : public hx::Object
}
}
- void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER(ridx); HX_MARK_MEMBER(widx); }
+ void __Mark(hx::MarkContext *__inCtx) HXCPP_OVERRIDE { HX_MARK_MEMBER(ridx); HX_MARK_MEMBER(widx); }
#ifdef HXCPP_VISIT_ALLOCS
- void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(ridx); HX_VISIT_MEMBER(widx); }
+ void __Visit(hx::VisitContext *__inCtx) HXCPP_OVERRIDE { HX_VISIT_MEMBER(ridx); HX_VISIT_MEMBER(widx); }
#endif
- int __GetType() const { return pollType; }
+ int __GetType() const HXCPP_OVERRIDE { return pollType; }
static void finalize(Dynamic obj)
{
((polldata *)(obj.mPtr))->destroy();
}
- String toString() { return HX_CSTRING("polldata"); }
+ String toString() HXCPP_OVERRIDE { return HX_CSTRING("polldata"); }
};
polldata *val_poll(Dynamic o)
diff --git a/Sources/c_borogove/src/hx/libs/std/Sys.cpp b/Sources/c_borogove/src/hx/libs/std/Sys.cpp
index 371addf..d522429 100644
--- a/Sources/c_borogove/src/hx/libs/std/Sys.cpp
+++ b/Sources/c_borogove/src/hx/libs/std/Sys.cpp
@@ -30,7 +30,7 @@
#include <limits.h>
#ifndef ANDROID
#include <locale.h>
- #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(__GLIBC__)
+ #if !defined(BLACKBERRY) && !defined(EPPC) && !defined(GCW0) && !defined(__GLIBC__) && !defined(NEKO_BSD)
#include <xlocale.h>
#endif
#endif
@@ -52,7 +52,7 @@
#include <string>
#endif
-#ifdef HX_ANDROID
+#if defined(HX_ANDROID) || defined(NEKO_BSD)
#include <sys/wait.h>
#endif
diff --git a/Sources/c_borogove/src/hx/thread/ConditionVariable.cpp b/Sources/c_borogove/src/hx/thread/ConditionVariable.cpp
new file mode 100644
index 0000000..3bfe2c1
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/ConditionVariable.cpp
@@ -0,0 +1,55 @@
+#include <hxcpp.h>
+#include "hx/thread/ConditionVariable.hpp"
+#include <mutex>
+#include <condition_variable>
+#include <chrono>
+
+struct hx::thread::ConditionVariable_obj::Impl
+{
+ std::mutex mutex;
+ std::condition_variable_any condition;
+};
+
+hx::thread::ConditionVariable_obj::ConditionVariable_obj() : impl(new Impl())
+{
+ GCSetFinalizer(this, [](hx::Object* obj)
+ {
+ auto condition = reinterpret_cast<ConditionVariable_obj*>(obj);
+
+ delete condition->impl;
+ });
+}
+
+void hx::thread::ConditionVariable_obj::acquire()
+{
+ hx::AutoGCFreeZone zone;
+
+ impl->mutex.lock();
+}
+
+bool hx::thread::ConditionVariable_obj::tryAcquire()
+{
+ return impl->mutex.try_lock();
+}
+
+void hx::thread::ConditionVariable_obj::release()
+{
+ impl->mutex.unlock();
+}
+
+void hx::thread::ConditionVariable_obj::wait()
+{
+ hx::AutoGCFreeZone zone;
+
+ impl->condition.wait(impl->mutex);
+}
+
+void hx::thread::ConditionVariable_obj::signal()
+{
+ impl->condition.notify_one();
+}
+
+void hx::thread::ConditionVariable_obj::broadcast()
+{
+ impl->condition.notify_all();
+}
diff --git a/Sources/c_borogove/src/hx/thread/CountingSemaphore.apple.cpp b/Sources/c_borogove/src/hx/thread/CountingSemaphore.apple.cpp
new file mode 100644
index 0000000..766ef5d
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/CountingSemaphore.apple.cpp
@@ -0,0 +1,48 @@
+#include <hxcpp.h>
+#include <dispatch/dispatch.h>
+#include <hx/thread/CountingSemaphore.hpp>
+
+struct hx::thread::CountingSemaphore_obj::Impl
+{
+ dispatch_semaphore_t semaphore;
+
+ static void finalise(hx::Object* obj)
+ {
+ delete reinterpret_cast<hx::thread::CountingSemaphore_obj*>(obj)->impl;
+ }
+};
+
+hx::thread::CountingSemaphore_obj::CountingSemaphore_obj(int value) : impl(new Impl())
+{
+ impl->semaphore = dispatch_semaphore_create(value);
+
+ hx::GCSetFinalizer(this, Impl::finalise);
+}
+
+void hx::thread::CountingSemaphore_obj::acquire()
+{
+ hx::EnterGCFreeZone();
+
+ if (0 != dispatch_semaphore_wait(impl->semaphore, DISPATCH_TIME_FOREVER))
+ {
+ hx::ExitGCFreeZone();
+ hx::Throw(HX_CSTRING("Failed to wait for semaphore"));
+ }
+
+ hx::ExitGCFreeZone();
+}
+
+void hx::thread::CountingSemaphore_obj::release()
+{
+ dispatch_semaphore_signal(impl->semaphore);
+}
+
+bool hx::thread::CountingSemaphore_obj::tryAcquire(Null<double> timeout)
+{
+ hx::AutoGCFreeZone zone;
+
+ return
+ (0 == dispatch_semaphore_wait(
+ impl->semaphore,
+ dispatch_time(DISPATCH_TIME_NOW, static_cast<int64_t>(timeout.Default(0)) * 1000 * 1000 * 1000)));
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/src/hx/thread/RecursiveMutex.cpp b/Sources/c_borogove/src/hx/thread/RecursiveMutex.cpp
new file mode 100644
index 0000000..67a141e
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/RecursiveMutex.cpp
@@ -0,0 +1,35 @@
+#include <hxcpp.h>
+#include "hx/thread/RecursiveMutex.hpp"
+#include <mutex>
+
+struct hx::thread::RecursiveMutex_obj::Impl
+{
+ std::recursive_mutex mutex;
+};
+
+hx::thread::RecursiveMutex_obj::RecursiveMutex_obj() : impl(new Impl())
+{
+ GCSetFinalizer(this, [](hx::Object* obj)
+ {
+ auto mutex = reinterpret_cast<RecursiveMutex_obj*>(obj);
+
+ delete mutex->impl;
+ });
+}
+
+void hx::thread::RecursiveMutex_obj::acquire()
+{
+ hx::AutoGCFreeZone zone;
+
+ impl->mutex.lock();
+}
+
+void hx::thread::RecursiveMutex_obj::release()
+{
+ impl->mutex.unlock();
+}
+
+bool hx::thread::RecursiveMutex_obj::tryAcquire()
+{
+ return impl->mutex.try_lock();
+}
diff --git a/Sources/c_borogove/src/hx/thread/Scratch.cpp b/Sources/c_borogove/src/hx/thread/Scratch.cpp
new file mode 100644
index 0000000..d6ca33c
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/Scratch.cpp
@@ -0,0 +1,74 @@
+#include <hxcpp.h>
+#include <hx/thread/Scratch.hpp>
+#include "ThreadImpl.hpp"
+
+hx::thread::Scratch hx::thread::Scratch::alloc(int bytes)
+{
+ auto current = reinterpret_cast<hx::thread::ThreadImpl_obj*>(hx::thread::Thread_obj::current().GetPtr());
+ auto required = bytes + sizeof(int);
+
+ // If there is not enough space in the thread array then do a standard malloc.
+ // Maybe we want some warning log message so the user knows it's hitting a slower path?
+ if (required > static_cast<uint64_t>(current->scratch->length) - current->cursor)
+ {
+ auto alloc = std::malloc(required);
+ auto storage = new(alloc) int;
+ auto view = cpp::marshal::View<uint8_t>(static_cast<uint8_t*>(alloc) + sizeof(int), bytes);
+
+ std::memset(alloc, 0, required);
+
+ return
+ hx::thread::Scratch(storage, view, [](cpp::marshal::View<uint8_t> view) {
+ std::free(view.ptr.ptr - sizeof(int));
+ });
+ }
+ else
+ {
+ auto storage = new(current->scratch->GetBase() + current->cursor) int;
+ auto view = cpp::marshal::View<uint8_t>(current->scratch->GetBase() + current->cursor + sizeof(int), bytes);
+
+ current->cursor += bytes + sizeof(int);
+
+ return
+ hx::thread::Scratch(storage, view, [](cpp::marshal::View<uint8_t> view) {
+ view.fill(0);
+
+ auto current = reinterpret_cast<hx::thread::ThreadImpl_obj*>(hx::thread::Thread_obj::current().GetPtr());
+
+ current->cursor -= view.length + sizeof(int);
+ });
+ }
+}
+
+hx::thread::Scratch::Scratch(int* _count, cpp::marshal::View<uint8_t> _view, ReleaseFunc _release) : count(_count), view(_view), release(_release)
+{
+ (*count)++;
+}
+
+hx::thread::Scratch::Scratch(const Scratch& _other) : count(_other.count), view(_other.view), release(_other.release)
+{
+ (*count)++;
+}
+
+hx::thread::Scratch::~Scratch()
+{
+ if (0 == --(*count))
+ {
+ release(view);
+ }
+}
+
+hx::thread::Scratch& hx::thread::Scratch::operator=(const Scratch& _other)
+{
+ auto old = *count;
+
+ count = _other.count;
+ (*count)++;
+
+ if (0 == (--old))
+ {
+ release(view);
+ }
+
+ return *this;
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/src/hx/thread/ThreadImpl.cpp b/Sources/c_borogove/src/hx/thread/ThreadImpl.cpp
new file mode 100644
index 0000000..1714eac
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/ThreadImpl.cpp
@@ -0,0 +1,188 @@
+#include <hxcpp.h>
+#include <thread>
+#include <array>
+#include <atomic>
+#include <hx/thread/CountingSemaphore.hpp>
+#include "ThreadImpl.hpp"
+
+namespace
+{
+ struct ThreadInfoHolder
+ {
+ hx::Object** root = nullptr;
+
+ ~ThreadInfoHolder()
+ {
+ if (root)
+ {
+ hx::GCRemoveRoot(root);
+
+ delete root;
+ }
+ }
+
+ void set(hx::Object** _root)
+ {
+ root = _root;
+ }
+
+ hx::thread::ThreadImpl_obj* get() const
+ {
+ return root ? reinterpret_cast<hx::thread::ThreadImpl_obj*>(*root) : nullptr;
+ }
+ };
+
+ thread_local ThreadInfoHolder tls;
+
+ std::atomic_int nextThreadnumber(0);
+
+ void run(hx::thread::ThreadImpl thread, hx::thread::Thread_obj::CreateFunction job, hx::thread::CountingSemaphore semaphore)
+ {
+ // info[1] will the the "top of stack" - values under this
+ // (ie info[0] and other stack values) will be in the GC conservative range
+ //
+ // I'm assuming the array of two elements is some trick to ensure it's on the stack.
+ // Maybe we could use OS specific functions to get the stack range?
+
+ auto root = new hx::Object* { thread.GetPtr() };
+
+ hx::GCAddRoot(root);
+
+ tls.set(root);
+
+ auto info = std::array<hx::thread::ThreadImpl_obj*, 2>{ thread.GetPtr(), nullptr };
+
+ hx::SetTopOfStack(reinterpret_cast<int*>(&info[1]), true);
+
+ // Release the creation function
+ semaphore->release();
+
+ job();
+
+ hx::UnregisterCurrentThread();
+ }
+}
+
+hx::thread::Thread hx::thread::Thread_obj::create(CreateFunction job)
+{
+#ifdef EMSCRIPTEN
+ return hx::Throw(HX_CSTRING("Threads are not supported on Emscripten"));
+#else
+
+ auto semaphore = new hx::thread::CountingSemaphore_obj(0);
+ auto obj = new ThreadImpl_obj(nextThreadnumber++, job, semaphore);
+
+ hx::GCSetFinalizer(obj, ThreadImpl_obj::finalise);
+ hx::GCPrepareMultiThreaded();
+
+ semaphore->acquire();
+
+ return hx::thread::Thread{ obj };
+#endif
+}
+
+String hx::thread::ThreadImpl_obj::toString()
+{
+ return String(id);
+}
+
+hx::thread::Thread hx::thread::Thread_obj::current()
+{
+ auto info = tls.get();
+ if (nullptr == info)
+ {
+ // Threads created from Haxe have the TLS set, and the GC sets the TLS for the main thread.
+ // So, if the TLS is null then we are in a attached foreign thread, which will just get assigned the next Id.
+ //
+ // The C++ std has no way of getting the native handle of the current thread, so we need to use OS specific
+ // apis to get that so we can get and set thread names.
+ info = new ThreadImpl_obj(nextThreadnumber++);
+
+ auto root = new hx::Object* { info };
+
+ hx::GCSetFinalizer(info, ThreadImpl_obj::finalise);
+ hx::GCAddRoot(root);
+
+ tls.set(root);
+ }
+
+ return Thread{ info };
+}
+
+int hx::thread::Thread_obj::id()
+{
+ auto info = tls.get();
+
+ if (nullptr == info)
+ {
+ return 0;
+ }
+ else
+ {
+ return info->id;
+ }
+}
+
+hx::thread::ThreadImpl_obj::ThreadImpl_obj(const int _id)
+ : id(_id)
+ , native(new Native())
+ , scratch(std::numeric_limits<uint16_t>::max(), std::numeric_limits<uint16_t>::max())
+ , slots(0, 0) { }
+
+hx::thread::ThreadImpl_obj::ThreadImpl_obj(const int _id, Thread_obj::CreateFunction _job, CountingSemaphore _semaphore)
+ : id(_id)
+ , native(new Native(_job, this, _semaphore))
+ , scratch(std::numeric_limits<uint16_t>::max(), std::numeric_limits<uint16_t>::max())
+ , slots(0, 0)
+{
+}
+
+hx::thread::ThreadImpl_obj::Native::Native(Thread_obj::CreateFunction _job, ThreadImpl _thread, CountingSemaphore _semaphore)
+ : thread(run, _thread, _job, _semaphore)
+ , handle(thread.native_handle())
+{
+ // Only Windows implements thread name getting and setting currently, and this requires the thread to be attached.
+ // Threads are normally only detached once the thread object is finalised and this was causing the 32bit linux tests to hit OS resource limits.
+ // This does feel like a bit of a bodge and something which will actually need to be addressed to add name setting on Linux.
+
+#ifndef HX_WINDOWS
+ thread.detach();
+#endif
+}
+
+Dynamic hx::thread::ThreadImpl_obj::getSlot(const int id)
+{
+ return slots[id];
+}
+
+void hx::thread::ThreadImpl_obj::setSlot(const int id, const Dynamic& obj)
+{
+ slots->__SetItem(id, obj);
+}
+
+void hx::thread::ThreadImpl_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_MEMBER(scratch);
+ HX_MARK_MEMBER(slots);
+}
+
+#ifdef HXCPP_VISIT_ALLOCS
+
+void hx::thread::ThreadImpl_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER(scratch);
+ HX_VISIT_MEMBER(slots);
+}
+
+void hx::thread::ThreadImpl_obj::finalise(hx::Object* obj)
+{
+ auto thread = reinterpret_cast<ThreadImpl_obj*>(obj);
+ auto native = std::unique_ptr<ThreadImpl_obj::Native>{ thread->native };
+
+ if (native->thread.joinable())
+ {
+ native->thread.detach();
+ }
+}
+
+#endif
\ No newline at end of file
diff --git a/Sources/c_borogove/src/hx/thread/ThreadImpl.hpp b/Sources/c_borogove/src/hx/thread/ThreadImpl.hpp
new file mode 100644
index 0000000..72bfbc2
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/ThreadImpl.hpp
@@ -0,0 +1,58 @@
+#pragma once
+
+#ifndef HXCPP_H
+#include <hxcpp.h>
+#endif
+
+#include <hx/thread/Thread.hpp>
+#include <hx/thread/CountingSemaphore.hpp>
+#include <array>
+#include <thread>
+
+HX_DECLARE_CLASS2(hx, thread, ThreadImpl)
+
+namespace hx
+{
+ namespace thread
+ {
+ class ThreadImpl_obj final : public Thread_obj
+ {
+ int cursor;
+ Array<uint8_t> scratch;
+ Array<Dynamic> slots;
+
+ public:
+ friend class Scratch;
+
+ struct Native
+ {
+ std::thread thread;
+ std::thread::native_handle_type handle;
+
+ Native();
+ Native(Thread_obj::CreateFunction _job, ThreadImpl _thread, CountingSemaphore _semaphore);
+ };
+
+ Native* native;
+ const int id;
+
+ ThreadImpl_obj(const int _id);
+ ThreadImpl_obj(const int _id, Thread_obj::CreateFunction _run, CountingSemaphore _semaphore);
+
+ String getName() HXCPP_OVERRIDE;
+ void setName(const String& name) HXCPP_OVERRIDE;
+
+ Dynamic getSlot(const int id);
+ void setSlot(const int id, const Dynamic& obj);
+
+ String toString() HXCPP_OVERRIDE;
+
+ void __Mark(HX_MARK_PARAMS) HXCPP_OVERRIDE;
+#ifdef HXCPP_VISIT_ALLOCS
+ void __Visit(HX_VISIT_PARAMS) HXCPP_OVERRIDE;
+#endif
+
+ static void finalise(hx::Object* obj);
+ };
+ }
+}
diff --git a/Sources/c_borogove/src/hx/thread/ThreadImpl.noop.cpp b/Sources/c_borogove/src/hx/thread/ThreadImpl.noop.cpp
new file mode 100644
index 0000000..cdc9c76
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/ThreadImpl.noop.cpp
@@ -0,0 +1,15 @@
+#include <hxcpp.h>
+#include <hx/thread/Thread.hpp>
+#include "ThreadImpl.hpp"
+
+String hx::thread::ThreadImpl_obj::getName()
+{
+ return null();
+}
+
+void hx::thread::ThreadImpl_obj::setName(const String& name)
+{
+ //
+}
+
+hx::thread::ThreadImpl_obj::Native::Native() : thread(), handle() {}
\ No newline at end of file
diff --git a/Sources/c_borogove/src/hx/thread/ThreadLocal.cpp b/Sources/c_borogove/src/hx/thread/ThreadLocal.cpp
new file mode 100644
index 0000000..aabf280
--- /dev/null
+++ b/Sources/c_borogove/src/hx/thread/ThreadLocal.cpp
@@ -0,0 +1,67 @@
+#include <hxcpp.h>
+#include <atomic>
+#include <mutex>
+#include <list>
+#include <hx/thread/Thread.hpp>
+#include <hx/thread/RecursiveMutex.hpp>
+#include <hx/thread/ThreadLocal.hpp>
+#include "ThreadImpl.hpp"
+
+struct hx::thread::ThreadLocal_obj::Impl
+{
+ static std::mutex slotLock;
+ static std::list<Impl*> slots;
+ static int counter;
+
+ const int slot;
+
+ Impl(const int _slot) : slot(_slot) {}
+
+ static Impl* get()
+ {
+ std::lock_guard<std::mutex> lock(slotLock);
+
+ if (slots.empty())
+ {
+ return new Impl(counter++);
+ }
+
+ auto recycled = slots.front();
+
+ slots.pop_front();
+
+ return recycled;
+ }
+
+ static void finalise(hx::Object* obj)
+ {
+ std::lock_guard<std::mutex> lock(slotLock);
+
+ slots.emplace_back(reinterpret_cast<hx::thread::ThreadLocal_obj*>(obj)->impl);
+ }
+};
+
+std::mutex hx::thread::ThreadLocal_obj::Impl::slotLock;
+
+std::list<hx::thread::ThreadLocal_obj::Impl*> hx::thread::ThreadLocal_obj::Impl::slots;
+
+int hx::thread::ThreadLocal_obj::Impl::counter = 0;
+
+hx::thread::ThreadLocal_obj::ThreadLocal_obj() : impl(Impl::get())
+{
+ hx::GCSetFinalizer(this, Impl::finalise);
+}
+
+Dynamic hx::thread::ThreadLocal_obj::get()
+{
+ auto current = reinterpret_cast<hx::thread::ThreadImpl_obj*>(Thread_obj::current().GetPtr());
+
+ return current->getSlot(impl->slot);
+}
+
+void hx::thread::ThreadLocal_obj::set(Dynamic obj)
+{
+ auto current = reinterpret_cast<hx::thread::ThreadImpl_obj*>(Thread_obj::current().GetPtr());
+
+ current->setSlot(impl->slot, obj);
+}
\ No newline at end of file
diff --git a/Sources/c_borogove/src/sys/FileSystem.cpp b/Sources/c_borogove/src/sys/FileSystem.cpp
index 5f913eb..d43c6b7 100644
--- a/Sources/c_borogove/src/sys/FileSystem.cpp
+++ b/Sources/c_borogove/src/sys/FileSystem.cpp
@@ -15,6 +15,7 @@
#endif
HX_LOCAL_STACK_FRAME(_hx_pos_4ebd30807fe7ed8d_31_exists,"sys.FileSystem","exists",0xf55bed9e,"sys.FileSystem.exists","/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",31,0x1f6d7d6f)
+HX_LOCAL_STACK_FRAME(_hx_pos_4ebd30807fe7ed8d_35_rename,"sys.FileSystem","rename",0x3aa2fb40,"sys.FileSystem.rename","/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",35,0x1f6d7d6f)
HX_LOCAL_STACK_FRAME(_hx_pos_4ebd30807fe7ed8d_38_stat,"sys.FileSystem","stat",0xa630df16,"sys.FileSystem.stat","/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",38,0x1f6d7d6f)
HX_LOCAL_STACK_FRAME(_hx_pos_4ebd30807fe7ed8d_61_fullPath,"sys.FileSystem","fullPath",0xc6463316,"sys.FileSystem.fullPath","/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",61,0x1f6d7d6f)
HX_LOCAL_STACK_FRAME(_hx_pos_4ebd30807fe7ed8d_64_absolutePath,"sys.FileSystem","absolutePath",0x5973f4fe,"sys.FileSystem.absolutePath","/usr/local/lib/haxe/std/cpp/_std/sys/FileSystem.hx",64,0x1f6d7d6f)
@@ -66,6 +67,14 @@ HXDLIN( 31) return _hx_std_sys_exists(_hx_tmp);
STATIC_HX_DEFINE_DYNAMIC_FUNC1(FileSystem_obj,exists,return )
+void FileSystem_obj::rename(::String path,::String newPath){
+ HX_STACKFRAME(&_hx_pos_4ebd30807fe7ed8d_35_rename)
+HXDLIN( 35) _hx_std_sys_rename(path,newPath);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(FileSystem_obj,rename,(void))
+
::Dynamic FileSystem_obj::stat(::String path){
HX_STACKFRAME(&_hx_pos_4ebd30807fe7ed8d_38_stat)
HXLINE( 39) ::String s;
@@ -180,6 +189,7 @@ bool FileSystem_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx
break;
case 6:
if (HX_FIELD_EQ(inName,"exists") ) { outValue = exists_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"rename") ) { outValue = rename_dyn(); return true; }
break;
case 8:
if (HX_FIELD_EQ(inName,"fullPath") ) { outValue = fullPath_dyn(); return true; }
@@ -205,6 +215,7 @@ static ::hx::StaticInfo *FileSystem_obj_sStaticStorageInfo = 0;
static ::String FileSystem_obj_sStaticFields[] = {
HX_("exists",dc,1d,e0,bf),
+ HX_("rename",7e,2b,27,05),
HX_("stat",d4,e3,5b,4c),
HX_("fullPath",d4,6e,65,5e),
HX_("absolutePath",bc,e7,6e,f7),
diff --git a/Sources/c_borogove/src/sys/io/File.cpp b/Sources/c_borogove/src/sys/io/File.cpp
index ba4f76d..828dbcd 100644
--- a/Sources/c_borogove/src/sys/io/File.cpp
+++ b/Sources/c_borogove/src/sys/io/File.cpp
@@ -1,9 +1,6 @@
// Generated by Haxe 4.3.3
#include <hxcpp.h>
-#ifndef INCLUDED_haxe_io_Bytes
-#include <haxe/io/Bytes.h>
-#endif
#ifndef INCLUDED_haxe_io_Input
#include <haxe/io/Input.h>
#endif
@@ -20,7 +17,6 @@
#include <sys/io/FileOutput.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_3a0a066c26bdae40_44_saveBytes,"sys.io.File","saveBytes",0x6700fb83,"sys.io.File.saveBytes","/usr/local/lib/haxe/std/cpp/_std/sys/io/File.hx",44,0x3272313d)
HX_LOCAL_STACK_FRAME(_hx_pos_3a0a066c26bdae40_51_read,"sys.io.File","read",0x203d07e1,"sys.io.File.read","/usr/local/lib/haxe/std/cpp/_std/sys/io/File.hx",51,0x3272313d)
HX_LOCAL_STACK_FRAME(_hx_pos_3a0a066c26bdae40_55_write,"sys.io.File","write",0xfec8a9f4,"sys.io.File.write","/usr/local/lib/haxe/std/cpp/_std/sys/io/File.hx",55,0x3272313d)
namespace sys{
@@ -43,16 +39,6 @@ bool File_obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x645a6147;
}
-void File_obj::saveBytes(::String path, ::haxe::io::Bytes bytes){
- HX_STACKFRAME(&_hx_pos_3a0a066c26bdae40_44_saveBytes)
-HXLINE( 45) ::sys::io::FileOutput f = ::sys::io::File_obj::write(path,null());
-HXLINE( 46) f->write(bytes);
-HXLINE( 47) f->close();
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC2(File_obj,saveBytes,(void))
-
::sys::io::FileInput File_obj::read(::String path,::hx::Null< bool > __o_binary){
bool binary = __o_binary.Default(true);
HX_GC_STACKFRAME(&_hx_pos_3a0a066c26bdae40_51_read)
@@ -98,9 +84,6 @@ bool File_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::Prop
break;
case 5:
if (HX_FIELD_EQ(inName,"write") ) { outValue = write_dyn(); return true; }
- break;
- case 9:
- if (HX_FIELD_EQ(inName,"saveBytes") ) { outValue = saveBytes_dyn(); return true; }
}
return false;
}
@@ -113,7 +96,6 @@ static ::hx::StaticInfo *File_obj_sStaticStorageInfo = 0;
::hx::Class File_obj::__mClass;
static ::String File_obj_sStaticFields[] = {
- HX_("saveBytes",ee,0f,45,4c),
HX_("read",56,4b,a7,4b),
HX_("write",df,6c,59,d0),
::String(null())
diff --git a/Sources/c_borogove/src/tink/core/OutcomeTools.cpp b/Sources/c_borogove/src/tink/core/OutcomeTools.cpp
new file mode 100644
index 0000000..d09a702
--- /dev/null
+++ b/Sources/c_borogove/src/tink/core/OutcomeTools.cpp
@@ -0,0 +1,100 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_tink_core_Outcome
+#include <tink/core/Outcome.h>
+#endif
+#ifndef INCLUDED_tink_core_OutcomeTools
+#include <tink/core/OutcomeTools.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_a4f72dfe848dfefe_92_map,"tink.core.OutcomeTools","map",0x09306b6a,"tink.core.OutcomeTools.map","tink/core/Outcome.hx",92,0x825b551f)
+namespace tink{
+namespace core{
+
+void OutcomeTools_obj::__construct() { }
+
+Dynamic OutcomeTools_obj::__CreateEmpty() { return new OutcomeTools_obj; }
+
+void *OutcomeTools_obj::_hx_vtable = 0;
+
+Dynamic OutcomeTools_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< OutcomeTools_obj > _hx_result = new OutcomeTools_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool OutcomeTools_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x2617517e;
+}
+
+ ::tink::core::Outcome OutcomeTools_obj::map( ::tink::core::Outcome outcome, ::Dynamic transform){
+ HX_STACKFRAME(&_hx_pos_a4f72dfe848dfefe_92_map)
+HXDLIN( 92) switch((int)(outcome->_hx_getIndex())){
+ case (int)0: {
+HXLINE( 94) return ::tink::core::Outcome_obj::Success(transform(outcome->_hx_getObject(0)));
+ }
+ break;
+ case (int)1: {
+HXLINE( 96) return ::tink::core::Outcome_obj::Failure(outcome->_hx_getObject(0));
+ }
+ break;
+ }
+HXLINE( 92) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(OutcomeTools_obj,map,return )
+
+
+OutcomeTools_obj::OutcomeTools_obj()
+{
+}
+
+bool OutcomeTools_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"map") ) { outValue = map_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *OutcomeTools_obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *OutcomeTools_obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class OutcomeTools_obj::__mClass;
+
+static ::String OutcomeTools_obj_sStaticFields[] = {
+ HX_("map",9c,0a,53,00),
+ ::String(null())
+};
+
+void OutcomeTools_obj::__register()
+{
+ OutcomeTools_obj _hx_dummy;
+ OutcomeTools_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("tink.core.OutcomeTools",3c,c2,61,dd);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &OutcomeTools_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(OutcomeTools_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< OutcomeTools_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = OutcomeTools_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = OutcomeTools_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace tink
+} // end namespace core
diff --git a/Sources/c_borogove/src/tink/http/ContentType.cpp b/Sources/c_borogove/src/tink/http/ContentType.cpp
new file mode 100644
index 0000000..7d3cedc
--- /dev/null
+++ b/Sources/c_borogove/src/tink/http/ContentType.cpp
@@ -0,0 +1,219 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
+#ifndef INCLUDED_tink_http_ContentType
+#include <tink/http/ContentType.h>
+#endif
+#ifndef INCLUDED_tink_http__Header_HeaderValue_Impl_
+#include <tink/http/_Header/HeaderValue_Impl_.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_5315a3ae75e09cad_29_new,"tink.http.ContentType","new",0x4afa26fb,"tink.http.ContentType.new","tink/http/Header.hx",29,0xf5720e67)
+HX_LOCAL_STACK_FRAME(_hx_pos_5315a3ae75e09cad_44_toString,"tink.http.ContentType","toString",0x3e61a831,"tink.http.ContentType.toString","tink/http/Header.hx",44,0xf5720e67)
+HX_LOCAL_STACK_FRAME(_hx_pos_5315a3ae75e09cad_46_ofString,"tink.http.ContentType","ofString",0xaa2440cd,"tink.http.ContentType.ofString","tink/http/Header.hx",46,0xf5720e67)
+namespace tink{
+namespace http{
+
+void ContentType_obj::__construct(){
+ HX_GC_STACKFRAME(&_hx_pos_5315a3ae75e09cad_29_new)
+HXLINE( 35) this->subtype = HX_("*",2a,00,00,00);
+HXLINE( 34) this->type = HX_("*",2a,00,00,00);
+HXLINE( 40) this->extensions = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+ }
+
+Dynamic ContentType_obj::__CreateEmpty() { return new ContentType_obj; }
+
+void *ContentType_obj::_hx_vtable = 0;
+
+Dynamic ContentType_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< ContentType_obj > _hx_result = new ContentType_obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool ContentType_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x67f0ac31;
+}
+
+::String ContentType_obj::toString(){
+ HX_STACKFRAME(&_hx_pos_5315a3ae75e09cad_44_toString)
+HXDLIN( 44) return this->raw;
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(ContentType_obj,toString,return )
+
+ ::tink::http::ContentType ContentType_obj::ofString(::String s){
+ HX_GC_STACKFRAME(&_hx_pos_5315a3ae75e09cad_46_ofString)
+HXLINE( 47) ::tink::http::ContentType ret = ::tink::http::ContentType_obj::__alloc( HX_CTX );
+HXLINE( 49) ret->raw = s;
+HXLINE( 50) ::Array< ::Dynamic> parsed = ::tink::http::_Header::HeaderValue_Impl__obj::parse(s);
+HXLINE( 51) ::String value = ( (::String)(parsed->__get(0)->__Field(HX_("value",71,7f,b8,31),::hx::paccDynamic)) );
+HXLINE( 52) {
+HXLINE( 52) int _g = value.indexOf(HX_("/",2f,00,00,00),null());
+HXDLIN( 52) if ((_g == -1)) {
+HXLINE( 54) ret->type = value;
+ }
+ else {
+HXLINE( 56) ret->type = value.substring(0,_g);
+HXLINE( 57) ret->subtype = value.substring((_g + 1),null());
+ }
+ }
+HXLINE( 59) ret->extensions = ( ( ::haxe::ds::StringMap)(parsed->__get(0)->__Field(HX_("extensions",14,7c,70,89),::hx::paccDynamic)) );
+HXLINE( 61) return ret;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(ContentType_obj,ofString,return )
+
+
+::hx::ObjectPtr< ContentType_obj > ContentType_obj::__new() {
+ ::hx::ObjectPtr< ContentType_obj > __this = new ContentType_obj();
+ __this->__construct();
+ return __this;
+}
+
+::hx::ObjectPtr< ContentType_obj > ContentType_obj::__alloc(::hx::Ctx *_hx_ctx) {
+ ContentType_obj *__this = (ContentType_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(ContentType_obj), true, "tink.http.ContentType"));
+ *(void **)__this = ContentType_obj::_hx_vtable;
+ __this->__construct();
+ return __this;
+}
+
+ContentType_obj::ContentType_obj()
+{
+}
+
+void ContentType_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(ContentType);
+ HX_MARK_MEMBER_NAME(type,"type");
+ HX_MARK_MEMBER_NAME(subtype,"subtype");
+ HX_MARK_MEMBER_NAME(extensions,"extensions");
+ HX_MARK_MEMBER_NAME(raw,"raw");
+ HX_MARK_END_CLASS();
+}
+
+void ContentType_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(type,"type");
+ HX_VISIT_MEMBER_NAME(subtype,"subtype");
+ HX_VISIT_MEMBER_NAME(extensions,"extensions");
+ HX_VISIT_MEMBER_NAME(raw,"raw");
+}
+
+::hx::Val ContentType_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"raw") ) { return ::hx::Val( raw ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { return ::hx::Val( type ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"subtype") ) { return ::hx::Val( subtype ); }
+ break;
+ case 8:
+ if (HX_FIELD_EQ(inName,"toString") ) { return ::hx::Val( toString_dyn() ); }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"extensions") ) { return ::hx::Val( extensions ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool ContentType_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 8:
+ if (HX_FIELD_EQ(inName,"ofString") ) { outValue = ofString_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val ContentType_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"raw") ) { raw=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"type") ) { type=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"subtype") ) { subtype=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 10:
+ if (HX_FIELD_EQ(inName,"extensions") ) { extensions=inValue.Cast< ::haxe::ds::StringMap >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void ContentType_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("type",ba,f2,08,4d));
+ outFields->push(HX_("subtype",3a,5c,33,30));
+ outFields->push(HX_("extensions",14,7c,70,89));
+ outFields->push(HX_("raw",e8,d5,56,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo ContentType_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(ContentType_obj,type),HX_("type",ba,f2,08,4d)},
+ {::hx::fsString,(int)offsetof(ContentType_obj,subtype),HX_("subtype",3a,5c,33,30)},
+ {::hx::fsObject /* ::haxe::ds::StringMap */ ,(int)offsetof(ContentType_obj,extensions),HX_("extensions",14,7c,70,89)},
+ {::hx::fsString,(int)offsetof(ContentType_obj,raw),HX_("raw",e8,d5,56,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *ContentType_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String ContentType_obj_sMemberFields[] = {
+ HX_("type",ba,f2,08,4d),
+ HX_("subtype",3a,5c,33,30),
+ HX_("extensions",14,7c,70,89),
+ HX_("raw",e8,d5,56,00),
+ HX_("toString",ac,d0,6e,38),
+ ::String(null()) };
+
+::hx::Class ContentType_obj::__mClass;
+
+static ::String ContentType_obj_sStaticFields[] = {
+ HX_("ofString",48,69,31,a4),
+ ::String(null())
+};
+
+void ContentType_obj::__register()
+{
+ ContentType_obj _hx_dummy;
+ ContentType_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("tink.http.ContentType",89,8d,8e,eb);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &ContentType_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(ContentType_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(ContentType_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< ContentType_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = ContentType_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = ContentType_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace tink
+} // end namespace http
diff --git a/Sources/c_borogove/src/tink/http/Header.cpp b/Sources/c_borogove/src/tink/http/Header.cpp
index 07c6675..82f4975 100644
--- a/Sources/c_borogove/src/tink/http/Header.cpp
+++ b/Sources/c_borogove/src/tink/http/Header.cpp
@@ -10,9 +10,15 @@
#ifndef INCLUDED_tink_core_Outcome
#include <tink/core/Outcome.h>
#endif
+#ifndef INCLUDED_tink_core_OutcomeTools
+#include <tink/core/OutcomeTools.h>
+#endif
#ifndef INCLUDED_tink_core_TypedError
#include <tink/core/TypedError.h>
#endif
+#ifndef INCLUDED_tink_http_ContentType
+#include <tink/http/ContentType.h>
+#endif
#ifndef INCLUDED_tink_http_Header
#include <tink/http/Header.h>
#endif
@@ -23,6 +29,7 @@
HX_DEFINE_STACK_FRAME(_hx_pos_f98482948a03ab7e_70_new,"tink.http.Header","new",0x865074c9,"tink.http.Header.new","tink/http/Header.hx",70,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_f98482948a03ab7e_81_get,"tink.http.Header","get",0x864b24ff,"tink.http.Header.get","tink/http/Header.hx",81,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_f98482948a03ab7e_89_byName,"tink.http.Header","byName",0x1a376ef9,"tink.http.Header.byName","tink/http/Header.hx",89,0xf5720e67)
+HX_LOCAL_STACK_FRAME(_hx_pos_f98482948a03ab7e_102_contentType,"tink.http.Header","contentType",0x38bff1fc,"tink.http.Header.contentType","tink/http/Header.hx",102,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_f98482948a03ab7e_119_getContentLength,"tink.http.Header","getContentLength",0x2e277e80,"tink.http.Header.getContentLength","tink/http/Header.hx",119,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_f98482948a03ab7e_143_toString,"tink.http.Header","toString",0x03988fa3,"tink.http.Header.toString","tink/http/Header.hx",143,0xf5720e67)
namespace tink{
@@ -97,6 +104,14 @@ HXLINE( 89) return null();
HX_DEFINE_DYNAMIC_FUNC1(Header_obj,byName,return )
+ ::tink::core::Outcome Header_obj::contentType(){
+ HX_STACKFRAME(&_hx_pos_f98482948a03ab7e_102_contentType)
+HXDLIN( 102) return ::tink::core::OutcomeTools_obj::map(this->byName(HX_("content-type",8e,f1,71,89)),::tink::http::ContentType_obj::ofString_dyn());
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(Header_obj,contentType,return )
+
::tink::core::Outcome Header_obj::getContentLength(){
HX_GC_STACKFRAME(&_hx_pos_f98482948a03ab7e_119_getContentLength)
HXDLIN( 119) ::tink::core::Outcome _g = this->byName(HX_("content-length",ba,f0,cc,86));
@@ -183,6 +198,9 @@ void Header_obj::__Visit(HX_VISIT_PARAMS)
case 8:
if (HX_FIELD_EQ(inName,"toString") ) { return ::hx::Val( toString_dyn() ); }
break;
+ case 11:
+ if (HX_FIELD_EQ(inName,"contentType") ) { return ::hx::Val( contentType_dyn() ); }
+ break;
case 16:
if (HX_FIELD_EQ(inName,"getContentLength") ) { return ::hx::Val( getContentLength_dyn() ); }
}
@@ -216,6 +234,7 @@ static ::String Header_obj_sMemberFields[] = {
HX_("fields",79,8e,8e,80),
HX_("get",96,80,4e,00),
HX_("byName",c2,2b,4e,0e),
+ HX_("contentType",93,3c,7b,2a),
HX_("getContentLength",89,70,23,df),
HX_("toString",ac,d0,6e,38),
::String(null()) };
diff --git a/Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp b/Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp
index 8b4b3fc..e832cf4 100644
--- a/Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/http/_Header/HeaderValue_Impl_.cpp
@@ -4,19 +4,39 @@
#ifndef INCLUDED_Std
#include <Std.h>
#endif
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_haxe_IMap
+#include <haxe/IMap.h>
+#endif
#ifndef INCLUDED_haxe_crypto_Base64
#include <haxe/crypto/Base64.h>
#endif
+#ifndef INCLUDED_haxe_ds_StringMap
+#include <haxe/ds/StringMap.h>
+#endif
#ifndef INCLUDED_haxe_io_Bytes
#include <haxe/io/Bytes.h>
#endif
#ifndef INCLUDED_haxe_io_Encoding
#include <haxe/io/Encoding.h>
#endif
+#ifndef INCLUDED_tink_core_NamedWith
+#include <tink/core/NamedWith.h>
+#endif
#ifndef INCLUDED_tink_http__Header_HeaderValue_Impl_
#include <tink/http/_Header/HeaderValue_Impl_.h>
#endif
+#ifndef INCLUDED_tink_url__Portion_Portion_Impl_
+#include <tink/url/_Portion/Portion_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_url__Query_QueryStringParser
+#include <tink/url/_Query/QueryStringParser.h>
+#endif
+HX_LOCAL_STACK_FRAME(_hx_pos_9cfb9724f4bad04f_164_parse,"tink.http._Header.HeaderValue_Impl_","parse",0x539c735d,"tink.http._Header.HeaderValue_Impl_.parse","tink/http/Header.hx",164,0xf5720e67)
+HX_LOCAL_STACK_FRAME(_hx_pos_9cfb9724f4bad04f_174_parseWith,"tink.http._Header.HeaderValue_Impl_","parseWith",0x2c678803,"tink.http._Header.HeaderValue_Impl_.parseWith","tink/http/Header.hx",174,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_9cfb9724f4bad04f_188_basicAuth,"tink.http._Header.HeaderValue_Impl_","basicAuth",0x97e8e560,"tink.http._Header.HeaderValue_Impl_.basicAuth","tink/http/Header.hx",188,0xf5720e67)
HX_LOCAL_STACK_FRAME(_hx_pos_9cfb9724f4bad04f_196_ofInt,"tink.http._Header.HeaderValue_Impl_","ofInt",0xc364cf42,"tink.http._Header.HeaderValue_Impl_.ofInt","tink/http/Header.hx",196,0xf5720e67)
namespace tink{
@@ -40,6 +60,67 @@ bool HeaderValue_Impl__obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x58df80d2;
}
+::Array< ::Dynamic> HeaderValue_Impl__obj::parse(::String this1){
+ HX_BEGIN_LOCAL_FUNC_S0(::hx::LocalFunc,_hx_Closure_0) HXARGC(2)
+ ::haxe::ds::StringMap _hx_run(::String _, ::Dynamic params){
+ HX_GC_STACKFRAME(&_hx_pos_9cfb9724f4bad04f_164_parse)
+HXDLIN( 164) ::haxe::ds::StringMap _g = ::haxe::ds::StringMap_obj::__alloc( HX_CTX );
+HXDLIN( 164) while(( (bool)(params->__Field(HX_("hasNext",6d,a5,46,18),::hx::paccDynamic)()) )){
+HXDLIN( 164) ::tink::core::NamedWith p = ( ( ::tink::core::NamedWith)(params->__Field(HX_("next",f3,84,02,49),::hx::paccDynamic)()) );
+HXDLIN( 164) {
+HXDLIN( 164) ::String key = ( (::String)(p->name) );
+HXDLIN( 164) ::String value;
+HXDLIN( 164) ::String _g1 = ::tink::url::_Portion::Portion_Impl__obj::toString(( (::String)(p->value) ));
+HXLINE( 165) if (::hx::IsEq( _g1.charCodeAt(0),34 )) {
+HXDLIN( 164) value = _g1.substr(1,(_g1.length - 2));
+ }
+ else {
+HXDLIN( 164) value = _g1;
+ }
+HXDLIN( 164) _g->set(key,value);
+ }
+ }
+HXDLIN( 164) return _g;
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_9cfb9724f4bad04f_164_parse)
+HXDLIN( 164) return ::tink::http::_Header::HeaderValue_Impl__obj::parseWith(this1, ::Dynamic(new _hx_Closure_0()));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(HeaderValue_Impl__obj,parse,return )
+
+::Array< ::Dynamic> HeaderValue_Impl__obj::parseWith(::String this1, ::Dynamic parseExtension){
+ HX_GC_STACKFRAME(&_hx_pos_9cfb9724f4bad04f_174_parseWith)
+HXDLIN( 174) ::Array< ::Dynamic> _g = ::Array_obj< ::Dynamic>::__new(0);
+HXDLIN( 174) {
+HXDLIN( 174) int _g1 = 0;
+HXDLIN( 174) ::Array< ::String > _g2 = this1.split(HX_(",",2c,00,00,00));
+HXDLIN( 174) while((_g1 < _g2->length)){
+HXDLIN( 174) ::String v = _g2->__get(_g1);
+HXDLIN( 174) _g1 = (_g1 + 1);
+HXLINE( 175) v = ::StringTools_obj::trim(v);
+HXLINE( 176) int i;
+HXDLIN( 176) int _g3 = v.indexOf(HX_(";",3b,00,00,00),null());
+HXDLIN( 176) if ((_g3 == -1)) {
+HXLINE( 176) i = v.length;
+ }
+ else {
+HXLINE( 176) i = _g3;
+ }
+HXLINE( 180) ::String value = v.substr(0,i);
+HXLINE( 181) _g->push( ::Dynamic(::hx::Anon_obj::Create(2)
+ ->setFixed(0,HX_("extensions",14,7c,70,89),parseExtension(value, ::tink::url::_Query::QueryStringParser_obj::__alloc( HX_CTX ,v,HX_(";",3b,00,00,00),HX_("=",3d,00,00,00),(i + 1))))
+ ->setFixed(1,HX_("value",71,7f,b8,31),value)));
+ }
+ }
+HXLINE( 174) return _g;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC2(HeaderValue_Impl__obj,parseWith,return )
+
::String HeaderValue_Impl__obj::basicAuth(::String username,::String password){
HX_STACKFRAME(&_hx_pos_9cfb9724f4bad04f_188_basicAuth)
HXDLIN( 188) return (HX_("Basic ",d2,a1,bf,89) + ::haxe::crypto::Base64_obj::encode(::haxe::io::Bytes_obj::ofString((((HX_("",00,00,00,00) + username) + HX_(":",3a,00,00,00)) + password),null()),null()).toString());
@@ -65,9 +146,11 @@ bool HeaderValue_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValu
{
switch(inName.length) {
case 5:
+ if (HX_FIELD_EQ(inName,"parse") ) { outValue = parse_dyn(); return true; }
if (HX_FIELD_EQ(inName,"ofInt") ) { outValue = ofInt_dyn(); return true; }
break;
case 9:
+ if (HX_FIELD_EQ(inName,"parseWith") ) { outValue = parseWith_dyn(); return true; }
if (HX_FIELD_EQ(inName,"basicAuth") ) { outValue = basicAuth_dyn(); return true; }
}
return false;
@@ -81,6 +164,8 @@ static ::hx::StaticInfo *HeaderValue_Impl__obj_sStaticStorageInfo = 0;
::hx::Class HeaderValue_Impl__obj::__mClass;
static ::String HeaderValue_Impl__obj_sStaticFields[] = {
+ HX_("parse",33,90,55,bd),
+ HX_("parseWith",d9,c7,9e,d6),
HX_("basicAuth",36,25,20,42),
HX_("ofInt",18,ec,1d,2d),
::String(null())
diff --git a/Sources/c_borogove/src/tink/streams/StreamBase.cpp b/Sources/c_borogove/src/tink/streams/StreamBase.cpp
index 380c66e..205f201 100644
--- a/Sources/c_borogove/src/tink/streams/StreamBase.cpp
+++ b/Sources/c_borogove/src/tink/streams/StreamBase.cpp
@@ -53,6 +53,7 @@
HX_DEFINE_STACK_FRAME(_hx_pos_8f94e574d4603fbe_340_new,"tink.streams.StreamBase","new",0x386d305a,"tink.streams.StreamBase.new","tink/streams/Stream.hx",340,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_343_get_depleted,"tink.streams.StreamBase","get_depleted",0x971bed9a,"tink.streams.StreamBase.get_depleted","tink/streams/Stream.hx",343,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_373_regroup,"tink.streams.StreamBase","regroup",0x3c70eba6,"tink.streams.StreamBase.regroup","tink/streams/Stream.hx",373,0x006f1625)
+HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_376_map,"tink.streams.StreamBase","map",0x386c6a96,"tink.streams.StreamBase.map","tink/streams/Stream.hx",376,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_390_prepend,"tink.streams.StreamBase","prepend",0xf3c27c08,"tink.streams.StreamBase.prepend","tink/streams/Stream.hx",390,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_399_decompose,"tink.streams.StreamBase","decompose",0x5e885b2b,"tink.streams.StreamBase.decompose","tink/streams/Stream.hx",399,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_8f94e574d4603fbe_404_idealize,"tink.streams.StreamBase","idealize",0xe17680a5,"tink.streams.StreamBase.idealize","tink/streams/Stream.hx",404,0x006f1625)
@@ -87,6 +88,7 @@ bool StreamBase_obj::_hx_isInstanceOf(int inClassId) {
static ::tink::streams::StreamObject_obj _hx_tink_streams_StreamBase__hx_tink_streams_StreamObject= {
( bool (::hx::Object::*)())&::tink::streams::StreamBase_obj::get_depleted,
( ::Dynamic (::hx::Object::*)( ::Dynamic))&::tink::streams::StreamBase_obj::regroup,
+ ( ::Dynamic (::hx::Object::*)( ::Dynamic))&::tink::streams::StreamBase_obj::map,
( ::Dynamic (::hx::Object::*)( ::Dynamic))&::tink::streams::StreamBase_obj::idealize,
( ::Dynamic (::hx::Object::*)(::Dynamic))&::tink::streams::StreamBase_obj::prepend,
( void (::hx::Object::*)(::Array< ::Dynamic>))&::tink::streams::StreamBase_obj::decompose,
@@ -121,6 +123,14 @@ HXDLIN( 373) return ::tink::streams::_Stream::RegroupStream_obj::__alloc( HX_C
HX_DEFINE_DYNAMIC_FUNC1(StreamBase_obj,regroup,return )
+::Dynamic StreamBase_obj::map( ::Dynamic f){
+ HX_STACKFRAME(&_hx_pos_8f94e574d4603fbe_376_map)
+HXDLIN( 376) return this->regroup(f);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC1(StreamBase_obj,map,return )
+
::Dynamic StreamBase_obj::prepend(::Dynamic other){
HX_STACKFRAME(&_hx_pos_8f94e574d4603fbe_390_prepend)
HXDLIN( 390) if (this->get_depleted()) {
@@ -255,6 +265,9 @@ StreamBase_obj::StreamBase_obj()
::hx::Val StreamBase_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
{
switch(inName.length) {
+ case 3:
+ if (HX_FIELD_EQ(inName,"map") ) { return ::hx::Val( map_dyn() ); }
+ break;
case 6:
if (HX_FIELD_EQ(inName,"reduce") ) { return ::hx::Val( reduce_dyn() ); }
break;
@@ -290,6 +303,7 @@ static ::hx::StaticInfo *StreamBase_obj_sStaticStorageInfo = 0;
static ::String StreamBase_obj_sMemberFields[] = {
HX_("get_depleted",d4,1c,20,af),
HX_("regroup",ac,06,8f,80),
+ HX_("map",9c,0a,53,00),
HX_("prepend",0e,97,e0,37),
HX_("decompose",b1,c3,a7,7a),
HX_("idealize",df,0a,b0,37),
diff --git a/Sources/c_borogove/src/tink/streams/StreamObject.cpp b/Sources/c_borogove/src/tink/streams/StreamObject.cpp
index 48116d1..291ed81 100644
--- a/Sources/c_borogove/src/tink/streams/StreamObject.cpp
+++ b/Sources/c_borogove/src/tink/streams/StreamObject.cpp
@@ -18,6 +18,7 @@ namespace streams{
static ::String StreamObject_obj_sMemberFields[] = {
HX_("get_depleted",d4,1c,20,af),
HX_("regroup",ac,06,8f,80),
+ HX_("map",9c,0a,53,00),
HX_("idealize",df,0a,b0,37),
HX_("prepend",0e,97,e0,37),
HX_("decompose",b1,c3,a7,7a),
diff --git a/Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp
index b774556..51ae241 100644
--- a/Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp
+++ b/Sources/c_borogove/src/tink/streams/_Stream/Handler_Impl_.cpp
@@ -4,26 +4,10 @@
#ifndef INCLUDED_tink_core__Future_FutureObject
#include <tink/core/_Future/FutureObject.h>
#endif
-#ifndef INCLUDED_tink_core__Future_SyncFuture
-#include <tink/core/_Future/SyncFuture.h>
-#endif
-#ifndef INCLUDED_tink_core__Lazy_Computable
-#include <tink/core/_Lazy/Computable.h>
-#endif
-#ifndef INCLUDED_tink_core__Lazy_LazyConst
-#include <tink/core/_Lazy/LazyConst.h>
-#endif
-#ifndef INCLUDED_tink_core__Lazy_LazyObject
-#include <tink/core/_Lazy/LazyObject.h>
-#endif
-#ifndef INCLUDED_tink_streams_Handled
-#include <tink/streams/Handled.h>
-#endif
#ifndef INCLUDED_tink_streams__Stream_Handler_Impl_
#include <tink/streams/_Stream/Handler_Impl_.h>
#endif
-HX_LOCAL_STACK_FRAME(_hx_pos_815929985b86a838_493_ofSafeSync,"tink.streams._Stream.Handler_Impl_","ofSafeSync",0xfa6f1a89,"tink.streams._Stream.Handler_Impl_.ofSafeSync","tink/streams/Stream.hx",493,0x006f1625)
HX_LOCAL_STACK_FRAME(_hx_pos_815929985b86a838_502_ofUnknown,"tink.streams._Stream.Handler_Impl_","ofUnknown",0x42579a69,"tink.streams._Stream.Handler_Impl_.ofUnknown","tink/streams/Stream.hx",502,0x006f1625)
namespace tink{
namespace streams{
@@ -46,21 +30,6 @@ bool Handler_Impl__obj::_hx_isInstanceOf(int inClassId) {
return inClassId==(int)0x00000001 || inClassId==(int)0x065ceae4;
}
- ::Dynamic Handler_Impl__obj::ofSafeSync( ::Dynamic f){
- HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,f) HXARGC(1)
- ::tink::core::_Future::FutureObject _hx_run( ::Dynamic i){
- HX_GC_STACKFRAME(&_hx_pos_815929985b86a838_493_ofSafeSync)
-HXDLIN( 493) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,f(i)));
- }
- HX_END_LOCAL_FUNC1(return)
-
- HX_STACKFRAME(&_hx_pos_815929985b86a838_493_ofSafeSync)
-HXDLIN( 493) return ::Dynamic(new _hx_Closure_0(f));
- }
-
-
-STATIC_HX_DEFINE_DYNAMIC_FUNC1(Handler_Impl__obj,ofSafeSync,return )
-
::Dynamic Handler_Impl__obj::ofUnknown( ::Dynamic f){
HX_STACKFRAME(&_hx_pos_815929985b86a838_502_ofUnknown)
HXDLIN( 502) return f;
@@ -79,9 +48,6 @@ bool Handler_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, :
switch(inName.length) {
case 9:
if (HX_FIELD_EQ(inName,"ofUnknown") ) { outValue = ofUnknown_dyn(); return true; }
- break;
- case 10:
- if (HX_FIELD_EQ(inName,"ofSafeSync") ) { outValue = ofSafeSync_dyn(); return true; }
}
return false;
}
@@ -94,7 +60,6 @@ static ::hx::StaticInfo *Handler_Impl__obj_sStaticStorageInfo = 0;
::hx::Class Handler_Impl__obj::__mClass;
static ::String Handler_Impl__obj_sStaticFields[] = {
- HX_("ofSafeSync",7f,1a,8f,e0),
HX_("ofUnknown",33,4b,92,ef),
::String(null())
};
diff --git a/Sources/c_borogove/src/tink/streams/_Stream/Mapping_Impl_.cpp b/Sources/c_borogove/src/tink/streams/_Stream/Mapping_Impl_.cpp
new file mode 100644
index 0000000..d57bb0f
--- /dev/null
+++ b/Sources/c_borogove/src/tink/streams/_Stream/Mapping_Impl_.cpp
@@ -0,0 +1,125 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_tink_core__Future_FutureObject
+#include <tink/core/_Future/FutureObject.h>
+#endif
+#ifndef INCLUDED_tink_core__Future_SyncFuture
+#include <tink/core/_Future/SyncFuture.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_Computable
+#include <tink/core/_Lazy/Computable.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyConst
+#include <tink/core/_Lazy/LazyConst.h>
+#endif
+#ifndef INCLUDED_tink_core__Lazy_LazyObject
+#include <tink/core/_Lazy/LazyObject.h>
+#endif
+#ifndef INCLUDED_tink_streams_RegroupResult
+#include <tink/streams/RegroupResult.h>
+#endif
+#ifndef INCLUDED_tink_streams_RegroupStatus
+#include <tink/streams/RegroupStatus.h>
+#endif
+#ifndef INCLUDED_tink_streams_StreamObject
+#include <tink/streams/StreamObject.h>
+#endif
+#ifndef INCLUDED_tink_streams__Stream_Mapping_Impl_
+#include <tink/streams/_Stream/Mapping_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_streams__Stream_Stream_Impl_
+#include <tink/streams/_Stream/Stream_Impl_.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_ad09e466a4d1510c_305_ofPlain,"tink.streams._Stream.Mapping_Impl_","ofPlain",0xe5ad256d,"tink.streams._Stream.Mapping_Impl_.ofPlain","tink/streams/Stream.hx",305,0x006f1625)
+HX_LOCAL_STACK_FRAME(_hx_pos_ad09e466a4d1510c_304_ofPlain,"tink.streams._Stream.Mapping_Impl_","ofPlain",0xe5ad256d,"tink.streams._Stream.Mapping_Impl_.ofPlain","tink/streams/Stream.hx",304,0x006f1625)
+namespace tink{
+namespace streams{
+namespace _Stream{
+
+void Mapping_Impl__obj::__construct() { }
+
+Dynamic Mapping_Impl__obj::__CreateEmpty() { return new Mapping_Impl__obj; }
+
+void *Mapping_Impl__obj::_hx_vtable = 0;
+
+Dynamic Mapping_Impl__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Mapping_Impl__obj > _hx_result = new Mapping_Impl__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Mapping_Impl__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x28df8128;
+}
+
+ ::Dynamic Mapping_Impl__obj::ofPlain( ::Dynamic f){
+ HX_BEGIN_LOCAL_FUNC_S1(::hx::LocalFunc,_hx_Closure_0, ::Dynamic,f) HXARGC(2)
+ ::tink::core::_Future::FutureObject _hx_run(::cpp::VirtualArray i, ::tink::streams::RegroupStatus _){
+ HX_GC_STACKFRAME(&_hx_pos_ad09e466a4d1510c_305_ofPlain)
+HXLINE( 305) return ::tink::core::_Future::SyncFuture_obj::__alloc( HX_CTX , ::tink::core::_Lazy::LazyConst_obj::__alloc( HX_CTX ,::tink::streams::RegroupResult_obj::Converted(::tink::streams::_Stream::Stream_Impl__obj::single(f(i->__get(0))),null())));
+ }
+ HX_END_LOCAL_FUNC2(return)
+
+ HX_STACKFRAME(&_hx_pos_ad09e466a4d1510c_304_ofPlain)
+HXDLIN( 304) return ::Dynamic(::hx::Anon_obj::Create(1)
+ ->setFixed(0,HX_("apply",6e,85,3b,24), ::Dynamic(new _hx_Closure_0(f))));
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Mapping_Impl__obj,ofPlain,return )
+
+
+Mapping_Impl__obj::Mapping_Impl__obj()
+{
+}
+
+bool Mapping_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 7:
+ if (HX_FIELD_EQ(inName,"ofPlain") ) { outValue = ofPlain_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Mapping_Impl__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Mapping_Impl__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Mapping_Impl__obj::__mClass;
+
+static ::String Mapping_Impl__obj_sStaticFields[] = {
+ HX_("ofPlain",73,b5,f0,27),
+ ::String(null())
+};
+
+void Mapping_Impl__obj::__register()
+{
+ Mapping_Impl__obj _hx_dummy;
+ Mapping_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("tink.streams._Stream.Mapping_Impl_",68,46,e3,a6);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Mapping_Impl__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Mapping_Impl__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Mapping_Impl__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Mapping_Impl__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Mapping_Impl__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace tink
+} // end namespace streams
+} // end namespace _Stream
diff --git a/Sources/c_borogove/src/tink/url/_Portion/Portion_Impl_.cpp b/Sources/c_borogove/src/tink/url/_Portion/Portion_Impl_.cpp
new file mode 100644
index 0000000..46b8b53
--- /dev/null
+++ b/Sources/c_borogove/src/tink/url/_Portion/Portion_Impl_.cpp
@@ -0,0 +1,131 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_StringTools
+#include <StringTools.h>
+#endif
+#ifndef INCLUDED_tink_url__Portion_Portion_Impl_
+#include <tink/url/_Portion/Portion_Impl_.h>
+#endif
+
+HX_LOCAL_STACK_FRAME(_hx_pos_286a68bcdf9148f2_29_toString,"tink.url._Portion.Portion_Impl_","toString",0x0e57a43e,"tink.url._Portion.Portion_Impl_.toString","tink/url/Portion.hx",29,0x2f7775f4)
+HX_LOCAL_STACK_FRAME(_hx_pos_286a68bcdf9148f2_35_ofString,"tink.url._Portion.Portion_Impl_","ofString",0x7a1a3cda,"tink.url._Portion.Portion_Impl_.ofString","tink/url/Portion.hx",35,0x2f7775f4)
+namespace tink{
+namespace url{
+namespace _Portion{
+
+void Portion_Impl__obj::__construct() { }
+
+Dynamic Portion_Impl__obj::__CreateEmpty() { return new Portion_Impl__obj; }
+
+void *Portion_Impl__obj::_hx_vtable = 0;
+
+Dynamic Portion_Impl__obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< Portion_Impl__obj > _hx_result = new Portion_Impl__obj();
+ _hx_result->__construct();
+ return _hx_result;
+}
+
+bool Portion_Impl__obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x38058d4a;
+}
+
+::String Portion_Impl__obj::toString(::String this1){
+ HX_STACKFRAME(&_hx_pos_286a68bcdf9148f2_29_toString)
+HXDLIN( 29) if (::hx::IsNull( this1 )) {
+HXDLIN( 29) return null();
+ }
+ else {
+HXLINE( 31) try {
+ HX_STACK_CATCHABLE( ::Dynamic, 0);
+HXLINE( 31) return ::StringTools_obj::urlDecode(this1);
+ } catch( ::Dynamic _hx_e) {
+ if (_hx_e.IsClass< ::Dynamic >() ){
+ HX_STACK_BEGIN_CATCH
+ ::Dynamic _g = _hx_e;
+HXLINE( 32) {
+HXLINE( 32) null();
+ }
+HXDLIN( 32) return HX_("",00,00,00,00);
+ }
+ else {
+ HX_STACK_DO_THROW(_hx_e);
+ }
+ }
+ }
+HXLINE( 29) return null();
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Portion_Impl__obj,toString,return )
+
+::String Portion_Impl__obj::ofString(::String s){
+ HX_STACKFRAME(&_hx_pos_286a68bcdf9148f2_35_ofString)
+HXDLIN( 35) ::String v;
+HXDLIN( 35) if (::hx::IsNull( s )) {
+HXDLIN( 35) v = HX_("",00,00,00,00);
+ }
+ else {
+HXDLIN( 35) v = ::StringTools_obj::urlEncode(s);
+ }
+HXDLIN( 35) return v;
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC1(Portion_Impl__obj,ofString,return )
+
+
+Portion_Impl__obj::Portion_Impl__obj()
+{
+}
+
+bool Portion_Impl__obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 8:
+ if (HX_FIELD_EQ(inName,"toString") ) { outValue = toString_dyn(); return true; }
+ if (HX_FIELD_EQ(inName,"ofString") ) { outValue = ofString_dyn(); return true; }
+ }
+ return false;
+}
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo *Portion_Impl__obj_sMemberStorageInfo = 0;
+static ::hx::StaticInfo *Portion_Impl__obj_sStaticStorageInfo = 0;
+#endif
+
+::hx::Class Portion_Impl__obj::__mClass;
+
+static ::String Portion_Impl__obj_sStaticFields[] = {
+ HX_("toString",ac,d0,6e,38),
+ HX_("ofString",48,69,31,a4),
+ ::String(null())
+};
+
+void Portion_Impl__obj::__register()
+{
+ Portion_Impl__obj _hx_dummy;
+ Portion_Impl__obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("tink.url._Portion.Portion_Impl_",1c,47,5c,35);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &Portion_Impl__obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(Portion_Impl__obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(0 /* sMemberFields */);
+ __mClass->mCanCast = ::hx::TCanCast< Portion_Impl__obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = Portion_Impl__obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = Portion_Impl__obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace tink
+} // end namespace url
+} // end namespace _Portion
diff --git a/Sources/c_borogove/src/tink/url/_Query/QueryStringParser.cpp b/Sources/c_borogove/src/tink/url/_Query/QueryStringParser.cpp
new file mode 100644
index 0000000..b7e3401
--- /dev/null
+++ b/Sources/c_borogove/src/tink/url/_Query/QueryStringParser.cpp
@@ -0,0 +1,249 @@
+// Generated by Haxe 4.3.3
+#include <hxcpp.h>
+
+#ifndef INCLUDED_tink_core_NamedWith
+#include <tink/core/NamedWith.h>
+#endif
+#ifndef INCLUDED_tink_url__Portion_Portion_Impl_
+#include <tink/url/_Portion/Portion_Impl_.h>
+#endif
+#ifndef INCLUDED_tink_url__Query_QueryStringParser
+#include <tink/url/_Query/QueryStringParser.h>
+#endif
+
+HX_DEFINE_STACK_FRAME(_hx_pos_bde4a567013990e9_87_new,"tink.url._Query.QueryStringParser","new",0xa0bc4fe0,"tink.url._Query.QueryStringParser.new","tink/url/Query.hx",87,0xf3864d33)
+HX_LOCAL_STACK_FRAME(_hx_pos_bde4a567013990e9_98_hasNext,"tink.url._Query.QueryStringParser","hasNext",0xa3a4e4ed,"tink.url._Query.QueryStringParser.hasNext","tink/url/Query.hx",98,0xf3864d33)
+HX_LOCAL_STACK_FRAME(_hx_pos_bde4a567013990e9_100_next,"tink.url._Query.QueryStringParser","next",0x04099573,"tink.url._Query.QueryStringParser.next","tink/url/Query.hx",100,0xf3864d33)
+HX_LOCAL_STACK_FRAME(_hx_pos_bde4a567013990e9_118_trimmedSub,"tink.url._Query.QueryStringParser","trimmedSub",0x96b985b6,"tink.url._Query.QueryStringParser.trimmedSub","tink/url/Query.hx",118,0xf3864d33)
+namespace tink{
+namespace url{
+namespace _Query{
+
+void QueryStringParser_obj::__construct(::String s,::String sep,::String set,int pos){
+ HX_STACKFRAME(&_hx_pos_bde4a567013990e9_87_new)
+HXLINE( 88) ::String _hx_tmp;
+HXDLIN( 88) if (::hx::IsNull( s )) {
+HXLINE( 88) _hx_tmp = HX_("",00,00,00,00);
+ }
+ else {
+HXLINE( 88) _hx_tmp = s;
+ }
+HXDLIN( 88) this->s = _hx_tmp;
+HXLINE( 92) this->sep = sep;
+HXLINE( 93) this->set = set;
+HXLINE( 94) this->pos = pos;
+ }
+
+Dynamic QueryStringParser_obj::__CreateEmpty() { return new QueryStringParser_obj; }
+
+void *QueryStringParser_obj::_hx_vtable = 0;
+
+Dynamic QueryStringParser_obj::__Create(::hx::DynamicArray inArgs)
+{
+ ::hx::ObjectPtr< QueryStringParser_obj > _hx_result = new QueryStringParser_obj();
+ _hx_result->__construct(inArgs[0],inArgs[1],inArgs[2],inArgs[3]);
+ return _hx_result;
+}
+
+bool QueryStringParser_obj::_hx_isInstanceOf(int inClassId) {
+ return inClassId==(int)0x00000001 || inClassId==(int)0x78240256;
+}
+
+bool QueryStringParser_obj::hasNext(){
+ HX_STACKFRAME(&_hx_pos_bde4a567013990e9_98_hasNext)
+HXDLIN( 98) return (this->pos < this->s.length);
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(QueryStringParser_obj,hasNext,return )
+
+ ::tink::core::NamedWith QueryStringParser_obj::next(){
+ HX_GC_STACKFRAME(&_hx_pos_bde4a567013990e9_100_next)
+HXLINE( 101) int next = this->s.indexOf(this->sep,this->pos);
+HXLINE( 103) if ((next == -1)) {
+HXLINE( 104) next = this->s.length;
+ }
+HXLINE( 106) int split = this->s.indexOf(this->set,this->pos);
+HXLINE( 107) int start = this->pos;
+HXLINE( 109) this->pos = (next + this->sep.length);
+HXLINE( 112) bool _hx_tmp;
+HXDLIN( 112) if ((split != -1)) {
+HXLINE( 112) _hx_tmp = (split > next);
+ }
+ else {
+HXLINE( 112) _hx_tmp = true;
+ }
+HXDLIN( 112) if (_hx_tmp) {
+HXLINE( 113) ::String _hx_tmp1 = ::tink::url::_Portion::Portion_Impl__obj::toString(::tink::url::_Query::QueryStringParser_obj::trimmedSub(this->s,start,next));
+HXDLIN( 113) return ::tink::core::NamedWith_obj::__alloc( HX_CTX ,_hx_tmp1,::tink::url::_Portion::Portion_Impl__obj::ofString(HX_("",00,00,00,00)));
+ }
+ else {
+HXLINE( 115) ::String _hx_tmp2 = ::tink::url::_Portion::Portion_Impl__obj::toString(::tink::url::_Query::QueryStringParser_obj::trimmedSub(this->s,start,split));
+HXDLIN( 115) return ::tink::core::NamedWith_obj::__alloc( HX_CTX ,_hx_tmp2,::tink::url::_Query::QueryStringParser_obj::trimmedSub(this->s,(split + this->set.length),next));
+ }
+HXLINE( 112) return null();
+ }
+
+
+HX_DEFINE_DYNAMIC_FUNC0(QueryStringParser_obj,next,return )
+
+::String QueryStringParser_obj::trimmedSub(::String s,int start,int end){
+ HX_STACKFRAME(&_hx_pos_bde4a567013990e9_118_trimmedSub)
+HXLINE( 120) if ((start >= s.length)) {
+HXLINE( 120) return HX_("",00,00,00,00);
+ }
+HXLINE( 122) while((s.cca(start) < 33)){
+HXLINE( 123) start = (start + 1);
+ }
+HXLINE( 125) if ((end < (s.length - 1))) {
+HXLINE( 126) while((s.cca((end - 1)) < 33)){
+HXLINE( 127) end = (end - 1);
+ }
+ }
+HXLINE( 129) return s.substring(start,end);
+ }
+
+
+STATIC_HX_DEFINE_DYNAMIC_FUNC3(QueryStringParser_obj,trimmedSub,return )
+
+
+::hx::ObjectPtr< QueryStringParser_obj > QueryStringParser_obj::__new(::String s,::String sep,::String set,int pos) {
+ ::hx::ObjectPtr< QueryStringParser_obj > __this = new QueryStringParser_obj();
+ __this->__construct(s,sep,set,pos);
+ return __this;
+}
+
+::hx::ObjectPtr< QueryStringParser_obj > QueryStringParser_obj::__alloc(::hx::Ctx *_hx_ctx,::String s,::String sep,::String set,int pos) {
+ QueryStringParser_obj *__this = (QueryStringParser_obj*)(::hx::Ctx::alloc(_hx_ctx, sizeof(QueryStringParser_obj), true, "tink.url._Query.QueryStringParser"));
+ *(void **)__this = QueryStringParser_obj::_hx_vtable;
+ __this->__construct(s,sep,set,pos);
+ return __this;
+}
+
+QueryStringParser_obj::QueryStringParser_obj()
+{
+}
+
+void QueryStringParser_obj::__Mark(HX_MARK_PARAMS)
+{
+ HX_MARK_BEGIN_CLASS(QueryStringParser);
+ HX_MARK_MEMBER_NAME(s,"s");
+ HX_MARK_MEMBER_NAME(sep,"sep");
+ HX_MARK_MEMBER_NAME(set,"set");
+ HX_MARK_MEMBER_NAME(pos,"pos");
+ HX_MARK_END_CLASS();
+}
+
+void QueryStringParser_obj::__Visit(HX_VISIT_PARAMS)
+{
+ HX_VISIT_MEMBER_NAME(s,"s");
+ HX_VISIT_MEMBER_NAME(sep,"sep");
+ HX_VISIT_MEMBER_NAME(set,"set");
+ HX_VISIT_MEMBER_NAME(pos,"pos");
+}
+
+::hx::Val QueryStringParser_obj::__Field(const ::String &inName,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"s") ) { return ::hx::Val( s ); }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sep") ) { return ::hx::Val( sep ); }
+ if (HX_FIELD_EQ(inName,"set") ) { return ::hx::Val( set ); }
+ if (HX_FIELD_EQ(inName,"pos") ) { return ::hx::Val( pos ); }
+ break;
+ case 4:
+ if (HX_FIELD_EQ(inName,"next") ) { return ::hx::Val( next_dyn() ); }
+ break;
+ case 7:
+ if (HX_FIELD_EQ(inName,"hasNext") ) { return ::hx::Val( hasNext_dyn() ); }
+ }
+ return super::__Field(inName,inCallProp);
+}
+
+bool QueryStringParser_obj::__GetStatic(const ::String &inName, Dynamic &outValue, ::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 10:
+ if (HX_FIELD_EQ(inName,"trimmedSub") ) { outValue = trimmedSub_dyn(); return true; }
+ }
+ return false;
+}
+
+::hx::Val QueryStringParser_obj::__SetField(const ::String &inName,const ::hx::Val &inValue,::hx::PropertyAccess inCallProp)
+{
+ switch(inName.length) {
+ case 1:
+ if (HX_FIELD_EQ(inName,"s") ) { s=inValue.Cast< ::String >(); return inValue; }
+ break;
+ case 3:
+ if (HX_FIELD_EQ(inName,"sep") ) { sep=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"set") ) { set=inValue.Cast< ::String >(); return inValue; }
+ if (HX_FIELD_EQ(inName,"pos") ) { pos=inValue.Cast< int >(); return inValue; }
+ }
+ return super::__SetField(inName,inValue,inCallProp);
+}
+
+void QueryStringParser_obj::__GetFields(Array< ::String> &outFields)
+{
+ outFields->push(HX_("s",73,00,00,00));
+ outFields->push(HX_("sep",9e,9b,57,00));
+ outFields->push(HX_("set",a2,9b,57,00));
+ outFields->push(HX_("pos",94,5d,55,00));
+ super::__GetFields(outFields);
+};
+
+#ifdef HXCPP_SCRIPTABLE
+static ::hx::StorageInfo QueryStringParser_obj_sMemberStorageInfo[] = {
+ {::hx::fsString,(int)offsetof(QueryStringParser_obj,s),HX_("s",73,00,00,00)},
+ {::hx::fsString,(int)offsetof(QueryStringParser_obj,sep),HX_("sep",9e,9b,57,00)},
+ {::hx::fsString,(int)offsetof(QueryStringParser_obj,set),HX_("set",a2,9b,57,00)},
+ {::hx::fsInt,(int)offsetof(QueryStringParser_obj,pos),HX_("pos",94,5d,55,00)},
+ { ::hx::fsUnknown, 0, null()}
+};
+static ::hx::StaticInfo *QueryStringParser_obj_sStaticStorageInfo = 0;
+#endif
+
+static ::String QueryStringParser_obj_sMemberFields[] = {
+ HX_("s",73,00,00,00),
+ HX_("sep",9e,9b,57,00),
+ HX_("set",a2,9b,57,00),
+ HX_("pos",94,5d,55,00),
+ HX_("hasNext",6d,a5,46,18),
+ HX_("next",f3,84,02,49),
+ ::String(null()) };
+
+::hx::Class QueryStringParser_obj::__mClass;
+
+static ::String QueryStringParser_obj_sStaticFields[] = {
+ HX_("trimmedSub",36,15,4b,3a),
+ ::String(null())
+};
+
+void QueryStringParser_obj::__register()
+{
+ QueryStringParser_obj _hx_dummy;
+ QueryStringParser_obj::_hx_vtable = *(void **)&_hx_dummy;
+ ::hx::Static(__mClass) = new ::hx::Class_obj();
+ __mClass->mName = HX_("tink.url._Query.QueryStringParser",ee,1f,27,ed);
+ __mClass->mSuper = &super::__SGetClass();
+ __mClass->mConstructEmpty = &__CreateEmpty;
+ __mClass->mConstructArgs = &__Create;
+ __mClass->mGetStaticField = &QueryStringParser_obj::__GetStatic;
+ __mClass->mSetStaticField = &::hx::Class_obj::SetNoStaticField;
+ __mClass->mStatics = ::hx::Class_obj::dupFunctions(QueryStringParser_obj_sStaticFields);
+ __mClass->mMembers = ::hx::Class_obj::dupFunctions(QueryStringParser_obj_sMemberFields);
+ __mClass->mCanCast = ::hx::TCanCast< QueryStringParser_obj >;
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mMemberStorageInfo = QueryStringParser_obj_sMemberStorageInfo;
+#endif
+#ifdef HXCPP_SCRIPTABLE
+ __mClass->mStaticStorageInfo = QueryStringParser_obj_sStaticStorageInfo;
+#endif
+ ::hx::_hx_RegisterClass(__mClass->mName, __mClass);
+}
+
+} // end namespace tink
+} // end namespace url
+} // end namespace _Query